hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lars George <lars.geo...@gmail.com>
Subject HTable thread safe for scans?
Date Mon, 15 Jul 2013 08:02:16 GMT

Please see https://issues.apache.org/jira/browse/HBASE-7035#comment-13708295 for context.
We added a while ago some wording around why HTable is not thread safe and how you should
use HTablePool instead. I do get the point about the local write buffer, and also maybe if
you do Get's or any Batch/Multi operation. But what about scans? I mean, looking at the code,
it does not seem to be interfering with HTable at all, it gets handed in the connection reference
(the ClientScanner) and since after that it has its own ID based counterpart on the server
side, it seems that the thread which created the scan is safe to release the table instance
to the pool again.

In other words, if a thread (#1) creates a scanner, then another thread (#2) is allowed to
use the table instance used by the first thread, would thread #1 have any issues with using
the already created scanner? I'd say no, reading the code. 

If that is the case, we should fix the JavaDoc.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message