Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-6773

[C++] Filter kernel returns invalid data when filtering with an Array slice

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.15.0
    • Component/s: C++

      Description

      See ARROW-3808. This failing test reproduces the issue:

      --- a/cpp/src/arrow/compute/kernels/filter_test.cc
      +++ b/cpp/src/arrow/compute/kernels/filter_test.cc
      @@ -151,6 +151,12 @@ TYPED_TEST(TestFilterKernelWithNumeric, FilterNumeric) {
         this->AssertFilter("[7, 8, 9]", "[null, 1, 0]", "[null, 8]");
         this->AssertFilter("[7, 8, 9]", "[1, null, 1]", "[7, null, 9]");
       
      +  this->AssertFilterArrays(
      +    ArrayFromJSON(this->type_singleton(), "[7, 8, 9]"),
      +    ArrayFromJSON(boolean(), "[0, 1, 1, 1, 0, 1]")->Slice(3, 3),
      +    ArrayFromJSON(this->type_singleton(), "[7, 9]")
      +  );
      +
      
      arrow/cpp/src/arrow/testing/gtest_util.cc:82: Failure
      Failed
      
      @@ -2, +2 @@
      +0
      
      [  FAILED  ] TestFilterKernelWithNumeric/9.FilterNumeric, where TypeParam = arrow::DoubleType (0 ms)
      

       

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                npr Neal Richardson
                Reporter:
                npr Neal Richardson
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 10m
                  10m