Yingyi Bu has posted comments on this change.

Change subject: Avoid always merging old components in prefix policy
......................................................................


Patch Set 5:

(5 comments)

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

PS5, Line 47: take
taken


PS5, Line 270: @return
complete the java doc


PS5, Line 275: immutableComponents.get(i).getState() != 
ComponentState.READABLE_UNWRITABLE
This probably won't happen because this method is called from a synchronized 
block from LSMHarness?


PS5, Line 284: immutableComponents.get(j).getState() != 
ComponentState.READABLE_UNWRITABL
This probably won't happen because this method is called from a synchronized 
block from LSMHarness?


PS5, Line 303:  // otherwise, we can look ahead to see if adding more younger 
components
             :                     // could pass the ratio check.
It looks to me that the old algorithm is O(2*n) for the worst case. However, I 
suspect this algorithm is of O(n^2) for the worst case.

This method, as part of diskComponentAdded() is run in the synchronized block 
of primaryIndexOpTracker,  i.e., synchronized(opTracker) in LSMHarness.  That 
means, this method will block consequent reads, writes, merges, and flushes on 
all local partitions of the dataset until it's done.

Therefore, the algorithm here has to be very fast.  However, I couldn't think 
of a O(n) approach quickly -- maybe it's not possible...  But running that with 
O(n^2) doesn't seem desirable.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I464da3fed38cded0aee7b319a35664eae069a2ba
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Luo Chen <[email protected]>
Gerrit-Reviewer: Ian Maxon <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Jianfeng Jia <[email protected]>
Gerrit-Reviewer: Luo Chen <[email protected]>
Gerrit-Reviewer: Yingyi Bu <[email protected]>
Gerrit-Reviewer: abdullah alamoudi <[email protected]>
Gerrit-HasComments: Yes

Reply via email to