>From Ian Maxon <[email protected]>:

Attention is currently required from: Hongyu Shi.

Ian Maxon has posted comments on this change by Hongyu Shi. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21099?usp=email )

Change subject: [ASTERIXDB-3754] Storage layer of VTree index - patch 1
......................................................................


Patch Set 12:

(5 comments)

File 
hyracks-fullstack/hyracks/hyracks-storage-am-vtree/src/main/java/org/apache/hyracks/storage/am/vector/api/IVTreeDataFrame.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21099/comment/0b2f1c1a_4ce78a7d?usp=email
 :
PS2, Line 67: void split(VTreeDataFrame rightFrame, ITupleReference tuple, int 
insertIndex) throws HyracksDataException;
            :
            :     int findInsertPosition(double distance) throws 
HyracksDataException;
> added in VTreeDataFrame
i mean it's nice to have it in the interface if we anticipate there may be 
other implementations of it, because then the meaning of the method is clear 
between all implementations


File 
hyracks-fullstack/hyracks/hyracks-storage-am-vtree/src/main/java/org/apache/hyracks/storage/am/vector/api/IVTreeDistanceFunctionFactory.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21099/comment/6a4f72f4_507fbac6?usp=email
 :
PS12, Line 35: public interface IVTreeDistanceFunctionFactory extends 
Serializable, IJsonSerializable {
i don't understand this interface. why is this needed instead of implementing 
or extending IBinaryComparatorFactory?
additionally, i'm pretty sure even if there is a reason to use this instead of 
a binary comparator, it needs to be listed in PersistedResourceRegistry


File 
hyracks-fullstack/hyracks/hyracks-storage-am-vtree/src/main/java/org/apache/hyracks/storage/am/vector/impls/VTree.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21099/comment/f7ff414b_392bf8e6?usp=email
 :
PS12, Line 504:  /**
              :      * In-place deletion with three-scenario handling (follows 
LSMBTree pattern):
              :      * 1. Tuple not found → Insert antimatter (delegates to 
insertIntoDataPages)
              :      * 2. Tuple found (matter only) → Physical DELETE
              :      * 3. Tuple found (after antimatter was replaced by matter 
during reinsertion) → Physical DELETE
              :      */
i don't get this part. this is VTree, there should be no antimatter here. that 
should be in the LSM harness. right?


File 
hyracks-fullstack/hyracks/hyracks-storage-am-vtree/src/main/java/org/apache/hyracks/storage/am/vector/impls/VTreeBulkLoader.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21099/comment/95a1298c_28600c6e?usp=email
 :
PS12, Line 152: staticPageContents = new ArrayList<>();
              :         for (int pageId = 0; pageId <= maxPageId; pageId++) {
              :             ICachedPage sourcePage = 
vTreeAccessor.getCachedPage(pageId);
              :             byte[] content = new 
byte[sourcePage.getBuffer().capacity()];
              :             System.arraycopy(sourcePage.getBuffer().array(), 0, 
content, 0, content.length);
              :             staticPageContents.add(content);
              :             vTreeAccessor.releasePage(sourcePage);
              :         }
why do we have to eagerly copy everything into memory here?


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21099/comment/28fd24af_949f0e3a?usp=email
 :
PS12, Line 216: if (spaceNeeded > spaceAvailable) {
              :                 if (currentDataFrame.getTupleCount() == 0) {
              :                     bufferCache.returnPage(currentDataPage, 
false);
              :                 }
              :                 // Data page full - write it to disk immediately
              :                 finishCurrentDataPage(false);
              :             }
what happens here if a vector is bigger than a page? is there a guard for it 
higher up the stack? won't we get into a bad loop here writing empty pages?



--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21099?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Id613553fb11bf97ca9c75ae843dee470acc36b5d
Gerrit-Change-Number: 21099
Gerrit-PatchSet: 12
Gerrit-Owner: Hongyu Shi <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-CC: Ian Maxon <[email protected]>
Gerrit-Attention: Hongyu Shi <[email protected]>
Gerrit-Comment-Date: Thu, 02 Jul 2026 18:59:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Ian Maxon <[email protected]>
Comment-In-Reply-To: Hongyu Shi <[email protected]>

Reply via email to