[
https://issues.apache.org/jira/browse/PHOENIX-921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13967293#comment-13967293
]
James Taylor commented on PHOENIX-921:
--------------------------------------
Thank you very much for the contribution, [~jaywong]. Would you mind adding a
unit test first that demonstrates when the columnSizeKv has an empty value? The
reason is that this may be hiding a bigger issue that we'd uncover if that is
the case. Once we learn from that, then we can commit your patch.
> KeyValue check in MetaDataEndpointImpl#addColumnToTable is not sufficiency
> ---------------------------------------------------------------------------
>
> Key: PHOENIX-921
> URL: https://issues.apache.org/jira/browse/PHOENIX-921
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: jay wong
> Fix For: 3.0.0
>
> Attachments: PHOENIX-921.patch
>
>
> In my using.
> when I create a table with no Index.
> the method MetaDataEndpointImpl#addColumnToTable
> the code like:
> -------
> Integer maxLength = columnSizeKv == null ? null :
> PDataType.INTEGER.getCodec().decodeInt(columnSizeKv.getBuffer(),
> columnSizeKv.getValueOffset(), SortOrder.getDefault());
> -------
> didn't check the columnSizeKv length is 0. if 0, the decodeInt will throw
> exception.
> so I think it will be check like this:
> Integer maxLength = columnSizeKv == null || columnSizeKv .getValue().length
> == 0 ? null :
> PDataType.INTEGER.getCodec().decodeInt(columnSizeKv.getBuffer(),
> columnSizeKv.getValueOffset(), SortOrder.getDefault());
--
This message was sent by Atlassian JIRA
(v6.2#6252)