private void clearAllStoredData() { int i = fileControl.length; clearInProgress = (byte)i; clearIdMap(); isDirty = false; fileSizeWritten = 0; while (--i>=0) { //clear every file Pipe<SequentialCtlSchema> output = fileControl[i]; Pipe.presumeRoomForWrite(output); FragmentWriter.write(output, SequentialCtlSchema.MSG_CLEAR_2); } }
Pipe.publishEOF(loadProducerResponses); requestShutdown(); return; if (0==waitCount) { assert(activeIdx>=0); fileResponseProcessing(); didWork |= writePhase(); } else if (MODE_READ_DATA == mode) { //second most common case didWork |= replayPhase(); } else if (MODE_COMPACT_READ_DATA == mode) { //third most common didWork |= compactDataPhase(); } else if (MODE_READ_RELEASES == mode) { //only needed when dirty didWork |= readReleasedBlockIdsPhase(MODE_READ_DATA); } else if (MODE_COMPACT_READ_RELEASES == mode) { //only needed when dirty didWork |= readReleasedBlockIdsPhase(MODE_COMPACT_READ_DATA); didWork |= initPhase();
maxId = blockId; writeBlock(blockId, Pipe.openInputStream(storeProducerRequests), fileOutput[activeIdx], fileControl[activeIdx]); detectAndTriggerCompaction(); break; case -1: storeReleaseOfId(Pipe.takeLong(storeConsumerRequests)); break; case PersistedBlobStoreConsumerSchema.MSG_REQUESTREPLAY_6: requestReplayOfStoredBlocks(); break; case PersistedBlobStoreConsumerSchema.MSG_CLEAR_12: clearAllStoredData(); break; case -1:
} else { if (!isReleased(id)) { writeBlock(id, reader, fileOutput[newActiveIdx], fileControl[newActiveIdx]);
SequentialReplayerStage stage = new SequentialReplayerStage(gm, toStoreConsumer, toStoreProducer, fromStoreRelease, fromStoreConsumer, fromStoreProducer, SequentialReplayerStage stage = new SequentialReplayerStage(gm, toStoreConsumer, toStoreProducer, fromStoreRelease, fromStoreConsumer, fromStoreProducer,
consumed = consumeBlock(reader); } else {
} else { if (!isReleased(id)) {
if (isDirty) { clearIdMap();