You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org> on 2014/02/28 19:08:21 UTC

[jira] [Resolved] (PHOENIX-37) Prevent deserialize and re-serialize all array elements in construction of array

     [ https://issues.apache.org/jira/browse/PHOENIX-37?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan resolved PHOENIX-37.
-------------------------------------------

    Resolution: Fixed

Many thanks to James in  helping me to get this in.

> Prevent deserialize and re-serialize all array elements in construction of array
> --------------------------------------------------------------------------------
>
>                 Key: PHOENIX-37
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-37
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: James Taylor
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 3.0.0
>
>         Attachments: Phoenix-37_final.patch, Phoenix-37_final_1.patch
>
>
> ArrayConstructorExpression.evaluate() currently deserializes into object form all array elements only to serialize them back again as bytes. Instead, just use a TrustedByteArrayOuputStream (initially sized based on the number of child elements) to serialize the data into. If variable length, track the offset information as the data is written.
> Second, we should put the header information (offsets, length, and version) at the end of the array instead of the start. This will make it possible to compare arrays against each other in their byte form.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)