@Override public void finishedDeployment(String name, CompositeVDB vdb) { if (!vdb.getVDB().getStatus().equals(Status.ACTIVE)) { return; } GlobalTableStore gts = CompositeGlobalTableStore.createInstance(vdb, dqp.getBufferManager(), replicator); vdb.getVDB().addAttchment(GlobalTableStore.class, gts); }
@Test public void testSerialThreadBoundClose() throws Exception { agds.setSleep(100); agds.threadBound = true; core.setUserRequestSourceConcurrency(1); String sql = "SELECT IntKey FROM BQT1.SmallA"; //$NON-NLS-1$ String userName = "logon"; //$NON-NLS-1$ ((BufferManagerImpl)core.getBufferManager()).setProcessorBatchSize(1); RequestMessage reqMsg = exampleRequestMessage(sql); //execute by don't finish the work execute(userName, 1, reqMsg); //make sure the source request is still closed assertEquals(1, agds.getCloseCount().get()); }
@Test public void testUsingFinalBuffer() throws Exception { String sql = "select intkey from bqt1.smalla order by intkey"; ((BufferManagerImpl)core.getBufferManager()).setProcessorBatchSize(2); agds.sleep = 50; RequestMessage reqMsg = exampleRequestMessage(sql); Future<ResultsMessage> message = core.executeRequest(reqMsg.getExecutionId(), reqMsg); ResultsMessage rm = message.get(500000, TimeUnit.MILLISECONDS); assertNull(rm.getException()); assertEquals(10, rm.getResultsList().size()); message = core.processCursorRequest(reqMsg.getExecutionId(), 3, 2); rm = message.get(500000, TimeUnit.MILLISECONDS); assertNull(rm.getException()); assertEquals(2, rm.getResultsList().size()); }
@Test public void testFinalRow() throws Exception { String sql = "SELECT A.IntKey FROM BQT1.SmallA as A"; //$NON-NLS-1$ String userName = "1"; //$NON-NLS-1$ String sessionid = "1"; //$NON-NLS-1$ RequestMessage reqMsg = exampleRequestMessage(sql); reqMsg.setCursorType(ResultSet.TYPE_FORWARD_ONLY); DQPWorkContext.getWorkContext().getSession().setSessionId(sessionid); DQPWorkContext.getWorkContext().getSession().setUserName(userName); ((BufferManagerImpl)core.getBufferManager()).setProcessorBatchSize(10); Future<ResultsMessage> message = core.executeRequest(reqMsg.getExecutionId(), reqMsg); ResultsMessage rm = message.get(500000, TimeUnit.MILLISECONDS); assertNull(rm.getException()); assertEquals(10, rm.getResultsList().size()); RequestWorkItem item = core.getRequestWorkItem(DQPWorkContext.getWorkContext().getRequestID(reqMsg.getExecutionId())); while(item.isProcessing()); synchronized (item) { for (int i = 0; i < 100; i++) { Thread.sleep(10); } } assertEquals(10, item.resultsBuffer.getRowCount()); }
@Test public void testBufferReuse() throws Exception { //the sql should return 100 rows String sql = "SELECT A.IntKey FROM BQT1.SmallA as A, BQT1.SmallA as B ORDER BY A.IntKey"; //$NON-NLS-1$ String userName = "1"; //$NON-NLS-1$ String sessionid = "1"; //$NON-NLS-1$ RequestMessage reqMsg = exampleRequestMessage(sql); reqMsg.setCursorType(ResultSet.TYPE_FORWARD_ONLY); DQPWorkContext.getWorkContext().getSession().setSessionId(sessionid); DQPWorkContext.getWorkContext().getSession().setUserName(userName); ((BufferManagerImpl)core.getBufferManager()).setProcessorBatchSize(1); Future<ResultsMessage> message = core.executeRequest(reqMsg.getExecutionId(), reqMsg); ResultsMessage rm = message.get(500000, TimeUnit.MILLISECONDS); assertNull(rm.getException()); assertEquals(8, rm.getResultsList().size()); RequestWorkItem item = core.getRequestWorkItem(DQPWorkContext.getWorkContext().getRequestID(reqMsg.getExecutionId())); assertEquals(100, item.resultsBuffer.getRowCount()); }
DQPWorkContext.getWorkContext().getSession().setSessionId(sessionid); DQPWorkContext.getWorkContext().getSession().setUserName(userName); BufferManagerImpl bufferManager = (BufferManagerImpl)core.getBufferManager(); bufferManager.setProcessorBatchSize(20); Future<ResultsMessage> message = core.executeRequest(reqMsg.getExecutionId(), reqMsg);
DQPWorkContext.getWorkContext().getSession().setSessionId(sessionid); DQPWorkContext.getWorkContext().getSession().setUserName(userName); ((BufferManagerImpl)core.getBufferManager()).setProcessorBatchSize(1); Future<ResultsMessage> message = core.executeRequest(reqMsg.getExecutionId(), reqMsg); ResultsMessage rm = message.get(500000, TimeUnit.MILLISECONDS);
int totalSize = rowSize * resultsBuffer.getBatchSize(); if (schemaSize == 0) { schemaSize = this.dqpCore.getBufferManager().getSchemaSize(this.originalCommand.getProjectedSymbols());
int totalSize = rowSize * resultsBuffer.getBatchSize(); if (schemaSize == 0) { schemaSize = this.dqpCore.getBufferManager().getSchemaSize(this.originalCommand.getProjectedSymbols());
int totalSize = rowSize * resultsBuffer.getBatchSize(); if (schemaSize == 0) { schemaSize = this.dqpCore.getBufferManager().getSchemaSize(this.originalCommand.getProjectedSymbols());