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

Lars Hofhansl edited comment on HBASE-13378 at 6/10/15 11:55 PM:
-----------------------------------------------------------------

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 older 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?



was (Author: lhofhansl):
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.  
> {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)

Reply via email to