YuriyGavrilov opened a new issue, #159:
URL: https://github.com/apache/arrow-java/issues/159

   ### Describe the enhancement requested
   
   There is an error with jdbc arrow driver in Tableau. Hope somebody find 
solution to fix it. or maybe addd necessary dialect to arrow  
   
   ```
   2023-10-12 23:06:37.332 +0300 (,,,,3,23) grpc-default-executor-3 : ERROR 
com.tableau.connect.util.GrpcServiceHelper - Failed in getDialectProperties.
   java.lang.NullPointerException: null
        at 
org.apache.arrow.driver.jdbc.ArrowDatabaseMetadata.getSqlInfoEnumOptionAndCacheIfCacheIsEmpty(ArrowDatabaseMetadata.java:758)
 ~[?:?]
        at 
org.apache.arrow.driver.jdbc.ArrowDatabaseMetadata.supportsANSI92EntryLevelSQL(ArrowDatabaseMetadata.java:343)
 ~[?:?]
        at 
com.tableausoftware.jdbc.JDBCProtocolImpl.getSQL92Level(JDBCProtocolImpl.java:1038)
 ~[jdbcserver.jar:20232.0.5]
        at 
com.tableausoftware.jdbc.JDBCProtocolImpl.getDialectPropertiesImpl(JDBCProtocolImpl.java:1168)
 ~[jdbcserver.jar:20232.0.5]
        at 
com.tableausoftware.jdbc.JDBCProtocolImpl.getDialectProperties(JDBCProtocolImpl.java:1189)
 ~[jdbcserver.jar:20232.0.5]
        at 
com.tableau.connect.service.ProtocolService.getDialectProperties(ProtocolService.java:260)
 ~[jdbcserver.jar:20232.0.5]
        at 
com.tableau.connect.grpc.GrpcProtocolService.lambda$getDialectProperties$15(GrpcProtocolService.java:220)
 ~[jdbcserver.jar:20232.0.5]
        at 
com.tableau.connect.grpc.GrpcProtocolService.wrap(GrpcProtocolService.java:280) 
~[jdbcserver.jar:20232.0.5]
        at 
com.tableau.connect.grpc.GrpcProtocolService.getDialectProperties(GrpcProtocolService.java:219)
 ~[jdbcserver.jar:20232.0.5]
        at 
com.tableau.connect.generated.ProtocolServiceGrpc$MethodHandlers.invoke(ProtocolServiceGrpc.java:1536)
 ~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
 ~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
 ~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
 ~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40)
 ~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86) 
~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:354)
 ~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
 ~[jdbcserver.jar:20232.0.5]
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) 
~[jdbcserver.jar:20232.0.5]
        at 
io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) 
~[jdbcserver.jar:20232.0.5]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
~[?:?]
        at java.lang.Thread.run(Unknown Source) ~[?:?]
   2023-10-12 23:06:37.332 +0300 (,,,,3,23) grpc-default-executor-3 : INFO  
com.tableau.connect.grpc.GrpcProtocolService - End local request 23 
/getDialectProperties.
   2023-10-12 23:06:37.334 +0300 (,,,,3,24) grpc-default-executor-3 : INFO  
com.tableau.connect.grpc.GrpcProtocolService - Start local request 24 
/isConnected.
   2023-10-12 23:06:37.334 +0300 (,,,,3,24) grpc-default-executor-3 : INFO  
com.tableau.connect.grpc.GrpcProtocolService - End local request 24 
/isConnected.
   2023-10-12 23:06:37.335 +0300 (,,,,3,25) grpc-default-executor-3 : INFO  
com.tableau.connect.grpc.GrpcProtocolService - Start local request 25 
/closeProtocol.
   2023-10-12 23:06:37.335 +0300 (,,,,3,25) grpc-default-executor-3 : INFO  
com.tableausoftware.jdbc.JDBCProtocolImpl - Closing connection 3.
   2023-10-12 23:06:37.337 +0300 (,,,,3,25) grpc-default-executor-3 : INFO  
com.tableau.connect.grpc.GrpcProtocolService - End local request 25 
/closeProtocol.
   
   ```
   
   There are also some warning messeges at 
`cfjd.io.netty.util.internal.ReflectionUtil `
   
   ```
   WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will 
impact performance.
   2023-10-12T21:59:50.037127 Protocol Server starting. 
   WARNING: An illegal reflective access operation has occurred
   WARNING: Illegal reflective access by 
cfjd.io.netty.util.internal.ReflectionUtil 
(file:/Users/yuriygavrilov/Library/Tableau/Drivers/flight-sql-jdbc-driver-13.0.0.jar)
 to constructor java.nio.DirectByteBuffer(long,int)
   WARNING: Please consider reporting this to the maintainers of 
cfjd.io.netty.util.internal.ReflectionUtil
   WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective access operations
   WARNING: All illegal access operations will be denied in a future release
   
   ```
   
   ### Component(s)
   
   Java
   
   
   To reproduce this error try to start arrow server with:
   
   ```
   docker run --name flight-sql \
              --detach \
              --rm \
              --tty \
              --init \
              --publish 31337:31337 \
              --env FLIGHT_PASSWORD="flight_password" \
              --pull missing \
              --mount type=bind,source=$(pwd),target=/opt/flight_sql/data \
              --env DATABASE_FILE_NAME="tpch_sf1.duckdb" \
              voltrondata/flight-sql:latest
   ```
   
   Add jdbc driver to tableau driver from 
`https://repo.maven.apache.org/maven2/org/apache/arrow/arrow-jdbc/13.0.0/` to 
local folder like 
`/Users/{user}/Library/Tableau/Drivers/flight-sql-jdbc-driver-13.0.0.jar`
   
   Try to connect with this URL 
`jdbc:arrow-flight-sql://localhost:31337?useEncryption=true&user=flight_username&password=flight_password&disableCertificateVerification=true
   `
   
   This works fine in dbeaver ...
   
   <img width="561" alt="Снимок экрана 2023-10-13 в 00 26 51" 
src="https://github.com/apache/arrow/assets/44679014/29be8b70-0243-4068-b227-1e1521138a67";>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to