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.