[ 
https://issues.apache.org/jira/browse/HBASE-17906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15972391#comment-15972391
 ] 

Albert Lee edited comment on HBASE-17906 at 4/18/17 3:56 PM:
-------------------------------------------------------------

hbase-thrift-17906-ForRecurr.zip is made a little change of 
hbase-examples/src/main/python/thrift2 for recurring the problem. 
Use the 'DemoClient.py' which in this zip and write data through thrift2 
server. When the python run more than 'hbase.thrift.connection.max-idletime', 
all connection to server will be interrupted, then thrift2 server did not work 
for a while and throw "hbase.ttypes.TIOError: TIOError(_message='Failed 1 
action: IOException: 1 time, servers with issues: null location" to 
DemoClient.py.

The problem is because when get table from HTablePools in 
ThriftHBaseServiceHandler.java, it never refresh the connection which in  
connectionCache. Until 'hbase.thrift.connection.max-idletime' come, 
connectionCache begin to clean connections which not refreshed. Then the 
problem raise.

Problems appeared in the version 0.98. I will test this problem whether exists 
in branch 1+ or master.

And sorry about the issue title. It is not a deadlock, it just because 
connection does not refresh when getTable. I added patch at the beginning of 
this year, mixed is up with another thing.


was (Author: [email protected]):
hbase-thrift-17906-ForRecurr.zip is made a little change of 
hbase-examples/src/main/python/thrift2 for recurring the problem. 
Use the 'DemoClient.py' which in this zip and write data through thrift2 
server. When the python run more than 'hbase.thrift.connection.max-idletime', 
all connection to server will be interrupted, then thrift2 server did not work 
for a while and throw "hbase.ttypes.TIOError: TIOError(_message='Failed 1 
action: IOException: 1 time, servers with issues: null location" to 
DemoClient.py.

The problem is because when get table from HTablePools in 
ThriftHBaseServiceHandler.java, it never refresh the connection which in  
connectionCache. Until 'hbase.thrift.connection.max-idletime' come, 
connectionCache begin to clean connections which not refreshed. Then the 
problem raise.

Problems appeared in the version 0.98. I will test this problem whether exists 
in branch 1+ or master.

And sorry about the issue title. It is not a deadlock, it just because 
connection does refresh when getTable.

> When a huge amount of data writing to hbase through thrift2, there will be a 
> deadlock error.
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-17906
>                 URL: https://issues.apache.org/jira/browse/HBASE-17906
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.98.21, 0.98.22, 0.98.23, 0.98.24, 0.98.25
>         Environment: hadoop 2.5.2, hbase 0.98.20 jdk1.8.0_77
>            Reporter: Albert Lee
>              Labels: patch
>             Fix For: 0.98.21, 0.98.22, 0.98.23, 0.98.24, 0.98.25
>
>         Attachments: HBASE-17906.branch-0.98.001.patch, 
> HBASE-17906.branch-0.98.002.patch, HBASE-17906.master.001.patch, 
> HBASE-17906.master.002.patch, hbase-thrift-17906-ForRecurr.zip
>
>
> When a huge amount of data writing to hbase through thrift2, there will be a 
> deadlock error.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to