Skip to content

Conversation

@lwhite1
Copy link
Contributor

@lwhite1 lwhite1 commented Jun 30, 2022

Moves the Dataset JNI C++ code from the arrow/cpp project to the arrow/java project, updating the CMakeLists.txt files as needed.

@github-actions
Copy link

@github-actions
Copy link

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@lwhite1
Copy link
Contributor Author

lwhite1 commented Jun 30, 2022

@lidavidm @davisusanibar Would you please review these changes? Thank you.

@lidavidm lidavidm self-requested a review June 30, 2022 14:08
@lidavidm
Copy link
Member

@github-actions crossbow submit java-jars

@github-actions
Copy link

Revision: 558ed60

Submitted crossbow builds: ursacomputing/crossbow @ actions-58e01587a4

Task Status
java-jars Github Actions

Copy link
Member

@lidavidm lidavidm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, the CI fails. We need to update the CI:

cp -L ${build_dir}/lib/libarrow_dataset_jni.so ${dist_dir}

Also, we should presumably update the install instructions to match.

@lwhite1
Copy link
Contributor Author

lwhite1 commented Jun 30, 2022

Hmm, the CI fails. We need to update the CI:

cp -L ${build_dir}/lib/libarrow_dataset_jni.so ${dist_dir}

I will take a look. I see the Conda integration test also failed.

@davisusanibar
Copy link
Contributor

Hi @lwhite1 this PR are related with #13458 but at some point all cpp/src/jni directory will be deleted because this is not going to be used

@lwhite1
Copy link
Contributor Author

lwhite1 commented Jun 30, 2022

@lidavidm The error message I see (many linux build) doesn't look to me to have any direct connection to Java. (see below) Does this kind of thing happen randomly at all?

There's also a failure on Conda integration, which I'll look at now.

==========================================================
[13239](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13240)
Testing file interval_mdn
[13240](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13241)
==========================================================
[13241](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13242)
Traceback (most recent call last):
[13242](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13243)
  File "/arrow/dev/archery/archery/integration/runner.py", line 246, in _run_ipc_test_case
[13243](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13244)
    run_binaries(producer, consumer, test_case)
[13244](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13245)
  File "/arrow/dev/archery/archery/integration/runner.py", line 286, in _produce_consume
[13245](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13246)
    consumer.stream_to_file(producer_stream_path, consumer_file_path)
[13246](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13247)
  File "/arrow/dev/archery/archery/integration/tester_csharp.py", line 63, in stream_to_file
[13247](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13248)
    self.run_shell_command(cmd)
[13248](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13249)
  File "/arrow/dev/archery/archery/integration/tester.py", line 49, in run_shell_command
[13249](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13250)
    subprocess.check_call(cmd, shell=True)
[13250](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13251)
  File "/opt/conda/envs/arrow/lib/python3.10/subprocess.py", line 369, in check_call
[13251](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13252)
    raise CalledProcessError(retcode, cmd)
[13252](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13253)
subprocess.CalledProcessError: Command '/arrow/csharp/artifacts/Apache.Arrow.IntegrationTest/Debug/net6.0/Apache.Arrow.IntegrationTest --mode stream-to-file -a /tmp/tmpx3r4d6to/92368096_generated_datetime.consumer_stream_as_file < /tmp/tmpx3r4d6to/92368096_generated_datetime.producer_file_as_stream' returned non-zero exit status 1.
[13253](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13254)
################# FAILURES #################
[13254](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13255)
FAILED TEST: datetime C++ producing,  C# consuming
[13255](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13256)
[13256](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13257)
1 failures
[13257](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13258)
1
[13258](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13259)
Error: `docker-compose --file /home/runner/work/arrow/arrow/docker-compose.yml run --rm -e ARCHERY_INTEGRATION_WITH_RUST=1 conda-integration` exited with a non-zero exit code 1, see the process log above.
[13259](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13260)
[13260](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13261)
The docker-compose command was invoked with the following parameters:
[13261](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13262)
[13262](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13263)
Defaults defined in .env:
[13263](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13264)
  ALMALINUX: 8
[13264](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13265)
  ARCH: amd64
[13265](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13266)
  ARCH_ALIAS: x86_64
[13266](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13267)
  ARCH_SHORT: amd64
[13267](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13268)
  ARROW_R_DEV: TRUE
[13268](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13269)
  BUILDKIT_INLINE_CACHE: 1
[13269](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13270)
  CLANG_TOOLS: 12
[13270](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13271)
  COMPOSE_DOCKER_CLI_BUILD: 1
