arrow icon indicating copy to clipboard operation
arrow copied to clipboard

ARROW-17837: [C++][Acero] Create ExecPlan-owned QueryContext that will store a plan's shared data structures

Open save-buffer opened this issue 2 years ago • 4 comments

save-buffer avatar Sep 24 '22 02:09 save-buffer

https://issues.apache.org/jira/browse/ARROW-17837

github-actions[bot] avatar Sep 24 '22 02:09 github-actions[bot]

:warning: Ticket has no components in JIRA, make sure you assign one.

github-actions[bot] avatar Sep 24 '22 02:09 github-actions[bot]

:warning: Ticket has not been started in JIRA, please click 'Start Progress'.

github-actions[bot] avatar Sep 24 '22 02:09 github-actions[bot]

Seems like the only failure is in the scanner (again probably caused by scanner refactor):

[ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b
[262](https://github.com/apache/arrow/actions/runs/3176942289/jobs/5176817702#step:11:263)
terminate called after throwing an instance of 'std::system_error'
[263](https://github.com/apache/arrow/actions/runs/3176942289/jobs/5176817702#step:11:264)
  what():  Resource temporarily unavailable
[264](https://github.com/apache/arrow/actions/runs/3176942289/jobs/5176817702#step:11:265)
terminate called recursively
[265](https://github.com/apache/arrow/actions/runs/3176942289/jobs/5176817702#step:11:266)

save-buffer avatar Oct 03 '22 20:10 save-buffer

@save-buffer I had to make a few minor changes (hiding QueryContext from the public API). Feel free to suggest alternative approaches in a future PR if you disagree.

westonpace avatar Dec 22 '22 19:12 westonpace

Benchmark runs are scheduled for baseline = ff1002056ec394811734fe00565b29e4ba15ec22 and contender = 54c487bf279a6129547e893d8b90a6813f1f12ab. 54c487bf279a6129547e893d8b90a6813f1f12ab is a master commit associated with this PR. Results will be available as each benchmark for each run completes. Conbench compare runs links: [Finished :arrow_down:0.0% :arrow_up:0.0%] ec2-t3-xlarge-us-east-2 [Failed] test-mac-arm [Finished :arrow_down:0.26% :arrow_up:1.53%] ursa-i9-9960x [Finished :arrow_down:0.86% :arrow_up:0.1%] ursa-thinkcentre-m75q Buildkite builds: [Finished] 54c487bf ec2-t3-xlarge-us-east-2 [Failed] 54c487bf test-mac-arm [Finished] 54c487bf ursa-i9-9960x [Finished] 54c487bf ursa-thinkcentre-m75q [Finished] ff100205 ec2-t3-xlarge-us-east-2 [Failed] ff100205 test-mac-arm [Finished] ff100205 ursa-i9-9960x [Finished] ff100205 ursa-thinkcentre-m75q Supported benchmarks: ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True test-mac-arm: Supported benchmark langs: C++, Python, R ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

ursabot avatar Dec 23 '22 04:12 ursabot

@github-actions crossbow submit test-ubuntu-20.04-cpp-20

kou avatar Dec 27 '22 06:12 kou

Revision: 84cc75fab76e20e1eb9108f3d1b1591279322cd1

Submitted crossbow builds: ursacomputing/crossbow @ actions-5a033ea620

Task Status
test-ubuntu-20.04-cpp-20 Github Actions

github-actions[bot] avatar Dec 27 '22 06:12 github-actions[bot]

@save-buffer @westonpace It seems that this broke test-ubuntu-20.04-cpp-20. Could you confirm this?

https://github.com/ursacomputing/crossbow/actions/runs/3785729320/jobs/6436002570#step:5:2976

FAILED: src/arrow/CMakeFiles/arrow_objlib.dir/compute/exec/source_node.cc.o 
/usr/local/bin/sccache /usr/bin/c++  -DARROW_EXPORTING -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_HDFS -DARROW_MIMALLOC -DARROW_NO_DEPRECATED_API -DARROW_WITH_BACKTRACE -DARROW_WITH_BROTLI -DARROW_WITH_BZ2 -DARROW_WITH_LZ4 -DARROW_WITH_RE2 -DARROW_WITH_SNAPPY -DARROW_WITH_TIMING_TESTS -DARROW_WITH_UTF8PROC -DARROW_WITH_ZLIB -DARROW_WITH_ZSTD -DBOOST_ALL_NO_LIB -DURI_STATIC_BUILD -Isrc -I/arrow/cpp/src -I/arrow/cpp/src/generated -isystem /arrow/cpp/thirdparty/flatbuffers/include -isystem /arrow/cpp/thirdparty/hadoop/include -isystem orc_ep-install/include -isystem protobuf_ep-install/include -isystem google_cloud_cpp_ep-install/include -isystem absl_ep-install/include -isystem crc32c_ep-install/include -isystem awssdk_ep-install/include -isystem opentelemetry_ep-install/include -isystem xsimd_ep/src/xsimd_ep-install/include -isystem jemalloc_ep-prefix/src -isystem mimalloc_ep/src/mimalloc_ep/include/mimalloc-2.0 -Wno-noexcept-type  -fdiagnostics-color=always -ggdb -O0  -Wall -Wno-conversion -Wno-sign-conversion -Wunused-result -Werror -fno-semantic-interposition -msse4.2  -g -fPIC   -pthread -std=c++2a -MD -MT src/arrow/CMakeFiles/arrow_objlib.dir/compute/exec/source_node.cc.o -MF src/arrow/CMakeFiles/arrow_objlib.dir/compute/exec/source_node.cc.o.d -o src/arrow/CMakeFiles/arrow_objlib.dir/compute/exec/source_node.cc.o -c /arrow/cpp/src/arrow/compute/exec/source_node.cc
In file included from /arrow/cpp/src/arrow/buffer.h:29,
                 from /arrow/cpp/src/arrow/array/data.h:26,
                 from /arrow/cpp/src/arrow/compute/exec.h:31,
                 from /arrow/cpp/src/arrow/compute/exec/source_node.cc:22:
/arrow/cpp/src/arrow/compute/exec/source_node.cc: In lambda function:
/arrow/cpp/src/arrow/compute/exec/source_node.cc:139:75: error: implicit capture of 'this' via '[=]' is deprecated in C++20 [-Werror=deprecated]
  139 |                        RETURN_NOT_OK(plan_->query_context()->ScheduleTask([=]() {
      |                                                                           ^
/arrow/cpp/src/arrow/status.h:57:62: note: in definition of macro 'ARROW_RETURN_NOT_OK'
   57 |     ::arrow::Status __s = ::arrow::internal::GenericToStatus(status); \
      |                                                              ^~~~~~
/arrow/cpp/src/arrow/compute/exec/source_node.cc:139:24: note: in expansion of macro 'RETURN_NOT_OK'
  139 |                        RETURN_NOT_OK(plan_->query_context()->ScheduleTask([=]() {
      |                        ^~~~~~~~~~~~~
/arrow/cpp/src/arrow/compute/exec/source_node.cc:139:75: note: add explicit 'this' or '*this' capture
  139 |                        RETURN_NOT_OK(plan_->query_context()->ScheduleTask([=]() {
      |                                                                           ^
/arrow/cpp/src/arrow/status.h:57:62: note: in definition of macro 'ARROW_RETURN_NOT_OK'
   57 |     ::arrow::Status __s = ::arrow::internal::GenericToStatus(status); \
      |                                                              ^~~~~~
/arrow/cpp/src/arrow/compute/exec/source_node.cc:139:24: note: in expansion of macro 'RETURN_NOT_OK'
  139 |                        RETURN_NOT_OK(plan_->query_context()->ScheduleTask([=]() {
      |                        ^~~~~~~~~~~~~
cc1plus: all warnings being treated as errors

kou avatar Dec 27 '22 07:12 kou