abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-1995][STO] Abort write txn when index cannot be 
flushed
......................................................................


Patch Set 4:

(4 comments)

Murtadha, this change needs better tests IMO. Can be done later but we need to 
cover different cases when it comes to component states and when is the disk 
full detected!

https://asterix-gerrit.ics.uci.edu/#/c/1896/4/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java:

PS4, Line 226: ("target", "io", "dir")
Can we keep this defined in one place?


https://asterix-gerrit.ics.uci.edu/#/c/1896/4/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/storage/DiskIsFullTest.java
File 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/storage/DiskIsFullTest.java:

PS4, Line 156: Assert.assertEquals(cause.getErrorCode(), 
expectedException.getErrorCode());
check both error code and component?


https://asterix-gerrit.ics.uci.edu/#/c/1896/4/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:

PS4, Line 511: lsmIndex.markAsValid(newComponent);
If I recall correctly, in markAsValid, we wait for the pages to be flushed to 
disk... but I am not sure.

For sure, this was one of the comments I received on one of my abandoned 
changes. worth checking as it may change the meaning of failed flush?


PS4, Line 677: final Optional<ILSMMemoryComponent> any = 
lsmIndex.getMemoryComponents().stream()
             :                 .filter(c -> c.getState() == 
ComponentState.INACTIVE || c.getState() == ComponentState.READABLE_WRITABLE
             :                         || c.getState() == 
ComponentState.READABLE_UNWRITABLE_FLUSHING).findAny();
double check object creation in this since it is called frequently!


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I28592c30c788f4a6f44db8b47a84bc77f6b3f8f3
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mhub...@apache.org>
Gerrit-Reviewer: Dmitry Lychagin <dmitry.lycha...@couchbase.com>
Gerrit-Reviewer: Ian Maxon <ima...@apache.org>
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Yingyi Bu <buyin...@gmail.com>
Gerrit-Reviewer: abdullah alamoudi <bamou...@gmail.com>
Gerrit-HasComments: Yes

Reply via email to