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

Vladimir Rodionov commented on HBASE-14196:
-------------------------------------------

[~stack] The original issue was related to a usage of ThreadLocalCache for 
Table instances in Thrift server. If connection is closed due to inactivity, 
all associated table instances become invalid. Your issue looks similar I would 
check ThriftServerRunner if it uses ThreadLocal to cache tables, if - yes, then 
try this patch. 

To reproduce the issue, you have to set Thrift connection idle timeout to a 
more comfortable value than 10min and run sum thrift client against, then wait 
for little bit longer than timeout and continue test - should fail.  

> Thrift server idle connection timeout issue
> -------------------------------------------
>
>                 Key: HBASE-14196
>                 URL: https://issues.apache.org/jira/browse/HBASE-14196
>             Project: HBase
>          Issue Type: Bug
>          Components: Thrift
>    Affects Versions: 0.98.13, 1.1.1, 1.0.1.1, 1.1.0.1
>            Reporter: Vladimir Rodionov
>            Assignee: Vladimir Rodionov
>             Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0
>
>         Attachments: HBASE-14196.patch
>
>
> When idle connection get cleaned from Thrift server, underlying table 
> instances are still cached in a thread local cache.
> This is the antipattern. Table objects are lightweight and should not be 
> cached, besides this, underlying connections can be closed by periodic 
> connection cleaner chore (ConnectionCache) and cached table instances may 
> become invalid. This is Thrift1 specific issue. Thrift2 is OK.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to