[ https://issues.apache.org/jira/browse/HBASE-21401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16699975#comment-16699975 ]
stack commented on HBASE-21401: ------------------------------- Thanks for removing from Master until we figure this. Its a total parse of the Key ... and if tags, the KV... doing deserialization of offsets and lengths to walk the Key.... only to throw away these deserializations. Could the validity checks be done inline as we construct the KeyValue or the NoTagsKeyValue instead? Thanks. > Sanity check in BaseDecoder#parseCell > ------------------------------------- > > Key: HBASE-21401 > URL: https://issues.apache.org/jira/browse/HBASE-21401 > Project: HBase > Issue Type: Sub-task > Components: regionserver > Reporter: Zheng Hu > Assignee: Zheng Hu > Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.0.3, 2.1.2 > > Attachments: HBASE-21401.v1.patch, HBASE-21401.v2.patch, > HBASE-21401.v3.patch, HBASE-21401.v4.patch, HBASE-21401.v4.patch, > HBASE-21401.v5.patch > > > In KeyValueDecoder & ByteBuffKeyValueDecoder, we pass a byte buffer to > initialize the Cell without a sanity check (check each field's offset&len > exceed the byte buffer or not), so ArrayIndexOutOfBoundsException may happen > when read the cell's fields, such as HBASE-21379, it's hard to debug this > kind of bug. > An earlier check will help to find such kind of bugs. -- This message was sent by Atlassian JIRA (v7.6.3#76005)