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

[C#] Flight client does not allow putting zero batches #44363

Open
adamreeve opened this issue Oct 10, 2024 · 1 comment
Open

[C#] Flight client does not allow putting zero batches #44363

adamreeve opened this issue Oct 10, 2024 · 1 comment

Comments

@adamreeve
Copy link
Contributor

adamreeve commented Oct 10, 2024

Describe the bug, including details regarding any error messages, version, and platform.

As part of writing a Flight integration test client for .NET (#44361) I ran into a limitation where the C# client can't handle the primitive_no_batches test case because it doesn't send the schema until you write the first record batch.

For comparison, the PyArrow and C++ implementations require passing the schema when calling do_put, and always send the schema even if no batches are sent: https://arrow.apache.org/docs/python/generated/pyarrow.flight.FlightClient.html#pyarrow.flight.FlightClient.do_put

Component(s)

C#

CurtHagenlocher pushed a commit that referenced this issue Oct 15, 2024
…44377)

### Rationale for this change

See #44361. This allows testing compatibility of the .NET Flight implementation with other Flight implementations.

### What changes are included in this PR?

* Adds a new `Apache.Arrow.Flight.IntegrationTest` project that can run in server or client mode for Flight integration tests.
* Includes the integration tests that send then retrieve data defined in JSON files, but doesn't add any of the named scenarios
* Configures archery to include C# in the Flight integration tests, but skip all the named scenarios
* Also skips tests that use dictionary data due to #38045, and the empty data test due to #44363

### Are these changes tested?

These changes are tests.

### Are there any user-facing changes?

No
* GitHub Issue: #44361

Authored-by: Adam Reeve <adreeve@gmail.com>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
@adamreeve
Copy link
Contributor Author

Somewhat related, the Java and C++/Python clients also allow sending metadata-only messages without a record batch.

amoeba pushed a commit that referenced this issue Nov 11, 2024
…44377)

### Rationale for this change

See #44361. This allows testing compatibility of the .NET Flight implementation with other Flight implementations.

### What changes are included in this PR?

* Adds a new `Apache.Arrow.Flight.IntegrationTest` project that can run in server or client mode for Flight integration tests.
* Includes the integration tests that send then retrieve data defined in JSON files, but doesn't add any of the named scenarios
* Configures archery to include C# in the Flight integration tests, but skip all the named scenarios
* Also skips tests that use dictionary data due to #38045, and the empty data test due to #44363

### Are these changes tested?

These changes are tests.

### Are there any user-facing changes?

No
* GitHub Issue: #44361

Authored-by: Adam Reeve <adreeve@gmail.com>
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

No branches or pull requests

1 participant