Skip to content

GH-41258: [C#][Integration] Fix comparison of sliced validity buffers with non-zero offsets#41259

Merged
paleolimbot merged 2 commits intoapache:mainfrom
paleolimbot:csharp-validity-compare
Apr 17, 2024
Merged

GH-41258: [C#][Integration] Fix comparison of sliced validity buffers with non-zero offsets#41259
paleolimbot merged 2 commits intoapache:mainfrom
paleolimbot:csharp-validity-compare

Conversation

@paleolimbot
Copy link
Copy Markdown
Member

@paleolimbot paleolimbot commented Apr 17, 2024

Rationale for this change

After #41230 , the integration tests are failing on main .

What changes are included in this PR?

The bit-by-bit comparison branch in the validity bitmap comparison is missing an offset on one side of the comparison. This PR adds that offset back in.

Are these changes tested?

Via the integration test CI job.

Are there any user-facing changes?

No

@github-actions
Copy link
Copy Markdown

⚠️ GitHub issue #41258 has been automatically assigned in GitHub to PR creator.

Copy link
Copy Markdown
Contributor

@CurtHagenlocher CurtHagenlocher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks! I'm not in a position to run the checkin script until evening, so feel free to commit before then.

@conbench-apache-arrow
Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 73386cb.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 7 possible false positives for unstable benchmarks that are known to sometimes produce them.

CurtHagenlocher pushed a commit that referenced this pull request Apr 19, 2024
…es of the bitmap comparison (#41264)

### 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:

- 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: #41263

Authored-by: Dewey Dunnington <dewey@fishandwhistle.net>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
vibhatha pushed a commit to vibhatha/arrow that referenced this pull request May 25, 2024
…uffers with non-zero offsets (apache#41259)

### Rationale for this change

After apache#41230 , the integration tests are failing on main .

### What changes are included in this PR?

The bit-by-bit comparison branch in the validity bitmap comparison is missing an offset on one side of the comparison. This PR adds that offset back in.

### Are these changes tested?

Via the integration test CI job.

### Are there any user-facing changes?

No
* GitHub Issue: apache#41258

Authored-by: Dewey Dunnington <dewey@fishandwhistle.net>
Signed-off-by: Dewey Dunnington <dewey@fishandwhistle.net>
vibhatha pushed a commit to vibhatha/arrow that referenced this pull request May 25, 2024
…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 <dewey@fishandwhistle.net>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
kou pushed a commit to apache/arrow-dotnet that referenced this pull request Jul 30, 2025
…es of the bitmap comparison (#41264)

### Rationale for this change

The optimization for validity buffers was still failing after apache/arrow#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: #41263

Authored-by: Dewey Dunnington <dewey@fishandwhistle.net>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants