You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Eric Huang (JIRA)" <ji...@apache.org> on 2013/06/03 11:32:19 UTC

[jira] [Created] (HBASE-8677) Problems of fetching results by scanner interface(startup multi REST servers)

Eric Huang created HBASE-8677:
---------------------------------

             Summary: Problems of fetching results by scanner interface(startup multi REST servers)
                 Key: HBASE-8677
                 URL: https://issues.apache.org/jira/browse/HBASE-8677
             Project: HBase
          Issue Type: Bug
          Components: REST
    Affects Versions: 0.95.0, 0.94.5
         Environment: CentOS 5.5/hadoop0.20.2/hbase0.94.5/zookeeper3.4.3
            Reporter: Eric Huang


These days, I test one of available clients REST. When I startup two REST servers and put these servers into Cluster instance using the REST client classes, I get the wrong results by getScanner interface. 

Code like this(37, 38 are two rest servers):
        Cluster cluster = new Cluster();
        cluster.add("10.28.171.37", 8080);
        cluster.add("10.28.171.38", 8080);
        Client client = new Client(cluster);
        RemoteHTable table = new RemoteHTable(client, "demotime");
        
        ResultScanner resultScanner = table.getScanner(new Scan());
        for (Result result: resultScanner) {
            System.out.println("Scan row["+        Bytes.toString(result.getRow())+"]:"+result);
        }

I find server-side codes of REST maybe the cause. They use "static final Map<String, ScannerInstanceResource> scanners" to cache the last scanner context, so if there are multi REST servers, client may navigate to the other server, which has not scanner conext of it and return the wrong results.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira