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++][Java][FlightRPC] Add support for ordered data #34852

Closed
Tracked by #36954
kou opened this issue Apr 3, 2023 · 1 comment · Fixed by #35178
Closed
Tracked by #36954

[C++][Java][FlightRPC] Add support for ordered data #34852

kou opened this issue Apr 3, 2023 · 1 comment · Fixed by #35178

Comments

@kou
Copy link
Member

kou commented Apr 3, 2023

Describe the enhancement requested

Based on the proposal in https://docs.google.com/document/d/1jhPyPZSOo2iy0LqIJVUs9KWPyFULVFJXTILDfkadx2g/edit# .
See also the discussion thread: https://lists.apache.org/thread/247z3t06mf132nocngc1jkp3oqglz7jp

Currently, the endpoints within a FlightInfo explicitly have no ordering:

There is no ordering defined on endpoints. Hence, if the returned data has an ordering, it should be returned in a single endpoint.

This is unnecessarily limiting. Systems can and do implement distributed sorts, but they can’t reflect this in Flight RPC. And users are asking; see this Stack Overflow question.

Proposal:

Add a flag to FlightInfo:

message FlightInfo {
  // FlightEndpoints are in the same order as the data.
  bool endpoints_ordered = 6;
}

If set, the client may assume that the data is sorted in the same order as the endpoints. Otherwise, the client cannot make any assumptions (as before).

Component(s)

C++, Java,FlightRPC

@kou
Copy link
Member Author

kou commented Apr 26, 2023

@kou kou changed the title [C++][FlightRPC] Add support for ordered data [C++][Java][FlightRPC] Add support for ordered data Apr 27, 2023
@kou kou closed this as completed in #35178 May 9, 2023
kou added a commit that referenced this issue May 9, 2023
…5178)

### Rationale for this change

No ordering is unnecessarily limiting.  Systems can and do implement distributed sorts, but they can’t reflect this in Flight RPC.

### What changes are included in this PR?

These changes add `FlightInfo.ordered`.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: #34852
* Closes: #35085

Lead-authored-by: Sutou Kouhei <kou@clear-code.com>
Co-authored-by: David Li <li.davidm96@gmail.com>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@kou kou added this to the 13.0.0 milestone May 9, 2023
@kou kou changed the title [C++][Java][FlightRPC] Add support for ordered data [C++][Java][Go][FlightRPC] Add support for ordered data May 9, 2023
@kou kou changed the title [C++][Java][Go][FlightRPC] Add support for ordered data [C++][Java][FlightRPC] Add support for ordered data May 9, 2023
liujiacheng777 pushed a commit to LoongArch-Python/arrow that referenced this issue May 11, 2023
…ta (apache#35178)

### Rationale for this change

No ordering is unnecessarily limiting.  Systems can and do implement distributed sorts, but they can’t reflect this in Flight RPC.

### What changes are included in this PR?

These changes add `FlightInfo.ordered`.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#34852
* Closes: apache#35085

Lead-authored-by: Sutou Kouhei <kou@clear-code.com>
Co-authored-by: David Li <li.davidm96@gmail.com>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
ArgusLi pushed a commit to Bit-Quill/arrow that referenced this issue May 15, 2023
…ta (apache#35178)

### Rationale for this change

No ordering is unnecessarily limiting.  Systems can and do implement distributed sorts, but they can’t reflect this in Flight RPC.

### What changes are included in this PR?

These changes add `FlightInfo.ordered`.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#34852
* Closes: apache#35085

Lead-authored-by: Sutou Kouhei <kou@clear-code.com>
Co-authored-by: David Li <li.davidm96@gmail.com>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
rtpsw pushed a commit to rtpsw/arrow that referenced this issue May 16, 2023
…ta (apache#35178)

### Rationale for this change

No ordering is unnecessarily limiting.  Systems can and do implement distributed sorts, but they can’t reflect this in Flight RPC.

### What changes are included in this PR?

These changes add `FlightInfo.ordered`.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#34852
* Closes: apache#35085

Lead-authored-by: Sutou Kouhei <kou@clear-code.com>
Co-authored-by: David Li <li.davidm96@gmail.com>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@raulcd raulcd added the Breaking Change Includes a breaking change to the API label Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants