hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9754) Consider eliminating threadlocals from MVCC code
Date Thu, 17 Oct 2013 17:23:43 GMT

    [ https://issues.apache.org/jira/browse/HBASE-9754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13798123#comment-13798123
] 

Ted Yu commented on HBASE-9754:
-------------------------------

bq. What are the implications of this change?
You were referring to the change in HBaseTestingUtility.java, right ?

Here is what resetThreadReadPoint() does:

-  public static void resetThreadReadPoint() {
-    perThreadReadPoint.set(0L);
-  }

Meaning, effective readpoint is reset to 0. Hence passing 0 to store.getScanner() is consistent
with the existing test.

bq. Would think we'd retain at least the first line?
Is the first line MultiVersionConsistencyControl.resetThreadReadPoint() ? That method has
been removed.

bq. Does defaulting 0 in all tests change what is being tested
There is no change in semantics. 0 is only used when the two StoreScanner ctors, marked for
testing, are used.

bq. This should be final now?
Done.

bq. Is this an odd 'public' method to have in HRegion?
It is used by NoOpScanPolicyObserver. Compilation passes when I change it to package private.
My reasoning was that if user's RegionObserver overrides preStoreScannerOpen(), this method
is needed. User's code would not be in org.apache.hadoop.hbase.regionserver package.

bq. It is the readPoint for the region?
Readpoint is associated with mvcc for the region.

bq. Undocumented passing of zero (explaining why this is ok)
Will add doc in next patch.

bq. and what smallest means in latter
Would do this too.

> Consider eliminating threadlocals from MVCC code
> ------------------------------------------------
>
>                 Key: HBASE-9754
>                 URL: https://issues.apache.org/jira/browse/HBASE-9754
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Assignee: Ted Yu
>             Fix For: 0.98.0
>
>         Attachments: 9754-rp-0.txt, 9754-rp-1.txt, 9754-rp-hregion.txt, 9754-rp-hregion-v2.txt,
9754-rp-hregion-v3.txt
>
>
> Brought up by [~vrodionov] and [~yuzhihong@gmail.com].
> Currently we use ThreadLocals to communicate the current readpoint between a RegionScanner
and the Store\{File}Scanner's down the stack.
> Since ThreadLocals are not cheap we should consider whether it is possible to pass the
readpoint through the call stack instead.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message