[
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)