Hello Jenkins, I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/1798 to look at the new patch set (#10). Change subject: [ASTERIXDB-1952][TX][IDX]Log incoming filter vals ...................................................................... [ASTERIXDB-1952][TX][IDX]Log incoming filter vals - user model changes: no - interface changes: yes, for txn context - storage format changes: yes, to log details: - Prior to this patch the filter values were not correct on recovery. The tuple that was logged came from within the wrapped indexand contained only the values to be stored. In filtered scenarios this differs with what is fed to the LSM wrapper to a respective index. redo plays the log to the LSM wrapped index, so the input was simply not the same on redo as it was during live ingestion. Three are other ways to remedy this but the most straightforward is to simply log what is given on input, and this is what this patch does. - There is also a small fix for the way filters are accessed for 2ndary to primary search with an rtree index Change-Id: I9268fe0b60145545c5933bab698d651c324397d7 --- A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.1.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.2.ddl.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.3.update.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.4.txneu.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.5.txnqbc.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.6.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.7.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.8.txnqar.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_index_only_filtered/primary_index_only_filtered.9.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.1.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.2.ddl.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.3.update.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.4.txneu.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.5.txnqbc.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.6.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.7.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.8.txnqar.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_default_secondary_index_filtered/primary_plus_default_secondary_index_filtered.9.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.1.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.2.ddl.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.3.update.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.4.txneu.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.5.txnqbc.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.6.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.7.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.8.txnqar.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_keyword_secondary_index_filtered/primary_plus_keyword_secondary_index_filtered.9.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.1.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.2.ddl.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.3.update.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.4.txneu.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.5.txnqbc.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.6.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.7.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.8.txnqar.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/primary_plus_multiple_secondary_indices_filtered.9.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.1.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.2.ddl.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.3.update.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.4.txneu.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.5.txnqbc.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.6.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.7.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.8.txnqar.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_ngram_index_filtered/primary_plus_ngram_index_filtered.9.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.1.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.2.ddl.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.3.update.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.4.txneu.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.5.txnqbc.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.6.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.7.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.8.txnqar.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_filtered/primary_plus_rtree_index_filtered.9.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.1.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.2.ddl.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.3.update.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.4.txneu.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.5.txnqbc.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.6.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.7.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.8.txnqar.aql A asterixdb/asterix-installer/src/test/resources/transactionts/queries/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/primary_plus_rtree_index_insert_and_delete_filtered.9.script.aql A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_index_only_filtered/create_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_index_only_filtered/kill_cc_and_nc.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_index_only_filtered/stop_and_delete.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_index_only_filtered/stop_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_default_secondary_index_filtered/create_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_default_secondary_index_filtered/kill_cc_and_nc.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_default_secondary_index_filtered/stop_and_delete.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_default_secondary_index_filtered/stop_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_keyword_secondary_index_filtered/create_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_keyword_secondary_index_filtered/kill_cc_and_nc.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_keyword_secondary_index_filtered/stop_and_delete.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_keyword_secondary_index_filtered/stop_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/create_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/kill_cc_and_nc.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/stop_and_delete.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_multiple_secondary_indices_filtered/stop_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_ngram_index_filtered/create_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_ngram_index_filtered/kill_cc_and_nc.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_ngram_index_filtered/stop_and_delete.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_ngram_index_filtered/stop_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_filtered/create_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_filtered/kill_cc_and_nc.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_filtered/stop_and_delete.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_filtered/stop_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/create_and_start.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/kill_cc_and_nc.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/stop_and_delete.sh A asterixdb/asterix-installer/src/test/resources/transactionts/scripts/recover_after_abort/primary_plus_rtree_index_insert_and_delete_filtered/stop_and_start.sh M asterixdb/asterix-installer/src/test/resources/transactionts/testsuite.xml M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexOperationContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexAccessor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/PartitionedInMemoryInvertedIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/PartitionedInMemoryInvertedIndexAccessor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/AbstractLSMRTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTreeOpContext.java 109 files changed, 2,675 insertions(+), 21 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/98/1798/10 -- To view, visit https://asterix-gerrit.ics.uci.edu/1798 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9268fe0b60145545c5933bab698d651c324397d7 Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ian Maxon <ima...@apache.org> Gerrit-Reviewer: Ian Maxon <ima...@apache.org> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Jianfeng Jia <jianfeng....@gmail.com> Gerrit-Reviewer: Luo Chen <cl...@uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Murtadha Hubail <hubail...@gmail.com> Gerrit-Reviewer: Taewoo Kim <wangs...@gmail.com>