-
Notifications
You must be signed in to change notification settings - Fork 12
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
[BUG] Analysis of application with is causing applications to disappear due to deadlock #121
Comments
This issue is currently awaiting triage. |
Deleting the hub pod causes the UI to resolve itself and the applications come back into the inventory. The associated analysis actually fails with the following details |
Retesting on the same environment and this is not 100% reproducible any longer, in fact I'm unable to reproduce it right now. |
Reproducer scenarios:
NOT reproducible in v0.5.0 |
closes #121 The `addon.Activity()` reports addon activity which is appended to the TaskReport.Activity using a PUT. This will briefly acquire a DB transaction (in the hub). The builder MUST not report activity because the addon already has a transaction open in the hub because of the POST of the analysis report. This creates a DEADLOCK. **There is a race-condition**: This only happens when the hub begins the transaction before the dep writer reports the dep.yaml not found. I can force this by adding a sleep to where the writer reports this. I suspect the hub can be busy enough with UI GET requests to delay it beginning the analysis POST until after the builder reports the file not found. Flow: ``` addon hub | post analysis ----- >| | | begin tx | writer <-------------| read | writer: put task --> | begin tx (deadlock) ``` Regression added PR #97 Signed-off-by: Jeff Ortel <jortel@redhat.com> Signed-off-by: Cherry Picker <noreply@github.com>
closes #121 The `addon.Activity()` reports addon activity which is appended to the TaskReport.Activity using a PUT. This will briefly acquire a DB transaction (in the hub). The builder MUST not report activity because the addon already has a transaction open in the hub because of the POST of the analysis report. This creates a DEADLOCK. **There is a race-condition**: This only happens when the hub begins the transaction before the dep writer reports the dep.yaml not found. I can force this by adding a sleep to where the writer reports this. I suspect the hub can be busy enough with UI GET requests to delay it beginning the analysis POST until after the builder reports the file not found. Flow: ``` addon hub | post analysis ----- >| | | begin tx | writer <-------------| read | writer: put task --> | begin tx (deadlock) ``` Regression added PR #97 Signed-off-by: Jeff Ortel <jortel@redhat.com> Signed-off-by: Cherry Picker <noreply@github.com> Signed-off-by: Jeff Ortel <jortel@redhat.com> Signed-off-by: Cherry Picker <noreply@github.com> Co-authored-by: Jeff Ortel <jortel@redhat.com>
Is there an existing issue for this?
Konveyor version
latest
Priority
Blocker
Current Behavior
Running analysis is leading to errors in the hub about a Unique Constraint being violated and then causes the application inventory to be empty. There are also errors about
deps.yaml
not existing.Expected Behavior
Analysis should succeed.
How Reproducible
Always (Default)
Steps To Reproduce
openjdk21
Environment
- OS:
Anything else?
tackle-hub-7879cc4ff9-75dct-tackle-hub.log
task-7-v2cks-addon.log
Check the task logs to see the
deps.yaml
error. Check the screenshot to see the UI network requests sit inpending
forever. Check the hub pod logs to see the unique constraint error.The text was updated successfully, but these errors were encountered: