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

Andrew Purtell commented on HBASE-11747:
----------------------------------------

[~stack] A state table is an interesting idea. If everyone sends only 
incremental updates, the first update starts from null state so may be fat, but 
after that the aggregate state can be queried from the state table on demand, 
otherwise we are as light weight as possible.

We can avoid making the old Region Historian mistakes again. Only the master 
need update the state table after receiving incremental reports. It could fail 
fast and buffer received incremental updates until the state table region(s) 
are back online and flush out the changes then. We'd not put state table update 
logic regionserver side nor require that the updates succeed inline with 
housekeeping or region deploy.

> ClusterStatus (heartbeat) is too bulky 
> ---------------------------------------
>
>                 Key: HBASE-11747
>                 URL: https://issues.apache.org/jira/browse/HBASE-11747
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Virag Kothari
>            Priority: Critical
>         Attachments: exceptiontrace
>
>
> Following exception on 0.98 with 1M regions on cluster with 160 region servers
> {code}
> Caused by: java.io.IOException: Call to regionserverhost:port failed on local 
> exception: com.google.protobuf.InvalidProtocolBufferException: Protocol 
> message was too large.  May be malicious.  Use 
> CodedInputStream.setSizeLimit() to increase the size limit.
>       at 
> org.apache.hadoop.hbase.ipc.RpcClient.wrapException(RpcClient.java:1482)
>       at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1454)
>       at 
> org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1654)
>       at 
> org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1712)
>       at 
> org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.getClusterStatus(MasterProtos.java:42555)
>       at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$5.getClusterStatus(HConnectionManager.java:2132)
>       at 
> org.apache.hadoop.hbase.client.HBaseAdmin$16.call(HBaseAdmin.java:2166)
>       at 
> org.apache.hadoop.hbase.client.HBaseAdmin$16.call(HBaseAdmin.java:2162)
>       at 
> org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:114)
>       ... 43 more
> Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol 
> message was too large.  May be malicious.  Use 
> CodedInputStream.setSizeLimit() to increase the size limit.
>       at 
> com.google.protobuf.InvalidProtocolBufferException.sizeLimitExceeded(InvalidProtocolBufferException.java:110)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to