Skip to content
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

[Java] Remove Netty dependency from arrow-vector #14936

Closed
lidavidm opened this issue Dec 13, 2022 · 5 comments · Fixed by #38493
Closed

[Java] Remove Netty dependency from arrow-vector #14936

lidavidm opened this issue Dec 13, 2022 · 5 comments · Fixed by #38493

Comments

@lidavidm
Copy link
Member

Describe the enhancement requested

#14913 removes a lot of uses of Netty from the core Arrow modules in favor of our own classes. If we could replace the remaining uses of Netty, we could drop the hard dependency on Netty entirely, so that it's only required if you use arrow-memory-netty or arrow-flight.

From #14913 (comment):

PlatformDependent was used in arrow-algorithm, arrow-jdbc, arrow-memory-netty, arrow-vector. I've removed the usages in arrow-algorithm, arrow-jdbc and arrow-vector, and removed the dependency of netty-common in arrow-algorithm and arrow-jdbc. It would take a bit more job to remove dependency of netty-common in arrow-vector as it is using some Netty collection utils llike IntObjectMap. Maybe do that in follow up.

Component(s)

Java

@lidavidm lidavidm changed the title [Java] Remove Netty dpeendency from arrow-vector [Java] Remove Netty dependency from arrow-vector Feb 1, 2023
@sudip-unb
Copy link

Interested to work on this issue.

@lidavidm
Copy link
Member Author

@sudip-unb if you're interested, please feel free to file a PR; you can comment 'take' here to have the bot assign this issue to you as well

@jduo
Copy link
Member

jduo commented Oct 26, 2023

take

@jduo
Copy link
Member

jduo commented Oct 26, 2023

We probably don't want to re-implement IntObjectHashMap. Can we simply take the Netty implementation and add it to the Arrow project? It Netty has an Apache 2.0 license.

@lidavidm
Copy link
Member Author

Vendoring is fine, yes (just update LICENSE to reflect that). Or we could possibly pull in Eclipse or Apache Commons equivalents if they exist.

jduo added a commit to Bit-Quill/arrow that referenced this issue Oct 26, 2023
Change use of IntObjectHashMap to come from Eclipse instead
of Netty-common to remove the dependency on Netty from
arrow-vector.
jduo added a commit to Bit-Quill/arrow that referenced this issue Oct 27, 2023
Change use of IntObjectHashMap to come from Eclipse instead
of Netty-common to remove the dependency on Netty from
arrow-vector.
lidavidm pushed a commit that referenced this issue Oct 27, 2023
### Rationale for this change
This removes Netty from core Arrow modules that do not have net code (aside from tests).

### What changes are included in this PR?
* Change use of IntObjectHashMap to come from Eclipse instead of Netty-common to remove the dependency on Netty from arrow-vector.
* Add test cases for MapWithOrdinal.

### Are these changes tested?
Yes.

### Are there any user-facing changes?
No.

* Closes: #14936

Authored-by: James Duong <james.duong@improving.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
@lidavidm lidavidm added this to the 15.0.0 milestone Oct 27, 2023
loicalleyne pushed a commit to loicalleyne/arrow that referenced this issue Nov 13, 2023
…che#38493)

### Rationale for this change
This removes Netty from core Arrow modules that do not have net code (aside from tests).

### What changes are included in this PR?
* Change use of IntObjectHashMap to come from Eclipse instead of Netty-common to remove the dependency on Netty from arrow-vector.
* Add test cases for MapWithOrdinal.

### Are these changes tested?
Yes.

### Are there any user-facing changes?
No.

* Closes: apache#14936

Authored-by: James Duong <james.duong@improving.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
dgreiss pushed a commit to dgreiss/arrow that referenced this issue Feb 19, 2024
…che#38493)

### Rationale for this change
This removes Netty from core Arrow modules that do not have net code (aside from tests).

### What changes are included in this PR?
* Change use of IntObjectHashMap to come from Eclipse instead of Netty-common to remove the dependency on Netty from arrow-vector.
* Add test cases for MapWithOrdinal.

### Are these changes tested?
Yes.

### Are there any user-facing changes?
No.

* Closes: apache#14936

Authored-by: James Duong <james.duong@improving.com>
Signed-off-by: David Li <li.davidm96@gmail.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 a pull request may close this issue.

3 participants