Use of Random.nextLong() in HRegionServer.addScanner(...)
---------------------------------------------------------
Key: HBASE-4178
URL: https://issues.apache.org/jira/browse/HBASE-4178
Project: HBase
Issue Type: Bug
Affects Versions: 0.90.3
Reporter: Lars Hofhansl
Priority: Minor
ScannerIds are currently assigned by getting a random long. While it would be a
rare occurrence that two scanners received the same ids on the same region
server the results would seem to be... Bad.
A client scanner would get results from a different server scanner, and maybe
only from some of the region servers.
A safer approach would be using an AtomicLong. We do not have to worry about
running of numbers: If we got 10000 scanners per second it'd take > 2.9m years
to reach 2^63.
Then again the same reasoning would imply that this collisions would be
happening too rarely to be of concern (assuming a good random number
generator). So maybe this is a none-issue.
AtomicLong would also imply a minor performance hit on multi core machines, as
it would force a memory barrier.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira