abdullah alamoudi has posted comments on this change. Change subject: [NO ISSUE][STO] Component Rollback Through flushes and merges ......................................................................
Patch Set 11: (6 comments) https://asterix-gerrit.ics.uci.edu/#/c/2017/11//COMMIT_MSG Commit Message: PS11, Line 12: index > mention the class names? Done PS11, Line 15: It can be used : for streams used for data syncing > ? Done https://asterix-gerrit.ics.uci.edu/#/c/2017/11/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java: PS11, Line 772: assumes that the flush has succeeded > Can we validate this assumption? An issue has been created. https://issues.apache.org/jira/browse/ASTERIXDB-2106 A workaround has been performed PS11, Line 787: if (!predicate.test(component)) { : break; : } > If we didn't do this, would this be a generic form of deleting components? That is correct. It depends on the predicate. Expected predicate would read the metadata page. but the predicate is essentially free to do whatever. PS11, Line 808: private void waitForFlushesAndMerges() throws HyracksDataException { : while (true) { : boolean canProceed = true; : // ensure that no flushes are taking place : for (ILSMMemoryComponent memComponent : lsmIndex.getMemoryComponents()) { : if (memComponent.getState() == ComponentState.READABLE_UNWRITABLE_FLUSHING) { : canProceed = false; : break; : } : } : if (canProceed) { : // ensure that no merges are taking place : for (ILSMDiskComponent diskComponent : lsmIndex.getDiskComponents()) { : if (diskComponent.getState() == ComponentState.READABLE_MERGING) { : canProceed = false; : break; : } : } : } : if (canProceed) { : break; : } : try { : opTracker.wait(); // NOSONAR: OpTracker is always synchronized here : } catch (InterruptedException e) { : LOGGER.log(Level.WARNING, "Interrupted while attempting component level rollback", e); : Thread.currentThread().interrupt(); : throw HyracksDataException.create(e); : } : } : } > How about this? Done https://asterix-gerrit.ics.uci.edu/#/c/2017/11/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/impl/TestLsmBtreeUtil.java File hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/impl/TestLsmBtreeUtil.java: Line 103: > remove empty line? Done -- To view, visit https://asterix-gerrit.ics.uci.edu/2017 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I178656207bfa1d15e6ae5ff2403a16df33940773 Gerrit-PatchSet: 11 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudi <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Till Westmann <[email protected]> Gerrit-Reviewer: abdullah alamoudi <[email protected]> Gerrit-HasComments: Yes
