-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Stop a workflow during offload causes upper: no more rows in this result set
#13220
Comments
Maybe we don't need to delete oldRecord when offload sace, because there is periodic cleanup. |
upper: no more rows in this result set
upper: no more rows in this result set
upper: no more rows in this result set
upper: no more rows in this result set
upper: no more rows in this result set
|
This is similar to canceling the cleanup of old records in the offload save phase. Dehydrate and update are very close. If you insert after update, you need to save the offloadVersion generated in the Dehydrate phase. |
Signed-off-by: shuangkun <[email protected]>
Sorry, I misunderstood this issue, I thought it was a issue caused by workflow archiving before. |
@shuangkun I have a doubt with this, when deleting old records, there is a updatedat filter, that means your rs, err := wdc.session.SQL().
DeleteFrom(wdc.tableName).
Where(db.Cond{"clustername": wdc.clusterName}).
And(db.Cond{"uid": uid}).
And(db.Cond{"version <>": version}).
And(wdc.oldOffload()).
Exec() |
Sometimes, the workflow may not be updated for many cycles, which is longer than OFFLOAD_NODE_STATUS_TTL. If the old version is deleted and the workflow is changed at this time, a conflict will occur and the workflow cannot be restored. |
…j#13220 (argoproj#13286) Signed-off-by: shuangkun <[email protected]>
…13286) Signed-off-by: shuangkun <[email protected]>
Pre-requisites
:latest
image tag (i.e.quay.io/argoproj/workflow-controller:latest
) and can confirm the issue still exists on:latest
. If not, I have explained why, in detail, in my description below.What happened/what did you expect to happen?
When the workflow updates the nodestatus to the database and deletes the old records, if someone stops the workflow during the update, a conflict will occur. However, reapply cannot parse woc.orig at this time, resulting in upper: no more rows in this result set
Version
latest
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
Any large workflow
Logs from the workflow controller
Logs from in your workflow's wait container
The text was updated successfully, but these errors were encountered: