[ https://issues.apache.org/jira/browse/HBASE-7035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13708293#comment-13708293 ]
Lars George commented on HBASE-7035: ------------------------------------ Hi Devin, I would not be surprised if this is outdated. I know that for writing the local client side write buffer is an issue since it is not thread safe. But for reading, this is news to me. Looking at the code, the ClientScanner has no reference to the HTable, and it does RPC requests to the RegionServers directly through the shared connection. I think we should raise a new JIRA to fix the JavaDoc for the HTable class and make sure it is current. > thrift server closes HTable of open Scanners > -------------------------------------------- > > Key: HBASE-7035 > URL: https://issues.apache.org/jira/browse/HBASE-7035 > Project: HBase > Issue Type: Sub-task > Components: Thrift > Affects Versions: 0.94.4 > Reporter: Devin Bayer > Labels: thrift2 > Attachments: old-hbase-thrift-v1.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > ThriftHBaseServiceHandler.openScanner() does this: > 1. table = pool.getTable() > 2. scanner = table.getScanner() > 3. table.close() > 4. return scanner > While back porting the thrift server to 0.92.6, I found that table.close() > calls connection.close(). Further calls to scanner.next() raise a > ConnectionClosed exception. The unit tests do not catch this since they reuse > an open HConnection instance. > This might work on trunk, but depends on the implementations of HTablePool, > HTable and HConnectionManager. Even with the pool wrapper, if the pool is > full, table.close() may be called, which may invalidate the table. Also, > HTable is not thread-safe, but they are being reused since they go back in > the pool. > I suggest storing the table handle along with the scanner. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira