@Override public void write(ByteBuffer byteBuffer) throws BufferOverflowException { GTScanRequest.serializer.serialize(GTScanRequest.this, byteBuffer); } });
public static byte[] serialize(CoprocessorProjector o) { ByteBuffer buf = ByteBuffer.allocate(BytesSerializer.SERIALIZE_BUFFER_SIZE); serializer.serialize(o, buf); byte[] result = new byte[buf.position()]; System.arraycopy(buf.array(), 0, result, 0, buf.position()); return result; }
public static byte[] serialize(CoprocessorRowType o) { ByteBuffer buf = ByteBuffer.allocate(BytesSerializer.SERIALIZE_BUFFER_SIZE); serializer.serialize(o, buf); byte[] result = new byte[buf.position()]; System.arraycopy(buf.array(), 0, result, 0, buf.position()); return result; }
public static ByteString serializeGTScanReq(GTScanRequest scanRequest) { ByteString scanRequestByteString; int scanRequestBufferSize = BytesSerializer.SERIALIZE_BUFFER_SIZE; while (true) { try { ByteBuffer buffer = ByteBuffer.allocate(scanRequestBufferSize); GTScanRequest.serializer.serialize(scanRequest, buffer); buffer.flip(); scanRequestByteString = HBaseZeroCopyByteString.wrap(buffer.array(), buffer.position(), buffer.limit()); break; } catch (BufferOverflowException boe) { logger.info("Buffer size {} cannot hold the scan request, resizing to 4 times", scanRequestBufferSize); scanRequestBufferSize *= 4; } } return scanRequestByteString; }
public static ByteString serializeRawScans(List<RawScan> rawScans) { ByteString rawScanByteString; int rawScanBufferSize = BytesSerializer.SERIALIZE_BUFFER_SIZE; while (true) { try { ByteBuffer rawScanBuffer = ByteBuffer.allocate(rawScanBufferSize); BytesUtil.writeVInt(rawScans.size(), rawScanBuffer); for (RawScan rs : rawScans) { RawScan.serializer.serialize(rs, rawScanBuffer); } rawScanBuffer.flip(); rawScanByteString = HBaseZeroCopyByteString.wrap(rawScanBuffer.array(), rawScanBuffer.position(), rawScanBuffer.limit()); break; } catch (BufferOverflowException boe) { logger.info("Buffer size {} cannot hold the raw scans, resizing to 4 times", rawScanBufferSize); rawScanBufferSize *= 4; } } return rawScanByteString; }
BytesUtil.writeAsciiString(CubeCodeSystem.class.getCanonicalName(), out); TrimmedCubeCodeSystem trimmed = ((CubeCodeSystem) value.codeSystem).trimForCoprocessor(); TrimmedCubeCodeSystem.serializer.serialize(trimmed, out); } else if (value.codeSystem != null) { BytesUtil.writeAsciiString(value.codeSystem.getClass().getCanonicalName(), out); throw new RuntimeException("failed to get serializer for " + value.codeSystem.getClass(), e); serializer.serialize(value.codeSystem, out); } else { throw new IllegalStateException("code system cannot be null"); BytesUtil.writeVInt(value.colTypes.length, out); for (DataType dataType : value.colTypes) { DataType.serializer.serialize(dataType, out); ImmutableBitSet.serializer.serialize(value.colPreferIndex, out); ImmutableBitSet.serializer.serialize(value.primaryKey, out); BytesUtil.writeVInt(value.colBlocks.length, out); for (ImmutableBitSet x : value.colBlocks) { ImmutableBitSet.serializer.serialize(x, out);
final int serialLevel = KylinConfig.getInstanceFromEnv().getGTScanRequestSerializationLevel(); GTInfo.serializer.serialize(value.info, out); ImmutableBitSet.serializer.serialize(value.columns, out); BytesUtil.writeByteArray(GTUtil.serializeGTFilter(value.filterPushDown, value.info), out); ImmutableBitSet.serializer.serialize(value.aggrGroupBy, out); ImmutableBitSet.serializer.serialize(value.aggrMetrics, out); BytesUtil.writeAsciiStringArray(value.aggrMetricsFuncs, out); BytesUtil.writeVInt(value.allowStorageAggregation ? 1 : 0, out); ImmutableBitSet.serializer.serialize(value.dynamicCols, out); GTUtil.wrap(value.info.codeSystem.getComparator())), out); ImmutableBitSet.serializer.serialize(value.rtAggrMetrics, out);
try { ByteBuffer out = ByteBuffer.allocate(scanRequestBufferSize); GTInfo.serializer.serialize(scanRequest.getInfo(), out); BytesUtil.writeVInt(scanRequest.getGTScanRanges().size(), out); for (GTScanRange range : scanRequest.getGTScanRanges()) { ImmutableBitSet.serializer.serialize(scanRequest.getColumns(), out); BytesUtil.writeByteArray( GTUtil.serializeGTFilter(scanRequest.getFilterPushDown(), scanRequest.getInfo()), out); ImmutableBitSet.serializer.serialize(scanRequest.getAggrGroupBy(), out); ImmutableBitSet.serializer.serialize(scanRequest.getAggrMetrics(), out); BytesUtil.writeAsciiStringArray(scanRequest.getAggrMetricsFuncs(), out); BytesUtil.writeVInt(scanRequest.isAllowStorageAggregation() ? 1 : 0, out);
@Test public void testBasicInfo() { GTInfo info = UnitTestSupport.basicInfo(); GTInfo.serializer.serialize(info, buffer); buffer.flip(); GTInfo sInfo = GTInfo.serializer.deserialize(buffer); this.compareTwoGTInfo(info, sInfo); }
@Test public void testAdvancedInfo() { GTInfo info = UnitTestSupport.advancedInfo(); GTInfo.serializer.serialize(info, buffer); buffer.flip(); GTInfo sInfo = GTInfo.serializer.deserialize(buffer); this.compareTwoGTInfo(info, sInfo); }
public static GTScanRequest useDeserializedGTScanRequest(GTScanRequest origin) { ByteBuffer buffer = ByteBuffer.allocate(BytesSerializer.SERIALIZE_BUFFER_SIZE); GTScanRequest.serializer.serialize(origin, buffer); buffer.flip(); GTScanRequest sGTScanRequest = GTScanRequest.serializer.deserialize(buffer); Assert.assertArrayEquals(origin.getAggrMetricsFuncs(), sGTScanRequest.getAggrMetricsFuncs()); Assert.assertEquals(origin.getAggCacheMemThreshold(), sGTScanRequest.getAggCacheMemThreshold(), 0.01); return sGTScanRequest; }
@Test public void testImmutableBitSet() { ImmutableBitSet x = new ImmutableBitSet(10, 100); ImmutableBitSet.serializer.serialize(x, buffer); buffer.flip(); ImmutableBitSet sx = ImmutableBitSet.serializer.deserialize(buffer); for (int i = 0; i < 10; i++) { Assert.assertFalse(sx.get(i)); } for (int i = 10; i < 100; i++) { Assert.assertTrue(sx.get(i)); } }
@Test public void testGTInfo() { CubeInstance cube = CubeManager.getInstance(KylinConfig.getInstanceFromEnv()).getCube("test_kylin_cube_with_slr_ready"); CubeSegment segment = cube.getFirstSegment(); Cuboid baseCuboid = Cuboid.getBaseCuboid(cube.getDescriptor()); GTInfo info = CubeGridTable.newGTInfo(baseCuboid, new CubeDimEncMap(segment)); GTInfo.serializer.serialize(info, buffer); buffer.flip(); GTInfo sInfo = GTInfo.serializer.deserialize(buffer); this.compareTwoGTInfo(info, sInfo); }
@Override public void write(ByteBuffer byteBuffer) throws BufferOverflowException { GTScanRequest.serializer.serialize(GTScanRequest.this, byteBuffer); } });
public static byte[] serialize(CoprocessorRowType o) { ByteBuffer buf = ByteBuffer.allocate(BytesSerializer.SERIALIZE_BUFFER_SIZE); serializer.serialize(o, buf); byte[] result = new byte[buf.position()]; System.arraycopy(buf.array(), 0, result, 0, buf.position()); return result; }
public static byte[] serialize(TableRecordInfoDigest o) { ByteBuffer buf = ByteBuffer.allocate(BytesSerializer.SERIALIZE_BUFFER_SIZE); serializer.serialize(o, buf); byte[] result = new byte[buf.position()]; System.arraycopy(buf.array(), 0, result, 0, buf.position()); return result; }
public static byte[] serialize(CoprocessorProjector o) { ByteBuffer buf = ByteBuffer.allocate(BytesSerializer.SERIALIZE_BUFFER_SIZE); serializer.serialize(o, buf); byte[] result = new byte[buf.position()]; System.arraycopy(buf.array(), 0, result, 0, buf.position()); return result; }
public static ByteString serializeGTScanReq(GTScanRequest scanRequest) { ByteString scanRequestByteString; int scanRequestBufferSize = BytesSerializer.SERIALIZE_BUFFER_SIZE; while (true) { try { ByteBuffer buffer = ByteBuffer.allocate(scanRequestBufferSize); GTScanRequest.serializer.serialize(scanRequest, buffer); buffer.flip(); scanRequestByteString = HBaseZeroCopyByteString.wrap(buffer.array(), buffer.position(), buffer.limit()); break; } catch (BufferOverflowException boe) { logger.info("Buffer size {} cannot hold the scan request, resizing to 4 times", scanRequestBufferSize); scanRequestBufferSize *= 4; } } return scanRequestByteString; }
public static ByteString serializeRawScans(List<RawScan> rawScans) { ByteString rawScanByteString; int rawScanBufferSize = BytesSerializer.SERIALIZE_BUFFER_SIZE; while (true) { try { ByteBuffer rawScanBuffer = ByteBuffer.allocate(rawScanBufferSize); BytesUtil.writeVInt(rawScans.size(), rawScanBuffer); for (RawScan rs : rawScans) { RawScan.serializer.serialize(rs, rawScanBuffer); } rawScanBuffer.flip(); rawScanByteString = HBaseZeroCopyByteString.wrap(rawScanBuffer.array(), rawScanBuffer.position(), rawScanBuffer.limit()); break; } catch (BufferOverflowException boe) { logger.info("Buffer size {} cannot hold the raw scans, resizing to 4 times", rawScanBufferSize); rawScanBufferSize *= 4; } } return rawScanByteString; }
BytesUtil.writeAsciiString(CubeCodeSystem.class.getCanonicalName(), out); TrimmedCubeCodeSystem trimmed = ((CubeCodeSystem) value.codeSystem).trimForCoprocessor(); TrimmedCubeCodeSystem.serializer.serialize(trimmed, out); } else if (value.codeSystem != null) { BytesUtil.writeAsciiString(value.codeSystem.getClass().getCanonicalName(), out); throw new RuntimeException("failed to get serializer for " + value.codeSystem.getClass(), e); serializer.serialize(value.codeSystem, out); } else { throw new IllegalStateException("code system cannot be null"); BytesUtil.writeVInt(value.colTypes.length, out); for (DataType dataType : value.colTypes) { DataType.serializer.serialize(dataType, out); ImmutableBitSet.serializer.serialize(value.colPreferIndex, out); ImmutableBitSet.serializer.serialize(value.primaryKey, out); BytesUtil.writeVInt(value.colBlocks.length, out); for (ImmutableBitSet x : value.colBlocks) { ImmutableBitSet.serializer.serialize(x, out);