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

Esteban Gutierrez commented on HBASE-14076:
-------------------------------------------

Thanks for the review [~anoop.hbase]! I did a cursory read and I found some 
places where we can be hit by this:

1. both AsyncServerResponseHandler.channelRead() and 
RpcClientImpl.readResponse() if reading a 64MB header (that would be rare and 
probably if +64MB it should mean that something went wrong).
2. EncryptionUtil.unwrapKey() (a +64MB key? that would be strange to see, so an 
exception should be fine.)
3. procedure2 state machine and store could end up with some very large 
requests I think but needs further research and [~mbertozzi] should know better.
4. MessageCodec.pareCell() seems a good place to fix the same if using both 
WALCellCodec or SecureWALCellCodec, but its odd we didn't ran into this before.

I will keep an eye in other places and open JIRAs as necessary.

> ResultSerialization and MutationSerialization can throw 
> InvalidProtocolBufferException when serializing a cell larger than 64MB
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-14076
>                 URL: https://issues.apache.org/jira/browse/HBASE-14076
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0, hbase-11339, 1.2.0
>            Reporter: Esteban Gutierrez
>            Assignee: Esteban Gutierrez
>         Attachments: HBASE-14076.hbase-11339.patch, 
> HBASE-14076.hbase-11339.patch, HBASE-14076.v2.hbase-11339.patch
>
>
> This was reported in CRUNCH-534 but is a problem how we handle 
> deserialization of large Cells (> 64MB) in ResultSerialization and 
> MutationSerialization.
> The fix is just re-using what it was done in HBASE-13230.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to