You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "ParthChonkar (via GitHub)" <gi...@apache.org> on 2023/05/08 12:54:55 UTC

[GitHub] [arrow] ParthChonkar opened a new pull request, #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

ParthChonkar opened a new pull request, #35476:
URL: https://github.com/apache/arrow/pull/35476

   
   <!--
   Thanks for opening a pull request!
   If this is your first pull request you can find detailed information on how 
   to contribute here:
     * [New Contributor's Guide](https://arrow.apache.org/docs/dev/developers/guide/step_by_step/pr_lifecycle.html#reviews-and-merge-of-the-pull-request)
     * [Contributing Overview](https://arrow.apache.org/docs/dev/developers/overview.html)
   
   
   If this is not a [minor PR](https://github.com/apache/arrow/blob/main/CONTRIBUTING.md#Minor-Fixes). Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose
   
   Opening GitHub issues ahead of time contributes to the [Openness](http://theapacheway.com/open/#:~:text=Openness%20allows%20new%20users%20the,must%20happen%20in%20the%20open.) of the Apache Arrow project.
   
   Then could you also rename the pull request title in the following format?
   
       GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}
   
   or
   
       MINOR: [${COMPONENT}] ${SUMMARY}
   
   In the case of PARQUET issues on JIRA the title also supports:
   
       PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}
   
   -->
   
   ### Rationale for this change
   The optimization in the `slice` function for VectorSchemaRoot that returns the reference to the original root when the slice covers the entire root should be removed because this is an inconsistent interface. 
   
   Also - in the [this documentation page](https://arrow.apache.org/docs/java/vector_schema_root.html#vectorschemaroot) it explicitly says that "A **new** VectorSchemaRoot can be sliced from an existing root without copying data:" so any time you call `slice`, the slice root should be a new one (even if it's the entire root). 
   
   The test for slice has also been changed to have more coverage of the slice function (not just slicing from the start index).  
   
   
   <!--
    Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
    Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.  
   -->
   
   ### What changes are included in this PR?
   Remove self reference return in `VectorSchemaRoot#split` and expand test coverage for the function.
   
   <!--
   There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
   -->
   
   ### Are these changes tested?
   Yes
   
   <!--
   We typically require tests for all PRs in order to:
   1. Prevent the code from being accidentally broken by subsequent changes
   2. Serve as another way to document the expected behavior of the code
   
   If tests are not included in your PR, please explain why (for example, are they covered by existing tests)?
   -->
   
   ### Are there any user-facing changes?
   Yes 
   
   <!--
   If there are user-facing changes then we may require documentation to be updated before approving the PR.
   -->
   
   <!--
   If there are any breaking changes to public APIs, please uncomment the line below and explain which changes are breaking.
   -->
   <!-- **This PR includes breaking changes to public APIs.** -->
   
   <!--
   Please uncomment the line below (and provide explanation) if the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld). We use this to highlight fixes to issues that may affect users without their knowledge. For this reason, fixing bugs that cause errors don't count, since those are usually obvious.
   -->
   <!-- **This PR contains a "Critical Fix".** -->


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ParthChonkar commented on pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "ParthChonkar (via GitHub)" <gi...@apache.org>.
ParthChonkar commented on PR #35476:
URL: https://github.com/apache/arrow/pull/35476#issuecomment-1538656025

   Seems like one of the flight tests failed during the AMD64 Windows Server 2022 check - is this cause for concern? Not sure why it wouldn't work on that platform only. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ursabot commented on pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "ursabot (via GitHub)" <gi...@apache.org>.
ursabot commented on PR #35476:
URL: https://github.com/apache/arrow/pull/35476#issuecomment-1539202278

   Benchmark runs are scheduled for baseline = 52e5d8283320da444d653d3e858b00b148cedba4 and contender = fcf934a8602d0c22bba4fcd334a50da4dd101cd1. fcf934a8602d0c22bba4fcd334a50da4dd101cd1 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:25.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/069969d3009d4e0187584596dedefd79...5a1960a8aaca402c866fa57461e2fd79/)
   [Failed :arrow_down:3.89% :arrow_up:0.0%] [test-mac-arm](https://conbench.ursa.dev/compare/runs/cef6b85ae0ed4e73b357cde27a711fec...23fc44a24a7b43878fb83c093509f769/)
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/83e3d1995dcb48508c1d396283651aaa...23868246890c4b989c285e81a5b16e21/)
   [Failed :arrow_down:0.0% :arrow_up:2.86%] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/e48261cc3b3b487aa67bf896470cf5ae...69d98183518542abbcb62afe0e16bbab/)
   Buildkite builds:
   [Finished] [`fcf934a8` ec2-t3-xlarge-us-east-2](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-ec2-t3-xlarge-us-east-2/builds/2828)
   [Failed] [`fcf934a8` test-mac-arm](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-test-mac-arm/builds/2865)
   [Finished] [`fcf934a8` ursa-i9-9960x](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-ursa-i9-9960x/builds/2828)
   [Failed] [`fcf934a8` ursa-thinkcentre-m75q](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-ursa-thinkcentre-m75q/builds/2855)
   [Finished] [`52e5d828` ec2-t3-xlarge-us-east-2](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-ec2-t3-xlarge-us-east-2/builds/2827)
   [Failed] [`52e5d828` test-mac-arm](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-test-mac-arm/builds/2864)
   [Finished] [`52e5d828` ursa-i9-9960x](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-ursa-i9-9960x/builds/2827)
   [Failed] [`52e5d828` ursa-thinkcentre-m75q](https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-ursa-thinkcentre-m75q/builds/2854)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
   test-mac-arm: Supported benchmark langs: C++, Python, R
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] github-actions[bot] commented on pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #35476:
URL: https://github.com/apache/arrow/pull/35476#issuecomment-1538311625

   * Closes: #35275


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] davisusanibar commented on pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "davisusanibar (via GitHub)" <gi...@apache.org>.
davisusanibar commented on PR #35476:
URL: https://github.com/apache/arrow/pull/35476#issuecomment-1538792740

   > @davisusanibar can we just file a PR to disable it only for Windows?
   
   Issues related: https://github.com/apache/arrow/issues/33237 / https://github.com/apache/arrow/issues/35488


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] lidavidm commented on a diff in pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "lidavidm (via GitHub)" <gi...@apache.org>.
lidavidm commented on code in PR #35476:
URL: https://github.com/apache/arrow/pull/35476#discussion_r1187569859