[13271](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13272)
  CONAN: gcc10
[13272](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13273)
  CUDA: 9.1
[13273](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13274)
  DASK: latest
[13274](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13275)
  DEBIAN: 11
[13275](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13276)
  DEVTOOLSET_VERSION: -1
[13276](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13277)
  DOCKER_BUILDKIT: 1
[13277](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13278)
  DOCKER_VOLUME_PREFIX: 
[13278](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13279)
  DOTNET: 6.0
[13279](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13280)
  FEDORA: 35
[13280](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13281)
  GCC_VERSION: 
[13281](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13282)
  GO: 1.16
[13282](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13283)
  HDFS: 3.2.1
[13283](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13284)
  JDK: 8
[13284](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13285)
  KARTOTHEK: latest
[13285](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13286)
  LLVM: 13
[13286](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13287)
  MAVEN: 3.5.4
[13287](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13288)
  NODE: 16
[13288](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13289)
  NUMPY: latest
[13289](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13290)
  PANDAS: latest
[13290](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13291)
  PYTHON: 3.8
[13291](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13292)
  PYTHON_WHEEL_WINDOWS_IMAGE_REVISION: 2022-06-12
[13292](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13293)
  R: 4.2
[13293](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13294)
  REPO: apache/arrow-dev
[13294](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13295)
  R_CUSTOM_CCACHE: false
[13295](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13296)
  R_IMAGE: ubuntu-gcc-release
[13296](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13297)
  R_ORG: rhub
[13297](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13298)
  R_PRUNE_DEPS: FALSE
[13298](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13299)
  R_TAG: latest
[13299](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13300)
  SPARK: master
[13300](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13301)
  TURBODBC: latest
[13301](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13302)
  TZ: UTC
[13302](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13303)
  UBUNTU: 20.04
[13303](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13304)
  ULIMIT_CORE: -1
[13304](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13305)
  VCPKG: 38bb87c
[13305](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13306)
[13306](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13307)
Archery was called with:
[13307](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13308)
  export DOCKER_VOLUME_PREFIX=.docker/
