Open
Description
Hi,
issue may be related to: #4039, but erros I'm facing are a bit different.
I'm facing given error during spanner migration using flyway.
both spanner emulator and flyway are within docker containers inside compose. Everything was working fine in past.
FLYWAY_VERSION=11.3.4
docker image with flyway has java:21
db-1 | DEBUG: Performing operation in non-transactional context.
db-1 | DEBUG: Memory usage: 69 of 148M
db-1 | ERROR: Unexpected error
db-1 | com.google.cloud.spanner.SpannerException: INTERNAL: com.google.api.gax.rpc.InternalException: io.grpc.StatusRuntimeException: INTERNAL: Panic! This is a bug!
db-1 | at com.google.cloud.spanner.SpannerExceptionFactory.newSpannerExceptionPreformatted(SpannerExceptionFactory.java:302)
db-1 | at com.google.cloud.spanner.SpannerExceptionFactory.newSpannerExceptionPreformatted(SpannerExceptionFactory.java:308)
db-1 | at com.google.cloud.spanner.SpannerExceptionFactory.newSpannerException(SpannerExceptionFactory.java:170)
db-1 | at com.google.cloud.spanner.SpannerExceptionFactory.newSpannerException(SpannerExceptionFactory.java:110)
db-1 | at com.google.cloud.spanner.SessionPool$WaiterFuture.pollUninterruptiblyWithTimeout(SessionPool.java:1953)
db-1 | at com.google.cloud.spanner.SessionPool$WaiterFuture.get(SessionPool.java:1899)
db-1 | at com.google.cloud.spanner.SessionPool$WaiterFuture.get(SessionPool.java:1874)
db-1 | at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:67)
db-1 | at com.google.cloud.spanner.SessionPool$PooledSessionFuture.get(SessionPool.java:1564)
db-1 | at com.google.cloud.spanner.SessionPool$PooledSessionFuture.get(SessionPool.java:1540)
db-1 | at com.google.cloud.spanner.SessionPool.getDialect(SessionPool.java:2530)
db-1 | at com.google.cloud.spanner.DatabaseClientImpl.getDialect(DatabaseClientImpl.java:99)
db-1 | at com.google.cloud.spanner.connection.ConnectionImpl.getDialect(ConnectionImpl.java:485)
db-1 | at com.google.cloud.spanner.jdbc.AbstractJdbcConnection.getDialect(AbstractJdbcConnection.java:88)
db-1 | at com.google.cloud.spanner.jdbc.JdbcConnection.getDefaultCatalog(JdbcConnection.java:499)
db-1 | at com.google.cloud.spanner.jdbc.JdbcConnection.getCatalog(JdbcConnection.java:494)
db-1 | at org.flywaydb.core.internal.database.base.Database.doGetCatalog(Database.java:963)
db-1 | at org.flywaydb.core.internal.database.base.Database.getCatalog(Database.java:956)
db-1 | at org.flywaydb.core.internal.parser.ParsingContext.populate(ParsingContext.java:854)
db-1 | at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:961)
db-1 | at org.flywaydb.core.Flyway.migrate(Flyway.java:954)
db-1 | at org.flywaydb.commandline.Main.executeOperation(Main.java:1049)
db-1 | at org.flywaydb.commandline.Main.executeFlyway(Main.java:955)
db-1 | at org.flywaydb.commandline.Main.main(Main.java:894)
relevant part of docker compose
db:
build:
context: REDACTED
dockerfile: REDACTED
command: ["migrate", "-outputType=json", "-X"]
environment:
FLYWAY_URL: "jdbc:cloudspanner://spanner:9010/projects/${TEST_SPANNER_PROJECT_ID}/instances/${TEST_SPANNER_INSTANCE_ID}/databases/${TEST_SPANNER_DATABASE_ID}?usePlainText=true"
SPANNER_EMULATOR_HOST: "spanner:9010"
SPANNER_EMULATOR_URL: "http://spanner:9010/"