[ 
https://issues.apache.org/jira/browse/TAJO-176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Keuntae Park updated TAJO-176:
------------------------------

    Attachment: TAJO-176_3.patch

Sorry for the ambiguous explanation, Jihoon

I added more explanation:
1. At close() of Connection object in JDBC Driver, it should release all the 
resource that the object has

2. Connection uses TajoClient object, which creates netty client object through 
RpcConnectionPool to connect TajoMaster, QueryMaster, and Worker. After the 
request completion, however, netty connection is still active.

3. To solve the above problem(2), close() of Connection calls close() of 
TajoClient, which again calls close() of RpcConnectionPool to release all the 
resource

4. Problem of the above approach(3) is that RpcConnectionPool is implemented as 
singleton and multiple TajoClients may share it. 
So, instead of calling releaseConnection() of RpcConnectionPool, calling  
closeConnection(), which avoids sharing problem.

5. for 4, withRetries() method of ServerCallable is also changed to have two 
options, release or close

6. It may be better that TajoClient creates netty client by itself instead of 
using RpcConnectionPool

> Implement Tajo JDBC Driver
> --------------------------
>
>                 Key: TAJO-176
>                 URL: https://issues.apache.org/jira/browse/TAJO-176
>             Project: Tajo
>          Issue Type: New Feature
>          Components: client
>            Reporter: Hyunsik Choi
>            Assignee: Keuntae Park
>             Fix For: 0.8-incubating
>
>         Attachments: TAJO-176.patch, TAJO-176_2.patch, TAJO-176_3.patch
>
>
> Tajo is required to be integrated with legacy BI or OLAP tools. For this, 
> Tajo should provide a JDBC driver.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to