[
https://issues.apache.org/jira/browse/HBASE-9976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13824468#comment-13824468
]
Nicolas Liochon commented on HBASE-9976:
----------------------------------------
bq. Did you figure your sync issue?
I'm on it. I'm looking at the root cause: why a change in TableName impacts the
performance.
Partly, there is no root cause: the performances varies a lot it seems.
But as well, the code in pretch / metaScan expects the underlying layers to be
more efficient than they actually are.
For example, for the prefectch it does:
- a first remote call to get the "rowOrBefore"
- then creates a full HRegionInfo object, including a tableName, just to get
the region startKey
- then the actual call to prefetch the other regions
I can't easily optimize this, because rowOrBefore returns a byte array to be
unprotobuffed.
The solution I see is using the reverseScan: this would remove the need for the
first call, so all this code would just go away.
Still digging...
> Don't create duplicated TableName objects
> -----------------------------------------
>
> Key: HBASE-9976
> URL: https://issues.apache.org/jira/browse/HBASE-9976
> Project: HBase
> Issue Type: Bug
> Components: Client, regionserver
> Affects Versions: 0.98.0, 0.96.0
> Reporter: Nicolas Liochon
> Assignee: Nicolas Liochon
> Fix For: 0.98.0, 0.96.1
>
> Attachments: 9976.v1.patch
>
>
> A profiling show that the table name is reponsible for 25% of the memory
> needed to keep the region locations. As well, comparisons will be faster if
> two identical table names are a single java object.
--
This message was sent by Atlassian JIRA
(v6.1#6144)