Murtadha Hubail has posted comments on this change. Change subject: [NO ISSUE][TX] Ensure Uncommitted Atomic Txns Not Flushed ......................................................................
Patch Set 6: (3 comments) https://asterix-gerrit.ics.uci.edu/#/c/2456/6/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/AtomicTransactionContext.java File asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/AtomicTransactionContext.java: PS6, Line 84: opTracker.getValue().completeOperation(null, LSMOperationType.FORCE_MODIFICATION, null, : callbacks.get(resId)); > why do we do this exact thing n (idxPendingOps) times? This was done the same n times in the removed notifyUpdateCommitted method. Whenever a txn log record hit the disk, we make a call, but now we do all the calls after txn commit or abort. This n is expected to be small (<10). We had a special code path that avoided the n calls only in the case of abort, but that special code path didn't follow the expected normal code path. https://asterix-gerrit.ics.uci.edu/#/c/2456/6/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/EntityLevelTransactionContext.java File asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/EntityLevelTransactionContext.java: PS6, Line 92: try { : e.getValue().first.completeOperation(null, LSMOperationType.MODIFICATION, null, : e.getValue().second); : } catch (HyracksDataException ex) { : throw new ACIDException(ex); : } > why do we do this exact thing n (pendingOps) times? We had a special code path that avoided the n calls, but that special code path didn't follow the expected normal code path. This n is expected to be small and is executed only when a transaction aborts. https://asterix-gerrit.ics.uci.edu/#/c/2456/6/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/InvokeUtil.java File hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/InvokeUtil.java: Line 249: throw new TimeoutException(); > should we include info on the timeout (like how long it was configured for) Done -- To view, visit https://asterix-gerrit.ics.uci.edu/2456 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: If8d5df630f1d9119002ef91da5c282da18901acc Gerrit-PatchSet: 6 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Ian Maxon <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Luo Chen <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Till Westmann <[email protected]> Gerrit-Reviewer: abdullah alamoudi <[email protected]> Gerrit-HasComments: Yes