[13308](https://github.com/apache/arrow/runs/7132663279?check_suite_focus=true#step:7:13309)
Error: Process completed with exit code 1. 

@lidavidm
Copy link
Member

@lwhite1 ignore the integration test.

The important one is the JNI pipeline.

14:25:59.543 [main] DEBUG org.apache.arrow.memory.BaseAllocator - closed allocator[ROOT].
Error:  Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.185 s <<< FAILURE! - in org.apache.arrow.dataset.jni.TestReservationListener
Error:  testCustomReservationListener  Time elapsed: 0.105 s  <<< ERROR!
java.lang.IllegalStateException: error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so
	at org.apache.arrow.dataset.jni.TestReservationListener.testCustomReservationListener(TestReservationListener.java:75)
Error:  testDirectReservationListener  Time elapsed: 0.078 s  <<< ERROR!
java.lang.IllegalStateException: error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so
	at org.apache.arrow.dataset.jni.TestReservationListener.testDirectReservationListener(TestReservationListener.java:45)
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] Results:
[INFO] 
Error:  Failures: 
Error:    TestFileSystemDatasetFactory.testCloseAgain:41 Unexpected exception thrown: java.lang.IllegalStateException: error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so
Error:    TestFileSystemDatasetFactory.testErrorHandling:36 expected: <illegal file format id: -1> but was: <error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so>
Error:  Errors: 
Error:    TestFileSystemDataset.testBaseParquetRead:77 » IllegalState error loading nati...
Error:    TestFileSystemDataset.testEmptyProjectSelectsZeroColumns:170 » IllegalState er...
Error:    TestFileSystemDataset.testErrorThrownWhenExecuteTaskAfterTaskClose:290 » IllegalState
Error:    TestFileSystemDataset.testErrorThrownWhenIterateOnIteratorAfterTaskClose:306 » IllegalState
Error:    TestFileSystemDataset.testErrorThrownWhenScanAfterScannerClose:276 » IllegalState
Error:    TestFileSystemDataset.testErrorThrownWhenScanAgain:231 » IllegalState error lo...
Error:    TestFileSystemDataset.testNoErrorWhenCloseAgain:215 » IllegalState error loadi...
Error:    TestFileSystemDataset.testNullProjectSelectsAllColumns:193 » IllegalState erro...
Error:    TestFileSystemDataset.testParquetBatchSize:129 » IllegalState error loading na...
Error:    TestFileSystemDataset.testParquetDirectoryRead:153 » IllegalState error loadin...
Error:    TestFileSystemDataset.testParquetProjectSingleColumn:100 » IllegalState error ...
Error:    TestFileSystemDataset.testScanInOtherThread:258 » IllegalState error loading n...
Error:    TestReservationListener.testCustomReservationListener:75 » IllegalState error ...
Error:    TestReservationListener.testDirectReservationListener:45 » IllegalState error ...
[INFO] 
Error:  Tests run: 16, Failures: 2, Errors: 14, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Arrow Orc Adapter 9.0.0-SNAPSHOT ................... SUCCESS [ 20.664 s]
[INFO] Arrow Gandiva ...................................... SKIPPED
[INFO] Arrow Java Dataset 9.0.0-SNAPSHOT .................. FAILURE [ 20.780 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.469 s (Wall Clock)
[INFO] Finished at: 2022-06-30T14:26:00Z
[INFO] ------------------------------------------------------------------------

After this reorganization, what is the expected process to build and test the JNI libraries?

@lwhite1
Copy link
Contributor Author

lwhite1 commented Jun 30, 2022

@lwhite1 ignore the integration test.

The important one is the JNI pipeline.

14:25:59.543 [main] DEBUG org.apache.arrow.memory.BaseAllocator - closed allocator[ROOT].
Error:  Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.185 s <<< FAILURE! - in org.apache.arrow.dataset.jni.TestReservationListener
Error:  testCustomReservationListener  Time elapsed: 0.105 s  <<< ERROR!
java.lang.IllegalStateException: error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so
	at org.apache.arrow.dataset.jni.TestReservationListener.testCustomReservationListener(TestReservationListener.java:75)
Error:  testDirectReservationListener  Time elapsed: 0.078 s  <<< ERROR!
java.lang.IllegalStateException: error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so
	at org.apache.arrow.dataset.jni.TestReservationListener.testDirectReservationListener(TestReservationListener.java:45)
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] Results:
[INFO] 
Error:  Failures: 
Error:    TestFileSystemDatasetFactory.testCloseAgain:41 Unexpected exception thrown: java.lang.IllegalStateException: error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so
Error:    TestFileSystemDatasetFactory.testErrorHandling:36 expected: <illegal file format id: -1> but was: <error loading native libraries: java.io.FileNotFoundException: libarrow_dataset_jni.so>
Error:  Errors: 
Error:    TestFileSystemDataset.testBaseParquetRead:77 » IllegalState error loading nati...
Error:    TestFileSystemDataset.testEmptyProjectSelectsZeroColumns:170 » IllegalState er...
Error:    TestFileSystemDataset.testErrorThrownWhenExecuteTaskAfterTaskClose:290 » IllegalState
Error:    TestFileSystemDataset.testErrorThrownWhenIterateOnIteratorAfterTaskClose:306 » IllegalState
Error:    TestFileSystemDataset.testErrorThrownWhenScanAfterScannerClose:276 » IllegalState
Error:    TestFileSystemDataset.testErrorThrownWhenScanAgain:231 » IllegalState error lo...
Error:    TestFileSystemDataset.testNoErrorWhenCloseAgain:215 » IllegalState error loadi...
Error:    TestFileSystemDataset.testNullProjectSelectsAllColumns:193 » IllegalState erro...
Error:    TestFileSystemDataset.testParquetBatchSize:129 » IllegalState error loading na...
Error:    TestFileSystemDataset.testParquetDirectoryRead:153 » IllegalState error loadin...
Error:    TestFileSystemDataset.testParquetProjectSingleColumn:100 » IllegalState error ...
Error:    TestFileSystemDataset.testScanInOtherThread:258 » IllegalState error loading n...
Error:    TestReservationListener.testCustomReservationListener:75 » IllegalState error ...
Error:    TestReservationListener.testDirectReservationListener:45 » IllegalState error ...
[INFO] 
Error:  Tests run: 16, Failures: 2, Errors: 14, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Arrow Orc Adapter 9.0.0-SNAPSHOT ................... SUCCESS [ 20.664 s]
[INFO] Arrow Gandiva ...................................... SKIPPED
[INFO] Arrow Java Dataset 9.0.0-SNAPSHOT .................. FAILURE [ 20.780 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.469 s (Wall Clock)
[INFO] Finished at: 2022-06-30T14:26:00Z
[INFO] ------------------------------------------------------------------------

The important one is the JNI pipeline.

oh that. IDK where that came from. When I built locally, it failed so I switched to master and did a clean build and it failed again. I assumed it was a local issue and the CI builds were unaffected.

The issue is that the c-data maven module is expecting a variable with one name (for the build dir) and the other three cpp modules expect a different name for the same value. If you run the c-data-module on its own with the expected argument, it works fine. However, the build that creates the other JNI libs also calls the c-data module under the hood, and then it fails - I believe it's because it can't find the directory where the lib file should be.

Locally, I got it to work in two ways: First, after building c-data separately, I deleted that step from the other JNI build and everything was fine as it used the previously compiled code. However, I was afraid to commit that change, thinking it would break the CI build. Instead I called the "other JNI" build passing the same value using both argument names. That also worked.

I spent some time trying to figure out why this was happening. I couldn't see any related code changes since May so I thought it might just be my environment. We talked about the fact that the c-data-interface was built redundantly in the command line instructions, and whether one version should be removed, but it seemed risky to make that change.

After this reorganization, what is the expected process to build and test the JNI libraries?

I didn't (consciously) change anything that would require process changes. I will look at the maven build again and see if I can't figure out how to pass the build dir to the c-data module using the name it expects.

@lidavidm
Copy link
Member

Ok. I'm not sure what I was thinking earlier. Based on the description that @davisusanibar gave in #13458, I think he has the right approach to this and that explains why the other PR passes CI.

@lidavidm
Copy link
Member

The CMake project currently under java/dataset is just for generating the JNI header so I don't think it needs modifications right now


if(ARROW_JNI)
add_subdirectory(src/jni)
add_subdirectory(../java/dataset/src/main/cpp ./java/jni)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to the other PR, this still needs to be conditioned on if(ARROW_DATASET) right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@lwhite1
Copy link
Contributor Author

lwhite1 commented Jul 1, 2022

The CMake project currently under java/dataset is just for generating the JNI header so I don't think it needs modifications right now

the change here was to reset it to the original state

Comment on lines 983 to 985
if(ARROW_DATASET)
add_subdirectory(../java/dataset/src/main/cpp ./java/jni)
endif()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use spaces, not tabs, I think that's why the indentation is off:

Suggested change
if(ARROW_DATASET)
add_subdirectory(../java/dataset/src/main/cpp ./java/jni)
endif()
if(ARROW_DATASET)
add_subdirectory(../java/dataset/src/main/cpp ./java/jni)
endif()

@lidavidm
Copy link
Member

lidavidm commented Jul 1, 2022

@github-actions crossbow submit java-jars

@github-actions
Copy link

github-actions bot commented Jul 1, 2022

Revision: f5226ec

Submitted crossbow builds: ursacomputing/crossbow @ actions-6e6c6a526d

Task Status
java-jars Github Actions

@lidavidm lidavidm changed the title ARROW-16941: [Java] Consolidate JNI compilation ARROW-16941: [Java] Consolidate Dataset JNI compilation Jul 1, 2022
@lidavidm lidavidm merged commit 9dac8ab into apache:master Jul 1, 2022
kou added a commit to kou/arrow that referenced this pull request Jul 4, 2022
This is a follow-up of apache#13481.

We also need to update jni_util.h path in
java/dataset/src/main/cpp/jni_util_test.cc.

Removing "./" is needless but it's redundant.
kou added a commit that referenced this pull request Jul 5, 2022
This is a follow-up of #13481.

We also need to update jni_util.h path in
java/dataset/src/main/cpp/jni_util_test.cc.

Removing "./" is needless but it's redundant.

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
vibhatha pushed a commit to vibhatha/arrow that referenced this pull request Jul 5, 2022
Moves the Dataset JNI C++ code from the arrow/cpp project to the arrow/java project, updating the CMakeLists.txt files as needed.

Authored-by: Larry White <lwhite1@users.noreply.github.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
drin pushed a commit to drin/arrow that referenced this pull request Jul 5, 2022
This is a follow-up of apache#13481.

We also need to update jni_util.h path in
java/dataset/src/main/cpp/jni_util_test.cc.

Removing "./" is needless but it's redundant.

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
pribor pushed a commit to GlobalWebIndex/arrow that referenced this pull request Oct 24, 2025
Moves the Dataset JNI C++ code from the arrow/cpp project to the arrow/java project, updating the CMakeLists.txt files as needed.

Authored-by: Larry White <lwhite1@users.noreply.github.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
pribor pushed a commit to GlobalWebIndex/arrow that referenced this pull request Oct 24, 2025
This is a follow-up of apache#13481.

We also need to update jni_util.h path in
java/dataset/src/main/cpp/jni_util_test.cc.

Removing "./" is needless but it's redundant.

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants