-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[FixBug] Fix lose of meta data bug after alter routine load #6937
[FixBug] Fix lose of meta data bug after alter routine load #6937
Conversation
fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadJob.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadJob.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/load/RoutineLoadDesc.java
Outdated
Show resolved
Hide resolved
} | ||
} catch (Exception e) { | ||
LOG.error("error happens when parsing create/alter routine load stmt: " + origStmt.originStmt, e); | ||
return null; |
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.
why return null not throw exception, inconsistent with previous behavior
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.
If exception is thrown here, the fe will start failed. I'm afraid that there may be some corner case I have not considered. This is not a critical problem, so we just return null, and the load desc can be null.
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.
LGTM
run starrocks_fe_unittest |
421ce93
to
3e6d0ff
Compare
[FE PR Coverage check]😍 pass : 80 / 85 (94.12%) file detail
|
…s#6937) When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after alter routine load is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.
…6971) When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after alter routine load is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.
…s#6937) (StarRocks#6971) When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after alter routine load is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.
…s#6937) When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after alter routine load is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.
…6971) (#7068) When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after alter routine load is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.
When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after alter routine load is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.
…s#6937) When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after alter routine load is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.
* fix linting Signed-off-by: DanRoscigno <dan@roscigno.com> * fix linting Signed-off-by: DanRoscigno <dan@roscigno.com> * fix linting Signed-off-by: DanRoscigno <dan@roscigno.com> * fix links in 2.3 --------- Signed-off-by: DanRoscigno <dan@roscigno.com> Co-authored-by: evelyn.zhaojie <98087056+evelynzhaojie@users.noreply.github.com>
What type of PR is this:
Which issues of this PR fixes :
Fixes #6936
Problem Summary(Required) :
When routine load serializes the load properties(columns/rows separator, column list, partitions, where filter), it stores the sql statement, and get the load properties by parsing the sql for deserialization. But after
alter routine load
is done, it will only keep the alter statement, this will cause the loss of metadata. We should merge the alter sql with the origin create sql to retain all load properties.