##########
java/vector/src/test/java/org/apache/arrow/vector/TestVectorSchemaRoot.java:
##########
@@ -195,29 +195,33 @@ public void testRemoveVector() {
   public void testSlice() {
     try (final IntVector intVector = new IntVector("intVector", allocator);
          final Float4Vector float4Vector = new Float4Vector("float4Vector", allocator)) {
-      intVector.setValueCount(10);
-      float4Vector.setValueCount(10);
-      for (int i = 0; i < 10; i++) {
+      final int numRows = 10;
+      intVector.setValueCount(numRows);
+      float4Vector.setValueCount(numRows);
+      for (int i = 0; i < numRows; i++) {
         intVector.setSafe(i, i);
         float4Vector.setSafe(i, i + 0.1f);
       }
-      final VectorSchemaRoot original = new VectorSchemaRoot(Arrays.asList(intVector, float4Vector));
 
-      VectorSchemaRoot slice1 = original.slice(0, original.getRowCount());
-      assertEquals(original, slice1);
+      final VectorSchemaRoot original = new VectorSchemaRoot(Arrays.asList(intVector, float4Vector));
 
-      VectorSchemaRoot slice2 = original.slice(0, 5);
-      assertEquals(5, slice2.getRowCount());
-      // validate data
-      IntVector childVector1 = (IntVector) slice2.getFieldVectors().get(0);
-      Float4Vector childVector2 = (Float4Vector) slice2.getFieldVectors().get(1);
-      for (int i = 0; i < 5; i++) {
-        assertEquals(i, childVector1.get(i));
-        assertEquals(i + 0.1f, childVector2.get(i), 0);
+      for (int sliceIndex = 0; sliceIndex < numRows; sliceIndex++) {
+        for (int sliceLength = 0; sliceIndex + sliceLength <= numRows; sliceLength++) {
+          try (VectorSchemaRoot slice = original.slice(sliceIndex, sliceLength)) {
+            assertEquals(sliceLength, slice.getRowCount());
+            // validate data
+            final IntVector childIntVector = (IntVector) slice.getFieldVectors().get(0);
+            final Float4Vector childFloatVector = (Float4Vector) slice.getFieldVectors().get(1);
+            for (int i = 0; i < sliceLength; i++) {
+              final int originalIndex = i + sliceIndex;
+              assertEquals(originalIndex, childIntVector.get(i));
+              assertEquals(originalIndex + 0.1f, childFloatVector.get(i), 0);
+            }
+          }
+        }

Review Comment:
   Ack, I misunderstood - thought we were copying here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] lidavidm commented on pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "lidavidm (via GitHub)" <gi...@apache.org>.
lidavidm commented on PR #35476:
URL: https://github.com/apache/arrow/pull/35476#issuecomment-1538758739

   @davisusanibar can we just file a PR to disable it only for Windows?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ParthChonkar commented on a diff in pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "ParthChonkar (via GitHub)" <gi...@apache.org>.
ParthChonkar commented on code in PR #35476:
URL: https://github.com/apache/arrow/pull/35476#discussion_r1187562298


##########
java/vector/src/main/java/org/apache/arrow/vector/VectorSchemaRoot.java:
##########
@@ -327,10 +327,6 @@ public VectorSchemaRoot slice(int index, int length) {
     Preconditions.checkArgument(index + length <= rowCount,
         "index + length should <= rowCount");
 
-    if (index == 0 && length == rowCount) {
-      return this;

Review Comment:
   For each vector `splitAndTransfer` will derive a new ArrowBuffer (unlike `transfer`) for the vector's underlying buffer(s) so it won't invalidate the original root. But both will point to the same memory location. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] lidavidm commented on pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "lidavidm (via GitHub)" <gi...@apache.org>.
lidavidm commented on PR #35476:
URL: https://github.com/apache/arrow/pull/35476#issuecomment-1538758424

   That test has been flaky for a long time, but nobody has been able to reproduce it on Windows or really spend the time to investigate it


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] lidavidm commented on a diff in pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "lidavidm (via GitHub)" <gi...@apache.org>.
lidavidm commented on code in PR #35476:
URL: https://github.com/apache/arrow/pull/35476#discussion_r1187434235


##########
java/vector/src/test/java/org/apache/arrow/vector/TestVectorSchemaRoot.java:
##########
@@ -195,29 +195,33 @@ public void testRemoveVector() {
   public void testSlice() {
     try (final IntVector intVector = new IntVector("intVector", allocator);
          final Float4Vector float4Vector = new Float4Vector("float4Vector", allocator)) {
-      intVector.setValueCount(10);
-      float4Vector.setValueCount(10);
-      for (int i = 0; i < 10; i++) {
+      final int numRows = 10;
+      intVector.setValueCount(numRows);
+      float4Vector.setValueCount(numRows);
+      for (int i = 0; i < numRows; i++) {
         intVector.setSafe(i, i);
         float4Vector.setSafe(i, i + 0.1f);
       }
-      final VectorSchemaRoot original = new VectorSchemaRoot(Arrays.asList(intVector, float4Vector));
 
-      VectorSchemaRoot slice1 = original.slice(0, original.getRowCount());
-      assertEquals(original, slice1);
+      final VectorSchemaRoot original = new VectorSchemaRoot(Arrays.asList(intVector, float4Vector));
 
-      VectorSchemaRoot slice2 = original.slice(0, 5);
-      assertEquals(5, slice2.getRowCount());
-      // validate data
-      IntVector childVector1 = (IntVector) slice2.getFieldVectors().get(0);
-      Float4Vector childVector2 = (Float4Vector) slice2.getFieldVectors().get(1);
-      for (int i = 0; i < 5; i++) {
-        assertEquals(i, childVector1.get(i));
-        assertEquals(i + 0.1f, childVector2.get(i), 0);
+      for (int sliceIndex = 0; sliceIndex < numRows; sliceIndex++) {
+        for (int sliceLength = 0; sliceIndex + sliceLength <= numRows; sliceLength++) {
+          try (VectorSchemaRoot slice = original.slice(sliceIndex, sliceLength)) {
+            assertEquals(sliceLength, slice.getRowCount());
+            // validate data
+            final IntVector childIntVector = (IntVector) slice.getFieldVectors().get(0);
+            final Float4Vector childFloatVector = (Float4Vector) slice.getFieldVectors().get(1);
+            for (int i = 0; i < sliceLength; i++) {
+              final int originalIndex = i + sliceIndex;
+              assertEquals(originalIndex, childIntVector.get(i));
+              assertEquals(originalIndex + 0.1f, childFloatVector.get(i), 0);
+            }
+          }
+        }

Review Comment:
   Is there anything testing that the slice is actually a copy of the original and not a view?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ParthChonkar commented on a diff in pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "ParthChonkar (via GitHub)" <gi...@apache.org>.
ParthChonkar commented on code in PR #35476:
URL: https://github.com/apache/arrow/pull/35476#discussion_r1187566084


##########
java/vector/src/test/java/org/apache/arrow/vector/TestVectorSchemaRoot.java:
##########
@@ -195,29 +195,33 @@ public void testRemoveVector() {
   public void testSlice() {
     try (final IntVector intVector = new IntVector("intVector", allocator);
          final Float4Vector float4Vector = new Float4Vector("float4Vector", allocator)) {
-      intVector.setValueCount(10);
-      float4Vector.setValueCount(10);
-      for (int i = 0; i < 10; i++) {
+      final int numRows = 10;
+      intVector.setValueCount(numRows);
+      float4Vector.setValueCount(numRows);
+      for (int i = 0; i < numRows; i++) {
         intVector.setSafe(i, i);
         float4Vector.setSafe(i, i + 0.1f);
       }
-      final VectorSchemaRoot original = new VectorSchemaRoot(Arrays.asList(intVector, float4Vector));
 
-      VectorSchemaRoot slice1 = original.slice(0, original.getRowCount());
-      assertEquals(original, slice1);
+      final VectorSchemaRoot original = new VectorSchemaRoot(Arrays.asList(intVector, float4Vector));
 
-      VectorSchemaRoot slice2 = original.slice(0, 5);
-      assertEquals(5, slice2.getRowCount());
-      // validate data
-      IntVector childVector1 = (IntVector) slice2.getFieldVectors().get(0);
-      Float4Vector childVector2 = (Float4Vector) slice2.getFieldVectors().get(1);
-      for (int i = 0; i < 5; i++) {
-        assertEquals(i, childVector1.get(i));
-        assertEquals(i + 0.1f, childVector2.get(i), 0);
+      for (int sliceIndex = 0; sliceIndex < numRows; sliceIndex++) {
+        for (int sliceLength = 0; sliceIndex + sliceLength <= numRows; sliceLength++) {
+          try (VectorSchemaRoot slice = original.slice(sliceIndex, sliceLength)) {
+            assertEquals(sliceLength, slice.getRowCount());
+            // validate data
+            final IntVector childIntVector = (IntVector) slice.getFieldVectors().get(0);
+            final Float4Vector childFloatVector = (Float4Vector) slice.getFieldVectors().get(1);
+            for (int i = 0; i < sliceLength; i++) {
+              final int originalIndex = i + sliceIndex;
+              assertEquals(originalIndex, childIntVector.get(i));
+              assertEquals(originalIndex + 0.1f, childFloatVector.get(i), 0);
+            }
+          }
+        }

Review Comment:
   I'm not sure I understand 😅 - slice should be no-copy right? 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] ParthChonkar commented on a diff in pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "ParthChonkar (via GitHub)" <gi...@apache.org>.
ParthChonkar commented on code in PR #35476:
URL: https://github.com/apache/arrow/pull/35476#discussion_r1187562298


##########
java/vector/src/main/java/org/apache/arrow/vector/VectorSchemaRoot.java:
##########
@@ -327,10 +327,6 @@ public VectorSchemaRoot slice(int index, int length) {
     Preconditions.checkArgument(index + length <= rowCount,
         "index + length should <= rowCount");
 
-    if (index == 0 && length == rowCount) {
-      return this;

Review Comment:
   For each vector `splitAndTransfer` will derive a new ArrowBuffer (unlike `transfer`) for the vector's underlying buffer(s) and then transfer ownership of those so it won't invalidate the original root. But both will point to the same memory location. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] github-actions[bot] commented on pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #35476:
URL: https://github.com/apache/arrow/pull/35476#issuecomment-1538311672

   :warning: GitHub issue #35275 **has been automatically assigned in GitHub** to PR creator.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] wgtmac commented on a diff in pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "wgtmac (via GitHub)" <gi...@apache.org>.
wgtmac commented on code in PR #35476:
URL: https://github.com/apache/arrow/pull/35476#discussion_r1187555135


##########
java/vector/src/main/java/org/apache/arrow/vector/VectorSchemaRoot.java:
##########
@@ -327,10 +327,6 @@ public VectorSchemaRoot slice(int index, int length) {
     Preconditions.checkArgument(index + length <= rowCount,
         "index + length should <= rowCount");
 
-    if (index == 0 && length == rowCount) {
-      return this;

Review Comment:
   Does it mean its child vectors will be transferred to the returned root and the original one will be invalidated?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] lidavidm merged pull request #35476: GH-35275: [Java] Ensure VectorSchemaRoot slice returns a new root

Posted by "lidavidm (via GitHub)" <gi...@apache.org>.
lidavidm merged PR #35476:
URL: https://github.com/apache/arrow/pull/35476


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org