[ 
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)

Reply via email to