Ashu Pachauri commented on HBASE-16752:

[~ghelmling] Yeah you raise a valid point, we need to address the remaining 
part of the request on the channel in some way. Reading the garbage off the 
network just to discard the data sound like overkill. Even now we close the 
connection; with this change we'll have a better feedback to the client even if 
we do close the connection. So, I'll just modify the code to close the 

> Upgrading from 1.2 to 1.3 can lead to replication failures due to difference 
> in RPC size limit
> ----------------------------------------------------------------------------------------------
>                 Key: HBASE-16752
>                 URL: https://issues.apache.org/jira/browse/HBASE-16752
>             Project: HBase
>          Issue Type: Bug
>          Components: Replication, rpc
>    Affects Versions: 2.0.0, 1.3.0
>            Reporter: Ashu Pachauri
>            Assignee: Ashu Pachauri
>         Attachments: HBASE-16752.V1.patch
> In HBase 1.2, we don't limit size of a single RPC but in 1.3 we limit it by 
> default to 256 MB.  This means that during upgrade scenarios (or when source 
> is 1.2 peer is already on 1.3), it's possible to encounter a situation where 
> we try to send an rpc with size greater than 256 MB because we never unroll a 
> WALEdit while sending replication traffic.
> RpcServer throws the underlying exception locally, but closes the connection 
> with returning the underlying error to the client, and client only sees a 
> "Broken pipe" error.
> I am not sure what is the proper fix here (or if one is needed) to make sure 
> this does not happen, but we should return the underlying exception to the 
> RpcClient, because without it, it can be difficult to diagnose the problem, 
> especially for someone new to HBase.

This message was sent by Atlassian JIRA

Reply via email to