hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13378) RegionScannerImpl synchronized for READ_UNCOMMITTED Isolation Levels
Date Thu, 04 Jun 2015 03:03:38 GMT

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

Andrew Purtell commented on HBASE-13378:
----------------------------------------

bq. Up to this point READ_UNCOMMITED meant: You might see partially finished rows. Now it
means: You might see partially finished rows, and you may not see cells that have existed
when the scanner started.

I'd be ok with this change in 0.98 with a release note describing the change in semantics.
In either case the user is asking for increased possible concurrency in exchange for 'dirty'
reads. What this patch does is alter a bit how dirty is dirty, depending. (smile) I'm not
sure what [~enis] or [~ndimiduk] would want to do wrt. 1.0 and 1.1, or [~busbey] for 1.2.

> RegionScannerImpl synchronized for READ_UNCOMMITTED Isolation Levels
> --------------------------------------------------------------------
>
>                 Key: HBASE-13378
>                 URL: https://issues.apache.org/jira/browse/HBASE-13378
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: John Leach
>            Assignee: John Leach
>            Priority: Minor
>         Attachments: HBASE-13378.patch, HBASE-13378.txt
>
>   Original Estimate: 2h
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> This block of code below coupled with the close method could be changed so that READ_UNCOMMITTED
does not synchronize.  
> {CODE:JAVA}
>       // synchronize on scannerReadPoints so that nobody calculates
>       // getSmallestReadPoint, before scannerReadPoints is updated.
>       IsolationLevel isolationLevel = scan.getIsolationLevel();
>       synchronized(scannerReadPoints) {
>         this.readPt = getReadpoint(isolationLevel);
>         scannerReadPoints.put(this, this.readPt);
>       }
> {CODE}
> This hotspots for me under heavy get requests.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message