void cleanup() { if (hiveUpdater != null) { runAndLogErrors(() -> hiveUpdater.close()); hiveUpdater = null; } }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2(), model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.ref()+ model.primitive1()*2, model.memoryAlign()); }
public static int calculateEstimatedMemorySize(int count) { // FUTURE: Partitioning not included yet. final int longMatchFlagsSize = (count + Long.SIZE - 1) / Long.SIZE; int size = 0; JavaDataModel jdm = JavaDataModel.get(); size += jdm.lengthForLongArrayOfSize(longMatchFlagsSize); size += jdm.primitive1(); size += (2 * jdm.object()); return size; } }
@Override public long getEstimatedMemorySize() { JavaDataModel jdm = JavaDataModel.get(); long size = 0; size += (4 * jdm.object()); size += jdm.primitive1(); return size; } }
@Override public int estimate() { JavaDataModel model = JavaDataModel.get(); return (int) (model.primitive2() * 3 + model.lengthFor(columnType)); } };
public int lengthOfDecimal() { // object overhead + 8 bytes for intCompact + 4 bytes for precision // + 4 bytes for scale + size of BigInteger return object() + 2 * primitive2() + lengthOfBigInteger(); }
@Override public int getVariableSize() { int variableSize = 0; for (int i=0; i<byteLengths.length; ++i) { JavaDataModel model = JavaDataModel.get(); variableSize += model.lengthForByteArrayOfSize(byteLengths[i]); } return variableSize; }
public long estimateMemoryUsage() { // Since we won't be able to update this as we add, for now, estimate 10x usage. // This shouldn't be much and this cache should be remove later anyway. estimatedMemUsage = 10 * SIZE_ESTIMATOR.estimate(this, SIZE_ESTIMATORS); return estimatedMemUsage; }
@Override public int hashMap(int entry) { // base = JAVA32_OBJECT + PRIMITIVES1 * 4 + JAVA32_FIELDREF * 3 + JAVA32_ARRAY; // entry = JAVA32_OBJECT + JAVA32_FIELDREF + PRIMITIVES1 return hashMapBase() + hashMapEntry() * entry; }
@Override public int hashSet(int entry) { // hashMap += JAVA32_OBJECT return hashSetBase() + hashSetEntry() * entry; }
@Override public int linkedList(int entry) { // base = JAVA32_OBJECT + PRIMITIVES1 * 2 + JAVA32_FIELDREF; // entry = JAVA32_OBJECT + JAVA32_FIELDREF * 2 return linkedListBase() + linkedListEntry() * entry; }
@Override public int linkedList(int entry) { // base = JAVA64_OBJECT + PRIMITIVES1 * 2 + JAVA64_FIELDREF; // entry = JAVA64_OBJECT + JAVA64_FIELDREF * 2 return linkedListBase() + linkedListEntry() * entry; }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2() * 2, model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2() * 2, model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2()*3+ model.primitive1(), model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2() + model.primitive1(), model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2() + model.primitive1(), model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object(), model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object(), model.memoryAlign()); }