-
Notifications
You must be signed in to change notification settings - Fork 7
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
Delete tmp stage even on error and Add delete_stage_on_error option #72
Conversation
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.
for backward compatibility, please make it the option like delete_stage
and defualt false
(do not delete stage).
I think the presence of a stage is helpful for investigate the errors.
@maeken Would you share an example config for reproduce the error and result log? |
@kekekenta
and content of test.csv
and result log
|
if (this.stageIdentifier == null) { | ||
this.stageIdentifier = StageIdentifierHolder.getStageIdentifier(t); | ||
} | ||
this.stageIdentifier = StageIdentifierHolder.getStageIdentifier(t); |
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.
It seems that we don't have to define stageIdentifier
as field. (as this.stageIdentifier
)
stageIdentifier
can be local variable.
SnowflakePluginTask pluginTask = (SnowflakePluginTask) task; | ||
this.stageIdentifier = StageIdentifierHolder.getStageIdentifier(pluginTask); |
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.stageIdentifier
can be local variable?
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.
commented
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
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
What to do
CREATE STAGE IF NOT EXIST
clause was executed for the number of threads because the execution point of runCreateStage was the multi-threaded startup part of a split job to begin with. However in the case of runDropStage, if the preceding thread deleted the snowflake temp stage, the subsequent threads would fail. So, create and drop should be completed in the OutputPlugin's transaction method, which can encompass the entire job multi-threading processes.Issue / Reference