hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Albert Lee (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-17906) When a huge amount of data writing to hbase through thrift2, there will be a deadlock error.
Date Tue, 18 Apr 2017 15:56:42 GMT

    [ 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: albertlee166@gmail.com):
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)

Mime
View raw message