>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]>
