-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-18042: [Java] Distribute Apple M1 compatible JNI libraries via mavencentral #14472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@github-actions crossbow submit java-jars |
|
|
@github-actions crossbow submit java-jars |
|
Revision: 304216192de7a2ea30daa6300bbb0cccc06f0384 Submitted crossbow builds: ursacomputing/crossbow @ actions-f4432d2334
|
|
Revision: 304216192de7a2ea30daa6300bbb0cccc06f0384 Submitted crossbow builds: ursacomputing/crossbow @ actions-446751f161
|
|
@github-actions crossbow submit java-jars |
|
Revision: d7b6766bf466a106c9a064fd7d06a453dde4ae32 Submitted crossbow builds: ursacomputing/crossbow @ actions-201db7e35e
|
|
@github-actions crossbow submit java-jars |
|
Revision: 8f82acefaf266220be68c44e5e25d73d2b930f9b Submitted crossbow builds: ursacomputing/crossbow @ actions-21fd4a18f1
|
|
@github-actions crossbow submit java-jars |
|
Revision: d4e4169f6317ed472b1cde8e72cf1826fd4a1bdd Submitted crossbow builds: ursacomputing/crossbow @ actions-3ca7d2e887
|
kou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that we also need to prepared ${os.detected.arch} to shared library path when we load it.
I'm not familiar with Java but the following may work:
diff --git a/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java b/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java
index ca061937cd..42d37a3bff 100644
--- a/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java
+++ b/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java
@@ -33,7 +33,7 @@ import java.util.Set;
* The JniLoader for C Data Interface API's native implementation.
*/
public class JniLoader {
- private static final JniLoader INSTANCE = new JniLoader(Collections.singletonList("arrow_cdata_jni"));
+ private static final JniLoader INSTANCE = new JniLoader(Collections.singletonList(System.getProperty("os.arch").toLowerCase(Locale.US) + ".arrow_cdata_jni"));
public static JniLoader get() {
return INSTANCE;The above path is used for getResourceAsStream():
dev/tasks/java-jars/github.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about adding java/Brewfile that includes brew "openjdk@11" and brew "sccache"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@assignUser does that reduce CI's ability to cache? If not. I think this could be a good idea as Java developers could use it as a reference for dependencies they need as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No that should not affect caching 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
@github-actions crossbow submit java-jars |
|
Revision: 1525d0550797df99184e91b65e77cb470257e8b7 Submitted crossbow builds: ursacomputing/crossbow @ actions-d68fe64cda
|
|
@github-actions crossbow submit java-jars |
|
Revision: efcec48 Submitted crossbow builds: ursacomputing/crossbow @ actions-0c10a4c2b8
|
|
With the jars built from the previous build (https://github.com/ursacomputing/crossbow/releases/tag/actions-0c10a4c2b8-github-java-jars) I can successfully run the reproduction that I mentioned on my original jira ticket (the comment was about arrow-c-data, but the original ticket was for gandiva). I'll try some real world examples later (as well as the gandiva repro): https://issues.apache.org/jira/browse/ARROW-16608?focusedCommentId=17559330&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17559330 |
|
@jonathanswenson the new jars now build for an issue I've been having. I've tried your example: Which I think is an unrelated issue? But I don't think you need all of these. |
|
@jonathanswenson can you provide a repro of persisting issues if any? |
|
Please confirm if local build are also working |
Good point! I've added a commit to enable it and can verify it on aarch_64 (M1). Would appreciate tests on other architectures. |
|
@github-actions crossbow submit java-jars |
|
Revision: c2ba634 Submitted crossbow builds: ursacomputing/crossbow @ actions-3965a3e907
|
|
@rok no issues that I can tell -- the built jars have worked for everything I've tried on my M1 mac. |
|
Can we merge this? |
davisusanibar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks
|
|
I think we can merge! On M1 I was able to run: I'm still struggling with Feel free to merge @kou! |
Could you open a Jira issue for it with full log? If it's a problem of your environment, we can just close the issue as "Not A Problem". |
kou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
|
Benchmark runs are scheduled for baseline = 98943d9 and contender = 8776295. 8776295 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
|
I'm still having issues with |
This PR bumps Apache Arrow version from 10.0.0 to 11.0.0. Main changes related to PyAmber: ## Java/Scala side: - Distribute Apple M1 compatible JNI libraries via mavencentral ([#14472](apache/arrow#14472)). - Improve performance by short-circuiting null checks when comparing non null field types ([#15106](apache/arrow#15106)). - Extend Table copy functionality, and support returning copies of individual vectors ([#14389](apache/arrow#14389)). - Several enhancements to dictionary encoding ([#14891](apache/arrow#14891), ([#14902](apache/arrow#14902), ([#14874](apache/arrow#14874)). - Extend Table to support additional vector types ([#14573](apache/arrow#14573)). - Enhance and simplify handling of allocation management by integrating C Data into allocator hierarchy ([#14506](apache/arrow#14506)). ## Python side: - PyArrow now requires pandas >= 1.0 ([ARROW-18173](https://issues.apache.org/jira/browse/ARROW-18173)). - Added support for the [DataFrame Interchange Protocol](https://data-apis.org/dataframe-protocol/latest/purpose_and_scope.html) for pyarrow.Table ([GH-33346](apache/arrow#33346)). - Support for custom metadata of record batches in the IPC read and write APIs ([ARROW-16430](https://issues.apache.org/jira/browse/ARROW-16430)). - The Time32Scalar, Time64Scalar, Date32Scalar and Date64Scalar classes got a .value attribute to access the underlying integer value, similar to the other date-time related scalars ([ARROW-18264](https://issues.apache.org/jira/browse/ARROW-18264)). - Casting to string is now supported for duration ([ARROW-15822](https://issues.apache.org/jira/browse/ARROW-15822)) and decimal ([ARROW-17458](https://issues.apache.org/jira/browse/ARROW-17458)) types, which also means those can now be written to CSV. ## Issues fixed: - Now Do_action (from Python server back to Java Client) is returning a stream of results properly, and it alerts when the results are not fully consumed by the client. Such results will be used to send the flow control credits back from the Python side. We limit the results to be exact 1 for now, although it can be a stream. - Fix a bug in the Python proxy server, when unregistered action is invoked, it should not parse and return the results.
…mavencentral (apache#14472) Lead-authored-by: Rok Mihevc <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Co-authored-by: Jacob Wujciak-Jens <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
…mavencentral (apache#14472) Lead-authored-by: Rok Mihevc <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Co-authored-by: Jacob Wujciak-Jens <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
No description provided.