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

Igor Vikhrov commented on HBASE-9582:
-------------------------------------

I've noticed that difference between two same Scans is in rowkeys that stores 
in regionservers which have ERRORS in logs. Here is logs from such regionserver 
(with IP 10.30.54.22). 

2013-09-26 16:20:37,467 ERROR 
org.apache.hadoop.hbase.regionserver.HRegionServer:
org.apache.hadoop.hbase.ipc.CallerDisconnectedException: Aborting call 
next(-1428881578528841982, 50), rpc version=1, client version=29, 
methodsFingerPrint=-1368823753 from 10.30.54.30:54945 after 27890 ms, since 
caller disconnected
        at 
org.apache.hadoop.hbase.ipc.HBaseServer$Call.throwExceptionIfCallerDisconnected(HBaseServer.java:436)
...


2013-09-26 16:20:38,794 ERROR 
org.apache.hadoop.hbase.regionserver.HRegionServer:
org.apache.hadoop.hbase.ipc.CallerDisconnectedException: Aborting call 
next(3297817065245525367, 50), rpc version=1, client version=29, 
methodsFingerPrint=-1368823753 from 10.30.54.28:33125 after 16032 ms, since 
caller disconnected
        at 
org.apache.hadoop.hbase.ipc.HBaseServer$Call.throwExceptionIfCallerDisconnected(HBaseServer.java:436)
 ....



                
> MapReduce Scan gives different output every times
> -------------------------------------------------
>
>                 Key: HBASE-9582
>                 URL: https://issues.apache.org/jira/browse/HBASE-9582
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.5
>         Environment: hadoop 1.0.3
>            Reporter: Igor Vikhrov
>
> I have this Scan
> Scan scan = new Scan();
> scan.setCaching(50);
> scan.setCacheBlocks(false);
> scan.setMaxVersions();
> scan.setTimeRange(Long.valueOf(args[7] + "000"),Long.valueOf(args[8] + 
> "000"));
> SingleColumnValueFilter filter = new 
> SingleColumnValueFilter(Bytes.toBytes(args[1]),Bytes.toBytes(args[2]),CompareFilter.CompareOp.EQUAL,new
>  BinaryComparator(Bytes.toBytes(args[3])));
> filter.setFilterIfMissing(true);
> scan.setFilter(filter);
> It works without any warns and errors in command line. But when regionservers 
> CPU is high loaded, Scan with the same parameters (Column, value, timestamps) 
> gives different results. For example
> first time - Map output records=571374   
> second time -  Map output records=777620
> third time - Map output records=776099
> Regionservers log includes such WARNs:
> 2013-09-19 13:29:44,827 WARN org.apache.hadoop.ipc.HBaseServer: 
> (responseTooSlow): 
> {"processingtimems":30759,"call":"next(-308003858163246780, 10), rpc 
> version=1, client version=29, 
> methodsFingerPrint=-1368823753","client":"10.10.54.22:53361","starttimems":1379582954067,"queuetimems":1,"class":"HRegionServer","responsesize":51343,"method":"next"}
> and these ERRORs:
> 2013-09-19 13:26:18,202 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: 
> org.apache.hadoop.hbase.ipc.CallerDisconnectedException: Aborting call 
> next(-9095740742796333934, 10), rpc version=1, client version=29, 
> methodsFingerPrint=-1368823753 from 10.10.54.22:32914 after 60059 ms, since 
> caller disconnected                                                           
>                        
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Call.throwExceptionIfCallerDisconnected(HBaseServer.java:436)
>                                              
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:3723)
>                                                     
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:3643)
>                                                          
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:3635)
>                                                          
>         at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2483)
>                                                                   
>         at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)       
>                                                                               
>  
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                                                              
>         at java.lang.reflect.Method.invoke(Method.java:597)                   
>                                                                               
>  
>         at 
> org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
>                                                              
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)
>     
> When regionservers CPU is not loaded, Scan gives same results every times.
> In this case regionservers log doesn't include any WARNs.
> Why does it happen? I want to be sure that Scan give me all the data that I 
> request no matter how CPU is using now.

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

Reply via email to