-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[BUG] new OlapTableSink without any partition may cause IllegalStateException #4621
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
Conversation
| OlapTableSink olapTableSink; | ||
| try { | ||
| olapTableSink = new OlapTableSink(table, tupleDesc, partitionIds); | ||
| } catch (IllegalStateException e) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not a good way to catch IllegalStateException here. Because it is a "Assertion" check in OlapTableSink.
We should check if partitionIds is empty before creating new OlapTableSink.
And by the way, there are severval place where the OlapTableSink's constructor is called, we should modify them too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok,I will check if partitionIds is empty before creating new OlapTableSink. And modify all where OlapTableSink's constructor is called.
|
Hi @xinghuayu007 , thanks for your PR, but I think #4658 has a more clear error msg. |
Proposed changes
In LoadingTaskPlanner#Plan(): OlapTableSink olapTableSink = new OlapTableSink(table, tupleDesc, partitionIds); If the table does not has any partition, Preconditions.checkState will throw IllegalStateException, but the funtion only cath UserException, that will cause load job status can not be updated。
The issue: #4620
Types of changes
What types of changes does your code introduce to Doris?
Put an
xin the boxes that applyChecklist
Put an
xin the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.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...