[
https://issues.apache.org/jira/browse/DRILL-4876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15556735#comment-15556735
]
Sorabh Hamirwasia commented on DRILL-4876:
------------------------------------------
Hi Takuya,
Thanks for raising this issue. Today the way JDBC driver works is that once it
looses connection with the drillbit it comes to know about it by the next query
which is executed and fails. The application has to reconnect using new JDBC
connection to be able to execute new queries. Part of the reason is we don't
store any session info for each connection which is needed in cases like - "If
an application set's a schema before executing any query". So just reconnecting
will not help here as we will loose all the session specific information.
Definitely that would be a great enhancement which we can target for future but
unfortunately it's not supported today.
PFA a small test which I wrote to demonstrate the flow or usage using JDBC
connection. Let me know if you have any other question.
Thanks,
Sorabh
> Remain disconnected connection
> ------------------------------
>
> Key: DRILL-4876
> URL: https://issues.apache.org/jira/browse/DRILL-4876
> Project: Apache Drill
> Issue Type: Bug
> Components: Client - JDBC
> Affects Versions: 1.6.0, 1.7.0, 1.8.0
> Environment: CentOS 7
> Reporter: Takuya Kojima
> Assignee: Sorabh Hamirwasia
> Priority: Minor
> Attachments: 1_normal.png, 2_after_restart.png,
> 3_try_to_connect_after_restart.png,
> 4_disconnected_after_minEvictableIdleTimeMillis.png,
> 5_after_disconnected.png, DrillClientConnectionResetTest.java,
> drill-connection-pool.txt
>
>
> I'm using drill via Java Application on Tomcat with JDBC driver.
> I found that disconnected connection is not released when restart a drillbit.
> Drillbit is restarted, but JDBC's connection keeps to try to connect the
> connection which started before restart.
> Expected behavior is its connection release and reconnect when drillbit is
> restarted, but as a matter of fact, the connection will be released after
> elapsed time of "minEvictableIdleTimeMillis" setting.
> As a result, the application can't connect in the meantime despite drillbit
> is active.
> I thought this is not major issue, but Postgres and Vertica's JDBC driver
> works well in the same situation. I spend the much time to identify the
> cause, so I create a new issue of this.
> The attached is log and JMX's monitor graph with 1.6.0's JDBC driver, but I
> also get it with 1.7.0 and 1.8.0.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)