Uh oh!
There was an error while loading. Please reload this page.
ARROW-16584: [Java] Java JNI with S3 support - #13157
Conversation
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on JIRA? https://issues.apache.org/jira/browse/ARROW Opening JIRAs ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename pull request title in the following format? or See also: |
kou
commented
May 14, 2022
@github-actions crossbow submit java-jars |
Revision: 777e1ef69ae50e071251bf742a6109dbb3b250bf Submitted crossbow builds: ursacomputing/crossbow @ actions-2091
|
Uh oh!
There was an error while loading. Please reload this page.
kou
left a comment
There was a problem hiding this comment.
Could you also update ci/scripts/java_jni_macos_build.sh?
Could you also follow #13157 (comment) ?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
kou
commented
May 18, 2022
@github-actions crossbow submit java-jars |
Revision: df01c4bddd35f86f1cc487d7d851d8278b732a24 Submitted crossbow builds: ursacomputing/crossbow @ actions-2110
|
REASY
commented
May 18, 2022
@kou do you think this can be backported to 8.x branch? |
kou
commented
May 18, 2022
It seems that we need to link AWS SDK C++ statically: https://github.com/ursacomputing/crossbow/runs/6485814040?check_suite_focus=true#step:7:4639 Could you add the following build option? diff --git a/ci/scripts/java_jni_macos_build.sh b/ci/scripts/java_jni_macos_build.sh
index e9572c334b..71a1730fce 100755
--- a/ci/scripts/java_jni_macos_build.sh+++ b/ci/scripts/java_jni_macos_build.sh@@ -76,6 +76,7 @@ cmake \
-DARROW_THRIFT_USE_SHARED=OFF \
-DARROW_UTF8PROC_USE_SHARED=OFF \
-DARROW_ZSTD_USE_SHARED=OFF \
+ -DAWSSDK_SOURCE=BUNDLE \
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_PREFIX=${build_dir} \ |
kou
commented
May 18, 2022
No. Generally, we backport only bug fixes. But we can discuss this on the
Generally, we release a new version each 3-4 months. 8.0.0 was released in 2022-05. So 9.0.0 will be released in 2022-08/09. FYI: We discussed release cycle recently: https://lists.apache.org/thread/g6mqpyq2hc11xbgrq2pf653njzy53plt |
raulcd
commented
May 20, 2022
@kou@kszucs as a follow up from this issue, I can see we generate the jars on our nightly tests via the |
kou
commented
May 21, 2022
@github-actions crossbow submit java-jars |
Revision: ad62c6f561d846838dd868dc2fb992706005e043 Submitted crossbow builds: ursacomputing/crossbow @ actions-f6bd02cb91
|
kou
commented
May 21, 2022
@raulcd Right. We don't test the built jars for now. We should test them. We can add extra (GitHub Actions) jobs to https://github.com/apache/arrow/blob/master/dev/tasks/java-jars/github.yml to test the built jars on Linux and macOS. (We don't need to add extra Crossbow jobs.) I don't know much about JDK versions. Can we assume that the built jars with JDK 1.8 can work with all JDK >= 1.8? Or should we build jars for JDK X with JDK X? If we can assume that the built jars with JDK 1.8 can work with all JDK >= 1.8, we can just build jars only with JDK 1.8. (It may be better that we test the built jars with multiple JDK versions.) |
kou
commented
May 22, 2022
Could you rebase on master? It may resolve the java-jars build failure. |
@kou I think it makes sense to test separately for Java 8 and Java 11. Java 11 has new features, so the bytecode could look different. I'm getting the following warning on Java 11 when running parquet reader locally: If arrow java supports Java 17, it has to be tested separately as well because of the following change in JDK 17: https://openjdk.java.net/jeps/403
|
kou
commented
May 22, 2022
@github-actions crossbow submit java-jars |
Revision: c2733b067fe04801e783acc8ec37349dffa00311 Submitted crossbow builds: ursacomputing/crossbow @ actions-04af25fddc
|
kou
commented
May 23, 2022
Thanks for the warning information! Then we should test with multiple JDK versions. |
raulcd
commented
May 24, 2022
I have created https://issues.apache.org/jira/browse/ARROW-16640 to track what we discussed about testing the jars and extend to other JDKs. Thanks! |
REASY
commented
May 28, 2022
@kou what are the next steps to make this PR ready? |
kou
commented
May 28, 2022
We need to fix the https://github.com/ursacomputing/crossbow/runs/6547084325?check_suite_focus=true failure. |
REASY
commented
Jul 26, 2022
@kou the error is the same as in previous java-jars: |
I've tried to add BUILD_SHARED_LIBS (related to aws/aws-sdk-cpp#1334 (comment)) but getting the same error: I can see those simbols in libarrow.a, for example, GetObjectAttributes: It is in the source code: S3Client.h#L2563 and S3Client.cpp#L1917 but cannot be found in the symbols: @kou any thoughts? brew's version for aws-sdk-cpp is 1.9.300 |
kou
commented
Jul 28, 2022
@github-actions crossbow submit java-jars |
Revision: 106c8166c2d29f68c022fe477babea0f9e82950f Submitted crossbow builds: ursacomputing/crossbow @ actions-cfd8fcd94f
|
kou
commented
Jul 28, 2022
@github-actions crossbow submit java-jars |
Revision: 1ac0510ec9f714c092c2b37c75542c81990adccd Submitted crossbow builds: ursacomputing/crossbow @ actions-683460ca62
|
…d shared dependency found in libgandiva_jni.dylib: `libaws-cpp-sdk-config` `
…crossbow/arrow/cpp-build/awssdk_ep-prefix/src/awssdk_ep/aws-cpp-sdk-core/source/utils/crypto/commoncrypto/CryptoImpl.cpp:505:27: error: 'CCCryptorGCMSetIV' is only available on macOS 10.13 or newer [-Werror,-Wunguarded-availability-new]`
REASY
commented
Jul 28, 2022
This should be fixed by #13712 |
kou
commented
Jul 29, 2022
@github-actions crossbow submit java-jars |
Revision: 3c7255a Submitted crossbow builds: ursacomputing/crossbow @ actions-ea49ddbb96
|
Thanks, @kou! Could you, please, explain why it could not find the symbols? I saw you removed brew's version of aws-sdk-cpp. In ThirpartyToolChain.cmake I can see Wasn't it enough for cmake to use built version? |
kou
commented
Jul 29, 2022
Sure. Our build used header files provided by aws-sdk-cpp installed by Homebrew but used library files provided by our bundled aws-sdk-cpp. It causes the problem. Our build used packages installed by Homebrew. Our build adds |
ursabot
commented
Jul 29, 2022
Benchmark runs are scheduled for baseline = fa7e7a3 and contender = 7fe71f5. 7fe71f5 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
macOS development target is changed to 10.13 from 10.11.
See also the discussion on mailing list:
https://lists.apache.org/thread/pjgjrl716gvqzql586cnnoxb38nb0j5w