Murtadha Hubail has posted comments on this change.

Change subject: [NO ISSUE][STO] Add consistency to flush lifecycle
......................................................................


Patch Set 16:

(29 comments)

https://asterix-gerrit.ics.uci.edu/#/c/2584/16/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java:

PS16, Line 185: AsynchronousScheduler
define as inner static class


PS16, Line 188: warn
fatal or error


PS16, Line 194: warn
fatal or error


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/metadata/MetadataTxnTest.java
File 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/metadata/MetadataTxnTest.java:

PS16, Line 284: final MetadataTransactionContext committedMdTxn = 
MetadataManager.INSTANCE.beginTransaction();
              :             
MetadataManager.INSTANCE.addNodegroup(committedMdTxn, new 
NodeGroup(committedNodeGroup, ngNodes));
              :             
MetadataManager.INSTANCE.commitTransaction(committedMdTxn);
why is this needed?


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/ioopcallbacks/LSMIOOperationCallback.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/ioopcallbacks/LSMIOOperationCallback.java:

PS16, Line 54: public
private


PS16, Line 55: public
private


PS16, Line 106: // check status of the flush
Remove


PS16, Line 181: ILSMComponent
ILSMDiskComponent


PS16, Line 182: ILSMDiskComponent
Remove


PS16, Line 215: // check status before updating
remove


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/ioopcallbacks/LSMIndexIOOperationCallbackFactory.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/ioopcallbacks/LSMIndexIOOperationCallbackFactory.java:

PS16, Line 38: protected
private


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIOOperation.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIOOperation.java:

PS16, Line 140: @param operation
Remove


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java:

PS16, Line 87: operation
java docs


PS16, Line 87: getOperationGroupId
is the group id always the index identifier? if so, I think we should remove 
the "group" from here and replace it with something that indicates the index 
identifier.


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndexOperationContext.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndexOperationContext.java:

PS16, Line 112: void setMap(Map<String, Object> map);
I think we can still do something better explicitly for flush info in Asterix 
implementation of this interface, but this can be done in its own change.


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractIoOperation.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractIoOperation.java:

PS16, Line 87: getStatus
will state be accessed from anywhere that is not synchronized?


PS16, Line 124: return;
why not rethrow?


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java:

PS16, Line 219: 
createAccessor(NoOpIndexAccessParameters.INSTANCE).scheduleFlush().sync();
what if this triggers a merge? shouldn't we wait for it as well before 
deactivating the index?


PS16, Line 347: ScheduleFlushCalled
fix


PS16, Line 363: Map<String, Object> map = ctx.getMap();
              :         if (map != null && !map.isEmpty()) {
              :             flushCtx.setMap(new HashMap<>(map));
              :         }
refactor with the one below


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMMemoryComponent.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMMemoryComponent.java:

PS16, Line 126: case REPLICATE:
              :                 // why would replicate ever enter a memory 
component?
remove them


PS16, Line 188: to allow for a re-attempt
maybe some day :)


PS16, Line 245: // a pending schedule flush
replace this by when this can happen


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AsynchronousScheduler.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AsynchronousScheduler.java:

PS16, Line 51: operation.getIOOpertionType()
make it a switch and it would be better to extract the handling for flush


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/IoOperationExecutor.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/IoOperationExecutor.java:

PS16, Line 48: Runnable
remove


PS16, Line 70: shutdown();
why?


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/NoOpIoOperationFailedCallback.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/NoOpIoOperationFailedCallback.java:

PS16, Line 28: public
private


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/buffercache/BufferCache.java
File 
hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/buffercache/BufferCache.java:

PS16, Line 1469: return;
remove


https://asterix-gerrit.ics.uci.edu/#/c/2584/16/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ExitUtil.java
File 
hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ExitUtil.java:

PS16, Line 40: EXIT_CODE_IO_SCHEDULER_FAILED
Either use EC_ or rename the rest


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2584
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I29f7992ec6c0f71c5b63d45800b2fb590d651e4b
Gerrit-PatchSet: 16
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi <bamou...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Luo Chen <cl...@uci.edu>
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