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 <mhub...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Ian Maxon <ima...@apache.org>
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Luo Chen <cl...@uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mhub...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: abdullah alamoudi <bamou...@gmail.com>
Gerrit-HasComments: Yes

Reply via email to