When @JohnHalleyGotway was testing dtcenter/MET#2897, he encountered a failure in one but not all of the processes in the PROCESS_LIST. In this case, the process list was:
PROCESS_LIST = PyEmbedIngest,PointStat,PlotPointObs
John's question was whether PointStat and PlotPointObs should attempt to run if PyEmbedIngest failed. Currently, the behavior is to run all processes in the PROCESS_LIST regardless of failures of upstream processes.
This issue is to suggest adding a configuration item for users to REQUIRE_ALL_SUCCEED or something to that effect, which keeps track of the error or success of each process in the PROCESS_LIST. If an error is recorded, then the PROCESS_LIST is halted for the current iteration of METplus Wrappers (e.g. current iteration of LOOP_BY), and the Wrappers will proceed to the next time.
This is may only apply to instances where the user is calling PyEmbedIngest, since presumably the result of that process is required downstream. So perhaps the work is something like adding PY_EMBED_INGEST_STOP_ON FAIL, for example.
Acceptance Testing
Try the new config item and ensure METplus Wrappers is advancing to the next iteration based on the failure state.
Time Estimate
1 Day
Relevant Deadlines
NONE.
Funding Source
NONE.
Define the Metadata
Assignee
[ ] Select engineer(s) or no engineer required
[ ] Select scientist(s) or no scientist required
Labels
[ ] Review default alert labels
[ ] Select component(s)
[ ] Select priority
[ ] Select requestor(s)
Milestone and Projects
[ ] Select Milestone as a METplus-Wrappers-X.Y.Z version, Consider for Next Release, or Backlog of Development Ideas
[ ] For a METplus-Wrappers-X.Y.Z version, select the METplus-Wrappers-X.Y.Z Development project
Define Related Issue(s)
Consider the impact to the other METplus components.
[ ] Submit a pull request to merge into develop.
Pull request: feature <Issue Number> <Description>
[ ] Define the pull request metadata, as permissions allow.
Select: Reviewer(s) and Development issue
Select: Milestone as the next official version
Select: METplus-Wrappers-X.Y.Z Development project for development toward the next official release
[ ] Iterate until the reviewer(s) accept and merge your changes.
Describe the New Feature
When @JohnHalleyGotway was testing dtcenter/MET#2897, he encountered a failure in one but not all of the processes in the
PROCESS_LIST
. In this case, the process list was:PROCESS_LIST = PyEmbedIngest,PointStat,PlotPointObs
John's question was whether
PointStat
andPlotPointObs
should attempt to run ifPyEmbedIngest
failed. Currently, the behavior is to run all processes in thePROCESS_LIST
regardless of failures of upstream processes.This issue is to suggest adding a configuration item for users to
REQUIRE_ALL_SUCCEED
or something to that effect, which keeps track of the error or success of each process in thePROCESS_LIST
. If an error is recorded, then thePROCESS_LIST
is halted for the current iteration of METplus Wrappers (e.g. current iteration ofLOOP_BY
), and the Wrappers will proceed to the next time.This is may only apply to instances where the user is calling
PyEmbedIngest
, since presumably the result of that process is required downstream. So perhaps the work is something like addingPY_EMBED_INGEST_STOP_ON FAIL
, for example.Acceptance Testing
Try the new config item and ensure METplus Wrappers is advancing to the next iteration based on the failure state.
Time Estimate
1 Day
Relevant Deadlines
NONE.
Funding Source
NONE.
Define the Metadata
Assignee
Labels
Milestone and Projects
Define Related Issue(s)
Consider the impact to the other METplus components.
New Feature Checklist
See the METplus Workflow for details.
feature_<Issue Number>_<Description>
feature <Issue Number> <Description>