JDBC Driver support for OpenJDK 17

dprutean
New Contributor III

Connecting to Databricks using OpenJDK 17 I got the exception below. Are there any plans to fix the driver for OpenJDK17?

java.sql.SQLException: [Databricks][DatabricksJDBCDriver](500540) Error caught in BackgroundFetcher. Foreground thread ID: 44. Background thread ID: 46. Error caught: null.

 at com.databricks.client.hivecommon.dataengine.BackgroundFetcher.run(Unknown Source)

 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)

 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

com.databricks.client.support.exceptions.GeneralException: [Databricks][DatabricksJDBCDriver](500540) Error caught in BackgroundFetcher. Foreground thread ID: 44. Background thread ID: 46. Error caught: null.

 at com.databricks.client.hivecommon.dataengine.BackgroundFetcher.run(Unknown Source)

 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)

 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

java.lang.ExceptionInInitializerError

 at com.databricks.client.jdbc42.internal.apache.arrow.memory.ArrowBuf.getDirectBuffer(ArrowBuf.java:228)

 at com.databricks.client.jdbc42.internal.apache.arrow.memory.ArrowBuf.nioBuffer(ArrowBuf.java:223)

 at com.databricks.client.jdbc42.internal.apache.arrow.vector.ipc.ReadChannel.readFully(ReadChannel.java:87)

 at com.databricks.client.jdbc42.internal.apache.arrow.vector.ipc.message.MessageSerializer.readMessageBody(MessageSerializer.java:727)

 at com.databricks.client.jdbc42.internal.apache.arrow.vector.ipc.message.MessageSerializer.deserializeRecordBatch(MessageSerializer.java:363)

 at com.databricks.client.spark.arrow.ArrowBuffer.deserializeBatch(Unknown Source)

 at com.databricks.client.spark.arrow.ArrowBuffer.handleInitializeBuffer(Unknown Source)

 at com.databricks.client.hivecommon.api.HiveServer2BaseBuffer.initializeBuffer(Unknown Source)

 at com.databricks.client.hivecommon.api.RowsetBuffer.initializeBuffer(Unknown Source)

 at com.databricks.client.hivecommon.api.HS2Client.getRowSetInformation(Unknown Source)

 at com.databricks.client.hivecommon.api.HS2Client.fetchFromServer(Unknown Source)

 at com.databricks.client.spark.jdbc.DowloadableFetchClient.fetchNRows(Unknown Source)

 at com.databricks.client.hivecommon.api.HS2Client.fetchRows(Unknown Source)

 at com.databricks.client.hivecommon.dataengine.BackgroundFetcher.run(Unknown Source)

 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)

 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

 at java.base/java.lang.Thread.run(Thread.java:833)