@Override protected void doOneOp() { Object o = pool.take(); if (o != OneObjHelper.THE_OBJECT) { objects.add(o); } } }
private void processColumnCacheData(LlapSerDeDataBuffer[][][] cacheBuffers, OrcEncodedColumnBatch ecb, int colIx) { // The column has been obtained from cache. LlapSerDeDataBuffer[][] colData = cacheBuffers[colIx]; if (LlapIoImpl.CACHE_LOGGER.isTraceEnabled()) { LlapIoImpl.CACHE_LOGGER.trace("Processing cache data for column " + colIx + ": " + SerDeLowLevelCacheImpl.toString(colData)); } for (int streamIx = 0; streamIx < colData.length; ++streamIx) { if (colData[streamIx] == null) continue; ColumnStreamData cb = useObjectPools ? CSD_POOL.take() : new ColumnStreamData(); cb.incRef(); cb.setCacheBuffers(Lists.<MemoryBuffer>newArrayList(colData[streamIx])); ecb.setStreamData(colIx, streamIx, cb); } }
@Test public void testFullEmpty() { final int SIZE = 8; HashSet<Object> offered = new HashSet<>(); FixedSizedObjectPool<Object> pool = new FixedSizedObjectPool<>(SIZE, new DummyHelper(), true); Object newObj = pool.take(); for (int i = 0; i < SIZE; ++i) { Object obj = new Object(); offered.add(obj); assertTrue(pool.tryOffer(obj)); } assertFalse(pool.tryOffer(newObj)); for (int i = 0; i < SIZE; ++i) { Object obj = pool.take(); assertTrue(offered.remove(obj)); } assertTrue(offered.isEmpty()); Object newObj2 = pool.take(); assertNotSame(newObj, newObj2); }
OrcEncodedColumnBatch ecb = useObjectPools ? ECB_POOL.take() : new OrcEncodedColumnBatch(); ecb.init(fileKey, metadata.getStripeIx(), OrcEncodedColumnBatch.ALL_RGS, writerIncludes.length); ColumnStreamData cb = useObjectPools ? CSD_POOL.take() : new ColumnStreamData(); cb.incRef(); cb.setCacheBuffers(stream.data);
OrcEncodedColumnBatch ecb = useObjectPools ? ECB_POOL.take() : new OrcEncodedColumnBatch(); ecb.init(fileKey, metadata.getStripeIx(), OrcEncodedColumnBatch.ALL_RGS, writerIncludes.length); int vectorsIx = 0;
ColumnVectorBatch cvb = cvbPool.take();
private void processColumnCacheData(LlapSerDeDataBuffer[][][] cacheBuffers, OrcEncodedColumnBatch ecb, int colIx) { // The column has been obtained from cache. LlapSerDeDataBuffer[][] colData = cacheBuffers[colIx]; if (LlapIoImpl.CACHE_LOGGER.isTraceEnabled()) { LlapIoImpl.CACHE_LOGGER.trace("Processing cache data for column " + colIx + ": " + SerDeLowLevelCacheImpl.toString(colData)); } for (int streamIx = 0; streamIx < colData.length; ++streamIx) { if (colData[streamIx] == null) continue; ColumnStreamData cb = useObjectPools ? CSD_POOL.take() : new ColumnStreamData(); cb.incRef(); cb.setCacheBuffers(Lists.<MemoryBuffer>newArrayList(colData[streamIx])); ecb.setStreamData(colIx, streamIx, cb); } }
OrcEncodedColumnBatch ecb = useObjectPools ? ECB_POOL.take() : new OrcEncodedColumnBatch(); ecb.init(fileKey, metadata.getStripeIx(), OrcEncodedColumnBatch.ALL_RGS, writerIncludes.length); ColumnStreamData cb = useObjectPools ? CSD_POOL.take() : new ColumnStreamData(); cb.incRef(); cb.setCacheBuffers(stream.data);
OrcEncodedColumnBatch ecb = useObjectPools ? ECB_POOL.take() : new OrcEncodedColumnBatch(); ecb.init(fileKey, metadata.getStripeIx(), OrcEncodedColumnBatch.ALL_RGS, writerIncludes.length); int vectorsIx = 0;
ColumnVectorBatch cvb = cvbPool.take();