Clone
JavierJia <jianfeng.jia@gmail.com>
committed
on 29 Oct 15
ASTERIXDB-1102: VarSize Encoding to store length of String and ByteArray
This patch is to change the encoding format that stores the length … Show more
ASTERIXDB-1102: VarSize Encoding to store length of String and ByteArray

This patch is to change the encoding format that stores the length value

of

the variable length type (e.g. String, ByteArray) from fix-size encoding

(2bytes) to variable-size encoding ( 1 to 5bytes)

It will solve the issue 1102 to enable us to store a String that longer

than 64K. Also for the common case of storing the short string ( <=

127), it will save one byte per string.

Some important changes include:

1. The UTF8StringSerDer and ByteArraySerDer is not Singleton instance

any more. I need some state to speedup the serialization and avoid the

object creatation. Luckily, 99% percent of Serializer were used as

factory way. The other 1% has been fixed.

A separate Test support, the ExcutionTest now can produce the only.xml

which stores the previous failed runtime test.xml. It can speedup the

debug process.

Change-Id: I41fff780f5c071742ef10129d83c8f945d5886d7

Reviewed-on: https://asterix-gerrit.ics.uci.edu/450

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Jianfeng Jia <jianfeng.jia@gmail.com>

Show less

master + 7 more