snowflakedb / snowflake-jdbc

Snowflake JDBC Driver
Apache License 2.0
176 stars 167 forks source link

ERROR: Unable to determine the original schema for the connection #1181

Closed KarthikRajashekaran closed 1 year ago

KarthikRajashekaran commented 2 years ago

Trying to run Flyway Community Edition 9.6.0 by Redgate to deploy the DDL script to Snowflake DB in MacOS

Below is the error w.r.t Snowflake JDBC

QUOTED_IDENTIFIERS_IGNORE_CASE option is false
A new version of Flyway is available
Upgrade to Flyway 9.7.0: https://rd.gt/2X0gakb
Flyway Community Edition 9.6.0 by Redgate
See what's new here: https://flywaydb.org/documentation/learnmore/releaseNotes#9.6.0

Database: jdbc:snowflake://avalara_dev.snowflakecomputing.com:443/ (Snowflake 6.35)
QUOTED_IDENTIFIERS_IGNORE_CASE option is false
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Nov 02, 2022 3:28:38 PM net.snowflake.client.jdbc.internal.apache.arrow.memory.BaseAllocator <clinit>
INFO: Debug mode disabled.
Nov 02, 2022 3:28:38 PM net.snowflake.client.jdbc.internal.apache.arrow.memory.DefaultAllocationManagerOption getDefaultAllocationManagerFactory
INFO: allocation manager type not specified, using netty as the default type
Nov 02, 2022 3:28:38 PM net.snowflake.client.jdbc.internal.apache.arrow.memory.CheckAllocator reportResult
INFO: Using DefaultAllocationManager at memory/DefaultAllocationManagerFactory.class
Nov 02, 2022 3:28:38 PM net.snowflake.client.core.SFStatement executeQueryInternal
SEVERE: Exception creating result
java.lang.ExceptionInInitializerError
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.UnsafeAllocationManager.<clinit>(UnsafeAllocationManager.java:27)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.DefaultAllocationManagerFactory.<clinit>(DefaultAllocationManagerFactory.java:26)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:390)
    at java.base/java.lang.Class.forName(Class.java:381)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.DefaultAllocationManagerOption.getFactory(DefaultAllocationManagerOption.java:111)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.DefaultAllocationManagerOption.getDefaultAllocationManagerFactory(DefaultAllocationManagerOption.java:101)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.BaseAllocator$Config.getAllocationManagerFactory(BaseAllocator.java:735)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.ImmutableConfig.access$801(ImmutableConfig.java:24)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.ImmutableConfig$InitShim.getAllocationManagerFactory(ImmutableConfig.java:83)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.ImmutableConfig.<init>(ImmutableConfig.java:47)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.ImmutableConfig.<init>(ImmutableConfig.java:24)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.ImmutableConfig$Builder.build(ImmutableConfig.java:485)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.BaseAllocator.<clinit>(BaseAllocator.java:63)
    at net.snowflake.client.jdbc.SnowflakeResultSetSerializableV1.create(SnowflakeResultSetSerializableV1.java:577)
    at net.snowflake.client.jdbc.SnowflakeResultSetSerializableV1.create(SnowflakeResultSetSerializableV1.java:489)
    at net.snowflake.client.core.SFResultSetFactory.getResultSet(SFResultSetFactory.java:29)
    at net.snowflake.client.core.SFStatement.executeQueryInternal(SFStatement.java:218)
    at net.snowflake.client.core.SFStatement.executeQuery(SFStatement.java:133)
    at net.snowflake.client.core.SFStatement.execute(SFStatement.java:746)
    at net.snowflake.client.core.SFStatement.execute(SFStatement.java:656)
    at net.snowflake.client.jdbc.SnowflakeStatementV1.executeQueryInternal(SnowflakeStatementV1.java:236)
    at net.snowflake.client.jdbc.SnowflakePreparedStatementV1.executeQuery(SnowflakePreparedStatementV1.java:118)
    at org.flywaydb.core.internal.jdbc.JdbcTemplate.queryForString(JdbcTemplate.java:158)
    at org.flywaydb.core.internal.database.snowflake.SnowflakeConnection.getCurrentSchemaNameOrSearchPath(SnowflakeConnection.java:51)
    at org.flywaydb.core.internal.database.base.Connection.<init>(Connection.java:49)
    at org.flywaydb.core.internal.database.snowflake.SnowflakeConnection.<init>(SnowflakeConnection.java:35)
    at org.flywaydb.core.internal.database.snowflake.SnowflakeDatabase.doGetConnection(SnowflakeDatabase.java:63)
    at org.flywaydb.core.internal.database.snowflake.SnowflakeDatabase.doGetConnection(SnowflakeDatabase.java:32)
    at org.flywaydb.core.internal.database.base.Database.getConnection(Database.java:88)
    at org.flywaydb.core.internal.database.base.Database.getMainConnection(Database.java:280)
    at org.flywaydb.core.internal.schemahistory.SchemaHistoryFactory.prepareSchemas(SchemaHistoryFactory.java:62)
    at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:178)
    at org.flywaydb.core.Flyway.migrate(Flyway.java:128)
    at org.flywaydb.commandline.Main.executeOperation(Main.java:275)
    at org.flywaydb.commandline.Main.main(Main.java:179)
Caused by: java.lang.RuntimeException: Failed to initialize MemoryUtil.
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.util.MemoryUtil.<clinit>(MemoryUtil.java:139)
    ... 36 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field long java.nio.Buffer.address accessible: module java.base does not "opens java.nio" to unnamed module @25fb0107
    at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:387)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:363)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:311)
    at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:180)
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:174)
    at net.snowflake.client.jdbc.internal.apache.arrow.memory.util.MemoryUtil.<clinit>(MemoryUtil.java:87)
    ... 36 more

ERROR: Unable to determine the original schema for the connection
----------------------------------------------------------
SQL State  : XX000
Error Code : 200001
Message    : JDBC driver internal error: exception creating result java.lang.ExceptionInInitializerError at net.snowflake.client.jdbc.internal.apache.arrow.memory.UnsafeAllocationManager.<clinit>(UnsafeAllocationManager.java:27).

Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: JDBC driver internal error: exception creating result java.lang.ExceptionInInitializerError at net.snowflake.client.jdbc.internal.apache.arrow.memory.UnsafeAllocationManager.<clinit>(UnsafeAllocationManager.java:27).
sfc-gh-igarish commented 1 year ago

Please track by similar issue https://github.com/snowflakedb/snowflake-jdbc/issues/1211. So closing this one.