-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
GH-41730: [Java] Adding variadicBufferCounts to RecordBatch #41732
Conversation
@github-actions crossbow submit -g java |
Revision: 5e91dab Submitted crossbow builds: ursacomputing/crossbow @ actions-ffc3f5185b |
java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowRecordBatch.java
Show resolved
Hide resolved
java/vector/src/main/java/org/apache/arrow/vector/ipc/message/ArrowRecordBatch.java
Outdated
Show resolved
Hide resolved
java/vector/src/main/java/org/apache/arrow/vector/VectorLoader.java
Outdated
Show resolved
Hide resolved
java/vector/src/main/java/org/apache/arrow/vector/VectorUnloader.java
Outdated
Show resolved
Hide resolved
@github-actions crossbow submit -g java |
Revision: 67fc7ce Submitted crossbow builds: ursacomputing/crossbow @ actions-312ec2ec22 |
} | ||
|
||
private void appendNodes(FieldVector vector, List<ArrowFieldNode> nodes, List<ArrowBuf> buffers) { | ||
private long getVariadicBufferCount(FieldVector vector) { |
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.
there is a slight issue in adding an interface for this. The VectorUnloader
and StructVectorUnloader
are in vector
and c
modules respectively. So we cannot have a common interface for both. So would it be fine if we add BaseVectorUnloader
interface for both modules? I didn't add it yet.
@github-actions crossbow submit -g java |
Revision: eb2f473 Submitted crossbow builds: ursacomputing/crossbow @ actions-c98dc1f751 |
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.
Can we enable the integration tests now?
int length, List<ArrowFieldNode> nodes, List<ArrowBuf> buffers, | ||
ArrowBodyCompression bodyCompression, List<Long> variadicBufferCounts, boolean alignBuffers, | ||
boolean retainBuffers) { | ||
super(); |
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.
why can't the other constructors delegate here?
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 updated, is it fine?
If you mean C data interface things, not yet, still need some work. |
…ache#41732) ### Rationale for this change This PR adds the `variadicBufferCounts` attribute to `ArrowRecordBatch` in Java module. Furthermore, it also updates the `TypeLayout` functions `getTypeBufferCount` and `getTypeLayout` functions along with the corresponding test cases. Previously these changes were listed as issues apache#40934, apache#40935 and apache#40931. These two tickets will also be closed by this PR. ### What changes are included in this PR? The introduced two functions to `TypeLayout` is deprecating the old API and adds a new API. In this PR we are updating a few modules to use the new API. Corresponding tests for the changed functions have also been added. This also updates the usage of `ArrowRecordBatch` across other modules and `TypeLayout` usage across a few modules. Some modules were excluded as mentioned in the issues non-goals section to be completed in a follow up effort as the scope and required tasks remain at large. These modules will still use the deprecated API for TypeLayouts, but documented in the code for updating to the new API in a follow up effort. ### Closing Subtasks - [X] apache#40934 - [X] apache#40935 - [X] apache#40931 ### Are these changes tested? The changes are tested using existing tests and new tests ### Are there any user-facing changes? Yes **This PR includes breaking changes to public APIs.** * GitHub Issue: apache#41730 Lead-authored-by: Vibhatha Lakmal Abeykoon <[email protected]> Co-authored-by: Vibhatha Abeykoon <[email protected]> Signed-off-by: David Li <[email protected]>
After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit 0c96be3. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 5 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
This PR adds the
variadicBufferCounts
attribute toArrowRecordBatch
in Java module. Furthermore, it also updates theTypeLayout
functionsgetTypeBufferCount
andgetTypeLayout
functions along with the corresponding test cases. Previously these changes were listed as issues #40934, #40935 and #40931. These two tickets will also be closed by this PR.What changes are included in this PR?
The introduced two functions to
TypeLayout
is deprecating the old API and adds a new API. In this PR we are updating a few modules to use the new API. Corresponding tests for the changed functions have also been added.This also updates the usage of
ArrowRecordBatch
across other modules andTypeLayout
usage across a few modules. Some modules were excluded as mentioned in the issues non-goals section to be completed in a follow up effort as the scope and required tasks remain at large. These modules will still use the deprecated API for TypeLayouts, but documented in the code for updating to the new API in a follow up effort.Closing Subtasks
Are these changes tested?
The changes are tested using existing tests and new tests
Are there any user-facing changes?
Yes
This PR includes breaking changes to public APIs.
variadicBufferCounts
toRecordBatch
#41730