-
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-41263: [C#][Integration] Ensure offset is considered in all branches of the bitmap comparison #41264
GH-41263: [C#][Integration] Ensure offset is considered in all branches of the bitmap comparison #41264
Conversation
|
I'm not sure what's going on with the zerolength case, but it seems to be failing for Java and C# producing (with C# consuming):
|
Hi, sorry for breaking this! I didn't think to also run the integration tests. The Java tests are unrelated to the validity buffer validation but are throwing an error when writing zero length binary arrays to IPC format, due to my more recent changes in #41230. When we create a zero-length binary or list array in C# we get an offsets buffer with length 1, but the arrays read from Java have zero-length offsets. I've pushed a fix for this a branch in my fork: adamreeve@b2bfb74. Do you want to include that in this PR or should I make a separate one for that? |
I think that you should do it and I'll rebase! I am not all that confident in my C# 😬 |
I've opened #41303 to fix the issue writing empty binary arrays. With that change plus the ones here, the integration tests all pass for me when running with C#, Java and C++. |
…ero length offsets to IPC format (#41303) ### Rationale for this change Fixes the integration test failures caused by #41230 ### What changes are included in this PR? Only try to access the offset values if the array length is non-zero when writing list and binary arrays to IPC format. ### Are these changes tested? Yes, I've manually run the integration tests with C# and Java to verify they pass (when also including the changes from #41264), and also added new unit tests for this. ### Are there any user-facing changes? This may also be a bug that affects users but it isn't in a released version. * GitHub Issue: #41302 Authored-by: Adam Reeve <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
867be6b
to
6a9e6b3
Compare
After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit f8ef09a. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 43 possible false positives for unstable benchmarks that are known to sometimes produce them. |
…ero length offsets to IPC format (#41303) ### Rationale for this change Fixes the integration test failures caused by #41230 ### What changes are included in this PR? Only try to access the offset values if the array length is non-zero when writing list and binary arrays to IPC format. ### Are these changes tested? Yes, I've manually run the integration tests with C# and Java to verify they pass (when also including the changes from #41264), and also added new unit tests for this. ### Are there any user-facing changes? This may also be a bug that affects users but it isn't in a released version. * GitHub Issue: #41302 Authored-by: Adam Reeve <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…with zero length offsets to IPC format (apache#41303) ### Rationale for this change Fixes the integration test failures caused by apache#41230 ### What changes are included in this PR? Only try to access the offset values if the array length is non-zero when writing list and binary arrays to IPC format. ### Are these changes tested? Yes, I've manually run the integration tests with C# and Java to verify they pass (when also including the changes from apache#41264), and also added new unit tests for this. ### Are there any user-facing changes? This may also be a bug that affects users but it isn't in a released version. * GitHub Issue: apache#41302 Authored-by: Adam Reeve <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…branches of the bitmap comparison (apache#41264) ### Rationale for this change The optimization for validity buffers was still failing after apache#41259 (sorry!). ### What changes are included in this PR? There were still two problems: - The offset of the actual array was not considered in the "optimized" branch - When this offset *was* considered, it became clear that zero-length arrays were not going to work in that branch ### Are these changes tested? I added the integration workflow to also run for C# additions. This might be a heavy CI job and I'm not sure if you want to keep it there (but running it is useful for this PR to ensure I actually fix things). For future me (or maybe future others), the integration tests are pretty easy to check: ``` dotnet build archery integration --run-c-data --with-csharp=true ``` ### Are there any user-facing changes? No. * GitHub Issue: apache#41263 Authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…with zero length offsets to IPC format (apache#41303) ### Rationale for this change Fixes the integration test failures caused by apache#41230 ### What changes are included in this PR? Only try to access the offset values if the array length is non-zero when writing list and binary arrays to IPC format. ### Are these changes tested? Yes, I've manually run the integration tests with C# and Java to verify they pass (when also including the changes from apache#41264), and also added new unit tests for this. ### Are there any user-facing changes? This may also be a bug that affects users but it isn't in a released version. * GitHub Issue: apache#41302 Authored-by: Adam Reeve <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…branches of the bitmap comparison (apache#41264) ### Rationale for this change The optimization for validity buffers was still failing after apache#41259 (sorry!). ### What changes are included in this PR? There were still two problems: - The offset of the actual array was not considered in the "optimized" branch - When this offset *was* considered, it became clear that zero-length arrays were not going to work in that branch ### Are these changes tested? I added the integration workflow to also run for C# additions. This might be a heavy CI job and I'm not sure if you want to keep it there (but running it is useful for this PR to ensure I actually fix things). For future me (or maybe future others), the integration tests are pretty easy to check: ``` dotnet build archery integration --run-c-data --with-csharp=true ``` ### Are there any user-facing changes? No. * GitHub Issue: apache#41263 Authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…with zero length offsets to IPC format (apache#41303) ### Rationale for this change Fixes the integration test failures caused by apache#41230 ### What changes are included in this PR? Only try to access the offset values if the array length is non-zero when writing list and binary arrays to IPC format. ### Are these changes tested? Yes, I've manually run the integration tests with C# and Java to verify they pass (when also including the changes from apache#41264), and also added new unit tests for this. ### Are there any user-facing changes? This may also be a bug that affects users but it isn't in a released version. * GitHub Issue: apache#41302 Authored-by: Adam Reeve <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…branches of the bitmap comparison (apache#41264) ### Rationale for this change The optimization for validity buffers was still failing after apache#41259 (sorry!). ### What changes are included in this PR? There were still two problems: - The offset of the actual array was not considered in the "optimized" branch - When this offset *was* considered, it became clear that zero-length arrays were not going to work in that branch ### Are these changes tested? I added the integration workflow to also run for C# additions. This might be a heavy CI job and I'm not sure if you want to keep it there (but running it is useful for this PR to ensure I actually fix things). For future me (or maybe future others), the integration tests are pretty easy to check: ``` dotnet build archery integration --run-c-data --with-csharp=true ``` ### Are there any user-facing changes? No. * GitHub Issue: apache#41263 Authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…with zero length offsets to IPC format (apache#41303) ### Rationale for this change Fixes the integration test failures caused by apache#41230 ### What changes are included in this PR? Only try to access the offset values if the array length is non-zero when writing list and binary arrays to IPC format. ### Are these changes tested? Yes, I've manually run the integration tests with C# and Java to verify they pass (when also including the changes from apache#41264), and also added new unit tests for this. ### Are there any user-facing changes? This may also be a bug that affects users but it isn't in a released version. * GitHub Issue: apache#41302 Authored-by: Adam Reeve <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…branches of the bitmap comparison (apache#41264) ### Rationale for this change The optimization for validity buffers was still failing after apache#41259 (sorry!). ### What changes are included in this PR? There were still two problems: - The offset of the actual array was not considered in the "optimized" branch - When this offset *was* considered, it became clear that zero-length arrays were not going to work in that branch ### Are these changes tested? I added the integration workflow to also run for C# additions. This might be a heavy CI job and I'm not sure if you want to keep it there (but running it is useful for this PR to ensure I actually fix things). For future me (or maybe future others), the integration tests are pretty easy to check: ``` dotnet build archery integration --run-c-data --with-csharp=true ``` ### Are there any user-facing changes? No. * GitHub Issue: apache#41263 Authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…ration setup (#39302) ### Rationale for this change The ability to add integration testing was added in nanoarrow however, the infrastructure for running these tests currently lives in the arrow monorepo. ### What changes are included in this PR? - Added the relevant code to Archery such that these tests can be run - Added the relevant scripts/environment variables to CI such that these tests run in the integration CI job ### Are these changes tested? Yes, via the "Integration" CI job. ### Are there any user-facing changes? No. This PR still needs #41264 for the integration tests to pass. * Closes: #39301 * GitHub Issue: #39301 Lead-authored-by: Dewey Dunnington <[email protected]> Co-authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Dewey Dunnington <[email protected]>
… integration setup (apache#39302) ### Rationale for this change The ability to add integration testing was added in nanoarrow however, the infrastructure for running these tests currently lives in the arrow monorepo. ### What changes are included in this PR? - Added the relevant code to Archery such that these tests can be run - Added the relevant scripts/environment variables to CI such that these tests run in the integration CI job ### Are these changes tested? Yes, via the "Integration" CI job. ### Are there any user-facing changes? No. This PR still needs apache#41264 for the integration tests to pass. * Closes: apache#39301 * GitHub Issue: apache#39301 Lead-authored-by: Dewey Dunnington <[email protected]> Co-authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Dewey Dunnington <[email protected]>
…with zero length offsets to IPC format (apache#41303) ### Rationale for this change Fixes the integration test failures caused by apache#41230 ### What changes are included in this PR? Only try to access the offset values if the array length is non-zero when writing list and binary arrays to IPC format. ### Are these changes tested? Yes, I've manually run the integration tests with C# and Java to verify they pass (when also including the changes from apache#41264), and also added new unit tests for this. ### Are there any user-facing changes? This may also be a bug that affects users but it isn't in a released version. * GitHub Issue: apache#41302 Authored-by: Adam Reeve <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
…branches of the bitmap comparison (apache#41264) ### Rationale for this change The optimization for validity buffers was still failing after apache#41259 (sorry!). ### What changes are included in this PR? There were still two problems: - The offset of the actual array was not considered in the "optimized" branch - When this offset *was* considered, it became clear that zero-length arrays were not going to work in that branch ### Are these changes tested? I added the integration workflow to also run for C# additions. This might be a heavy CI job and I'm not sure if you want to keep it there (but running it is useful for this PR to ensure I actually fix things). For future me (or maybe future others), the integration tests are pretty easy to check: ``` dotnet build archery integration --run-c-data --with-csharp=true ``` ### Are there any user-facing changes? No. * GitHub Issue: apache#41263 Authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Curt Hagenlocher <[email protected]>
… integration setup (apache#39302) ### Rationale for this change The ability to add integration testing was added in nanoarrow however, the infrastructure for running these tests currently lives in the arrow monorepo. ### What changes are included in this PR? - Added the relevant code to Archery such that these tests can be run - Added the relevant scripts/environment variables to CI such that these tests run in the integration CI job ### Are these changes tested? Yes, via the "Integration" CI job. ### Are there any user-facing changes? No. This PR still needs apache#41264 for the integration tests to pass. * Closes: apache#39301 * GitHub Issue: apache#39301 Lead-authored-by: Dewey Dunnington <[email protected]> Co-authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Dewey Dunnington <[email protected]>
… integration setup (apache#39302) ### Rationale for this change The ability to add integration testing was added in nanoarrow however, the infrastructure for running these tests currently lives in the arrow monorepo. ### What changes are included in this PR? - Added the relevant code to Archery such that these tests can be run - Added the relevant scripts/environment variables to CI such that these tests run in the integration CI job ### Are these changes tested? Yes, via the "Integration" CI job. ### Are there any user-facing changes? No. This PR still needs apache#41264 for the integration tests to pass. * Closes: apache#39301 * GitHub Issue: apache#39301 Lead-authored-by: Dewey Dunnington <[email protected]> Co-authored-by: Dewey Dunnington <[email protected]> Signed-off-by: Dewey Dunnington <[email protected]>
Rationale for this change
The optimization for validity buffers was still failing after #41259 (sorry!).
What changes are included in this PR?
There were still two problems:
Are these changes tested?
I added the integration workflow to also run for C# additions. This might be a heavy CI job and I'm not sure if you want to keep it there (but running it is useful for this PR to ensure I actually fix things).
For future me (or maybe future others), the integration tests are pretty easy to check:
Are there any user-facing changes?
No.