Почему драйвер JDBC Teradata блокируется при чтении сокета - PullRequest
0 голосов
/ 21 сентября 2018

Я использую JVM, которая подключается к Teradata через драйвер JDBC и выполняет несколько запросов, которые дают очень маленькие результаты.Этот процесс время от времени застревает при попытке прочитать сокет.Это происходит каждые 2-3 запроса, после которых процесс застревает.Вот пример трассировки стека, который я вижу после того, как это произошло:

at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF.read(TDNetworkIOIF.java:747)
at com.teradata.jdbc.jdbc_4.io.TDPacketStream.readStream(TDPacketStream.java:800)
at com.teradata.jdbc.jdbc_4.statemachine.StatementReceiveState.action(StatementReceiveState.java:141)
at com.teradata.jdbc.jdbc_4.statemachine.StatementController.runBody(StatementController.java:137)
at com.teradata.jdbc.jdbc_4.statemachine.StatementController.run(StatementController.java:128)
at com.teradata.jdbc.jdbc_4.TDStatement.closeRequest(TDStatement.java:551)
- locked <0x000000076fc747a8> (a com.teradata.jdbc.jdk6.JDK6_SQL_Statement)
at com.teradata.jdbc.jdbc_4.TDStatement.internalClose(TDStatement.java:508)
- locked <0x000000076fc747a8> (a com.teradata.jdbc.jdk6.JDK6_SQL_Statement)
at com.teradata.jdbc.jdbc_4.TDStatement.close(TDStatement.java:452)
- locked <0x000000076fc747a8> (a com.teradata.jdbc.jdk6.JDK6_SQL_Statement)

Тот же код отлично работает, когда я запускаю его с моего ноутбука MacOS.Это заставляет меня думать, что это на стороне клиента или, возможно, проблема в сети, а не на стороне сервера.Я пытался получить дамп TCP, но не нашел ничего подозрительного, что бросилось бы в глаза.Я понимаю, что это не выглядит достаточно информации, чтобы получить четкий ответ.Мой вопрос заключается в том, что я должен изучить в первую очередь, чтобы исследовать эту проблему?Вот некоторые подробности об окружающей среде.

OS: Ubuntu 16.04.4 LTS xenial
JVM: Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
JDBC: Teradata JDBC Driver 16.20.00.08

Буду признателен за любые идеи.

...