Skip to content

[feature-wip] (arrow-flight) (step1) BE support Arrow Flight server, read data only - #23765

Merged
yiguolei merged 4 commits into
apache:masterfrom
xinyiZzz:20230823_arrow_flight_be3
Sep 4, 2023
Merged

[feature-wip] (arrow-flight) (step1) BE support Arrow Flight server, read data only#23765
yiguolei merged 4 commits into
apache:masterfrom
xinyiZzz:20230823_arrow_flight_be3

Conversation

@xinyiZzz

@xinyiZzzxinyiZzz commented Sep 1, 2023

Copy link
Copy Markdown
Contributor

Proposed changes

Design Documentation Linked to #25514

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

@xinyiZzz
xinyiZzz marked this pull request as draft September 1, 2023 10:08
@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xinyiZzz
xinyiZzzforce-pushed the 20230823_arrow_flight_be3 branch from 7ec077f to 70fcba0CompareSeptember 1, 2023 11:13
@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xinyiZzz
xinyiZzzforce-pushed the 20230823_arrow_flight_be3 branch from 70fcba0 to 3f1e6ceCompareSeptember 1, 2023 13:19
@xinyiZzz
xinyiZzz marked this pull request as ready for review September 1, 2023 13:20
@xinyiZzz

Copy link
Copy Markdown
ContributorAuthor

run buildall

@xinyiZzz
xinyiZzzforce-pushed the 20230823_arrow_flight_be3 branch from 3f1e6ce to 0a442b0CompareSeptember 1, 2023 13:22
@xinyiZzz

Copy link
Copy Markdown
ContributorAuthor

run buildall

@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

1 similar comment
@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Comment threadbe/src/runtime/result_buffer_mgr.h Outdated
Comment threadbe/src/service/arrow_flight/flight_sql_statement_batch_reader.cpp Outdated

static arrow::Result<std::shared_ptr<FlightSqlServer>> create();

arrow::Result<std::unique_ptr<arrow::flight::FlightDataStream>> DoGetStatement(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

do_get_statement

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

DoGetStatement override arrow::flight::sql::FlightSqlServerBase:: DoGetStatement cannot be renamed = =

Comment threadbe/src/common/config.cpp Outdated
int num_rows = result->result_batch.rows.size();

while ((!_batch_queue.empty() && _buffer_rows > _buffer_limit) && !_is_cancelled) {
while ((!_mysql_batch_queue.empty() && _buffer_rows > _buffer_limit) && !_is_cancelled) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

maybe we need another pr to set buffer limit from session variable. Then for arrow flight we may need change the session variable to get better performance.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

meaningful

_mysql_batch_queue.push_back(std::move(result));
}
_buffer_rows += num_rows;
_data_arrival.notify_one();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

better not delete this line.
it seems useless but it is very dangerous to delete it.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If add batch the same BufferControlBlock to FE and Arrow Flight at the same time, such as BE informing FE that data sending is completed, this may be a problem.

I restore it first and think about it after debugging with FE.

@xinyiZzz
xinyiZzzforce-pushed the 20230823_arrow_flight_be3 branch from 0a442b0 to bb0974eCompareSeptember 1, 2023 13:57
@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xinyiZzz

Copy link
Copy Markdown
ContributorAuthor

run buildall

@xinyiZzz
xinyiZzzforce-pushed the 20230823_arrow_flight_be3 branch from 968d54d to a620028CompareSeptember 1, 2023 14:24
@xinyiZzz

Copy link
Copy Markdown
ContributorAuthor

run buildall

@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

yiguolei
yiguolei previously approved these changes Sep 1, 2023

@yiguoleiyiguolei left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@github-actionsgithub-actionsBot added the approved Indicates a PR has been approved by one committer. label Sep 1, 2023
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@xinyiZzz

Copy link
Copy Markdown
ContributorAuthor

run buildall

@github-actionsgithub-actionsBot removed the approved Indicates a PR has been approved by one committer. label Sep 3, 2023
@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xinyiZzz
xinyiZzzforce-pushed the 20230823_arrow_flight_be3 branch from 27f1aa1 to e123377CompareSeptember 4, 2023 03:34
@xinyiZzz

Copy link
Copy Markdown
ContributorAuthor

run buildall

@github-actions

Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@hello-stephen

Copy link
Copy Markdown
Contributor

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.07 seconds
stream load tsv: 531 seconds loaded 74807831229 Bytes, about 134 MB/s
stream load json: 21 seconds loaded 2358488459 Bytes, about 107 MB/s
stream load orc: 64 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select: 29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size: 17162028603 Bytes

@Gabriel39Gabriel39 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actionsgithub-actionsBot added the approved Indicates a PR has been approved by one committer. label Sep 4, 2023

@yiguoleiyiguolei left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@yiguolei
yiguolei merged commit 039c76c into apache:masterSep 4, 2023
Gabriel39 added a commit to Gabriel39/incubator-doris that referenced this pull request Sep 4, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approvedIndicates a PR has been approved by one committer.reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@xinyiZzz@hello-stephen@yiguolei@Gabriel39