Description
Serializing null arrays results in an empty byte[]. The deserialization logic in PArrayDataType#createPhoenixArray has a check to return null if the provided byte[] is empty, however it checks the length of the byte[] rather than the provided length parameter. Note that the provided byte[] is typically the whole underlying row; it has to be interpreted only from offset to length.
Therefor, the check has to be replaced with a check on length rather than on bytes.length.