[ https://issues.apache.org/jira/browse/HIVE-11137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14605940#comment-14605940 ]
Nishant Kelkar commented on HIVE-11137: --------------------------------------- LazyBinaryUtils used only for readVInt() and writeVInt(). Relevant sections of code from LazyBinaryUtils: {code} private static ThreadLocal<byte[]> vLongBytesThreadLocal = new ThreadLocal<byte[]>() { @Override public byte[] initialValue() { return new byte[9]; } }; public static void writeVLong(RandomAccessOutput byteStream, long l) { byte[] vLongBytes = vLongBytesThreadLocal.get(); int len = LazyBinaryUtils.writeVLongToByteArray(vLongBytes, l); byteStream.write(vLongBytes, 0, len); } {code} {code} /** * Reads a zero-compressed encoded int from a byte array and returns it. * * @param bytes * the byte array * @param offset * offset of the array to read from * @param vInt * storing the deserialized int and its size in byte */ public static void readVInt(byte[] bytes, int offset, VInt vInt) { byte firstByte = bytes[offset]; vInt.length = (byte) WritableUtils.decodeVIntSize(firstByte); if (vInt.length == 1) { vInt.value = firstByte; return; } int i = 0; for (int idx = 0; idx < vInt.length - 1; idx++) { byte b = bytes[offset + 1 + idx]; i = i << 8; i = i | (b & 0xFF); } vInt.value = (WritableUtils.isNegativeVInt(firstByte) ? (i ^ -1) : i); } {code} I could contribute a patch towards this task [~owen.omalley] (I'm a beginner contributor in Hive, looking around for work :)). Thanks and let me know! > In DateWritable remove the use of LazyBinaryUtils > ------------------------------------------------- > > Key: HIVE-11137 > URL: https://issues.apache.org/jira/browse/HIVE-11137 > Project: Hive > Issue Type: Sub-task > Reporter: Owen O'Malley > Assignee: Owen O'Malley > > Currently the DateWritable class uses LazyBinaryUtils, which has a lot of > dependencies. -- This message was sent by Atlassian JIRA (v6.3.4#6332)