This is an automated email from the ASF dual-hosted git repository.

wyk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 40bef5cbdd [ASTERIXDB-3443][STO] Fix pinEachRange calc.
40bef5cbdd is described below

commit 40bef5cbdd8c45bea763ed60764a6fd4e5d99904
Author: Wail Alkowaileet <[email protected]>
AuthorDate: Mon Jun 24 14:43:47 2024 -0700

    [ASTERIXDB-3443][STO] Fix pinEachRange calc.
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    When doing pinEachRange, certain pages could be
    ignored due to incorrect loop condition.
    
    Change-Id: I607abc7eb07d4aa3998692cf1f4d76af9f809f10
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18398
    Integration-Tests: Jenkins <[email protected]>
    Reviewed-by: Wail Alkowaileet <[email protected]>
    Tested-by: Wail Alkowaileet <[email protected]>
---
 asterixdb/LICENSE                                  | 32 ++++++++++++++++++++++
 .../converter/AbstractComplexConverter.java        |  1 -
 .../cloud/buffercache/read/PageRangesComputer.java |  3 +-
 3 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/asterixdb/LICENSE b/asterixdb/LICENSE
index cc61b932d9..4c63d0162f 100644
--- a/asterixdb/LICENSE
+++ b/asterixdb/LICENSE
@@ -744,3 +744,35 @@
    PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 ---
 
+   Portions of the AsterixDB csv-spectrum tests
+       located at:
+       and
+         asterix-app/data/csv-spectrum/*
+
+   are available under BSD:
+---
+   Copyright (c) 2013, Max Ogden
+   All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without 
modification,
+   are permitted provided that the following conditions are met:
+
+   Redistributions of source code must retain the above copyright notice, this 
list
+   of conditions and the following disclaimer.
+   Redistributions in binary form must reproduce the above copyright notice, 
this
+   list of conditions and the following disclaimer in the documentation and/or
+   other materials provided with the distribution.
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
LIABLE FOR
+   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+   ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 
THIS
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+---
+
+
+
diff --git 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/hdfs/parquet/converter/AbstractComplexConverter.java
 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/hdfs/parquet/converter/AbstractComplexConverter.java
index abf2870a99..53c7aa5a12 100644
--- 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/hdfs/parquet/converter/AbstractComplexConverter.java
+++ 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/hdfs/parquet/converter/AbstractComplexConverter.java
@@ -22,7 +22,6 @@ import java.io.DataOutput;
 import java.io.IOException;
 
 import 
org.apache.asterix.external.input.record.reader.hdfs.parquet.AsterixTypeToParquetTypeVisitor;
-import 
org.apache.asterix.external.input.record.reader.hdfs.parquet.converter.nested.ArrayConverter;
 import 
org.apache.asterix.external.input.record.reader.hdfs.parquet.converter.nested.ObjectConverter;
 import 
org.apache.asterix.external.input.record.reader.hdfs.parquet.converter.nested.ObjectRepeatedConverter;
 import 
org.apache.asterix.external.input.record.reader.hdfs.parquet.converter.nested.RepeatedConverter;
diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/PageRangesComputer.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/PageRangesComputer.java
index 28612c49d2..b38be74fd9 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/PageRangesComputer.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/PageRangesComputer.java
@@ -147,8 +147,7 @@ final class PageRangesComputer extends 
AbstractPageRangesComputer {
 
     private void pinEachRange(CloudMegaPageReadContext ctx, IBufferCache 
bufferCache, int fileId, int pageZeroId)
             throws HyracksDataException {
-        int numberOfRanges = getNumberOfRanges();
-        for (int i = 0; i < numberOfRanges; i += 2) {
+        for (int i = 0; i < pageRanges.size(); i += 2) {
             int start = pageRanges.getInt(i);
             int end = pageRanges.getInt(i + 1);
             int numberOfPages = end - start + 1;

Reply via email to