[ 
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)

Reply via email to