[ https://issues.apache.org/jira/browse/HBASE-15378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15175100#comment-15175100 ]
Phil Yang commented on HBASE-15378: ----------------------------------- {quote} Does the class have to be public ? {quote} It seems that this filter will be serialized by protobuf and if I set it to non-public there will be an exception like this: {quote} Caused by: java.lang.IllegalAccessException: Class org.apache.hadoop.hbase.protobuf.ProtobufUtil can not access a member of class org.apache.hadoop.hbase.regionserver.TestScannerHeartbeatMessages$SparseFilter with modifiers "public static" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109) at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261) {quote} > Scanner can not handle a heartbeat message with no results > ---------------------------------------------------------- > > Key: HBASE-15378 > URL: https://issues.apache.org/jira/browse/HBASE-15378 > Project: HBase > Issue Type: Bug > Affects Versions: 1.2.0, 1.1.3 > Reporter: Phil Yang > Assignee: Phil Yang > Priority: Critical > Attachments: HBASE-15378-v1.txt, HBASE-15378-v2.txt > > > When a RS scanner get a TIME_LIMIT_REACHED_MID_ROW state, they will stop > scanning and send back what it has read to client and mark the message as a > heartbeat message. If there is no cell has been read, it will be an empty > response. > However, ClientScanner only handles the situation that the client gets an > empty heartbeat and its cache is not empty. If the cache is empty too, it > will be regarded as end-of-region and open a new scanner for next region. -- This message was sent by Atlassian JIRA (v6.3.4#6332)