[ https://issues.apache.org/jira/browse/HBASE-17508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15848372#comment-15848372 ]
Duo Zhang commented on HBASE-17508: ----------------------------------- Fix TestSyncTable. The problem is in the syncRange method, we use one Scan object to instantiate two scanners at the same time. We will modify the Scan object during the scan operation, for example, we will change the startKey and the mvccReadPoint of the Scan object. But why we can pass the test before this patch? Just because we are lucky... It is very easy to get a strange result as the two scanners will both modify the Scan object's startKey... And Why not use a copy of the Scan object internally? This is because we need to use the Scan object to pass the ScanMetrics. I think this is a bad practice. IMO, we should make the ResultScanner carry the ScanMetrics, not the Scan object. Thanks. > Unify the implementation of small scan and regular scan for sync client > ----------------------------------------------------------------------- > > Key: HBASE-17508 > URL: https://issues.apache.org/jira/browse/HBASE-17508 > Project: HBase > Issue Type: Task > Components: Client, scan > Affects Versions: 2.0.0, 1.4.0 > Reporter: Duo Zhang > Assignee: Duo Zhang > Fix For: 2.0.0, 1.4.0 > > Attachments: HBASE-17508.patch, HBASE-17508-v1.patch, > HBASE-17508-v2.patch, HBASE-17508-v3.patch > > > Implement the same logic with HBASE-17045 for sync client. -- This message was sent by Atlassian JIRA (v6.3.15#6346)