hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13378) RegionScannerImpl synchronized for READ_UNCOMMITTED Isolation Levels
Date Wed, 10 Jun 2015 23:56:01 GMT

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

Lars Hofhansl commented on HBASE-13378:

bq. Can someone explain this one to me?

The effect is on the READ_UNCOMMITTED scanner, this patch won't record it's readpoint in scannerReadPoints,
and flushes and compactions might let go of Cells that are newer than the scanner's readpoint.

I actually think that is _OK_, I just wanted to consensus, it seems [~enis] and [~ndimiduk]
are not OK with it.
[~enis], [~ndimiduk], the behavior I described above would _only_ effect the scanner declared
with READ_UNCOMMITTED. Do you still think this is a compatibility issue?

> 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.  
>       // 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

View raw message