You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Li Jin (JIRA)" <ji...@apache.org> on 2017/03/23 19:23:41 UTC
[jira] [Created] (ARROW-705) [Java] Make Arrow library more
shade-friendly
Li Jin created ARROW-705:
----------------------------
Summary: [Java] Make Arrow library more shade-friendly
Key: ARROW-705
URL: https://issues.apache.org/jira/browse/ARROW-705
Project: Apache Arrow
Issue Type: Improvement
Reporter: Li Jin
Sometimes user of Arrow library have conflict in its dependency such as netty and wants to shade Arrow's dependency.
Because arrow has public classes (such as ArrowBuf) under io.netty namespace that is part of Arrow API, relocate the entire io.netty package will cause user code to break.
Next, I tried to exclude all classes created by Arrow under io.netty package. This also breaks - UnsafeDirectLittleEndian extends a package private class in netty, therefore I need to relocate UnsafeDirectLittleEndian as well.
The feedback is it's not clear how to shade netty dependency for Arrow, for now I shaded every thing under io.netty except for ArrowBuf and it "appears" to work, but I don't know if another class under memory/io/netty/buffer can be returned by a public API. Does it make sense to put API such as ArrowBuf under arrow package namespace? (Not saying we should do this, just wondering if that makes sense)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)