Bug 1401585
Summary: | The pendingOperation task processing will lose tasks in case an exception is thrown | ||||||
---|---|---|---|---|---|---|---|
Product: | [oVirt] vdsm-jsonrpc-java | Reporter: | Roy Golan <rgolan> | ||||
Component: | Core | Assignee: | Piotr Kliczewski <pkliczew> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Aleksei Slaikovskii <aslaikov> | ||||
Severity: | urgent | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 1.2.6 | CC: | bugs, emarcian, frolland, gklein, mperina, oourfali, slitmano | ||||
Target Milestone: | ovirt-4.0.6 | Keywords: | CodeChange, Performance, ZStream | ||||
Target Release: | 1.2.10 | Flags: | rule-engine:
ovirt-4.0.z+
rule-engine: blocker+ |
||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2017-01-18 07:28:46 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | Infra | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Roy Golan
2016-12-05 15:44:02 UTC
*** Bug 1401896 has been marked as a duplicate of this bug. *** underlying issue found - ConcurrentHashMap as a weakly consistent iterator so while iterating we might not see the latest update. This will cause tasks to disappear For sure you mean ConcurrentLinkedQueue which has the same property. It is important to notice that we iterate over only on previous collection. Once we hold reference in hand we use it to run the tasks and adding to this specific instance is not possible so weakly consistent iterator seems not to be the case here but making sure that new reference is visible to all the threads. Created attachment 1228943 [details]
Engine log with debug prints
I reproduced the issue with the master version. (Without the timeout fix) See attached the end of the log, and the debug that I added in the code. The following task is inserted but never executed: inserting future task java.util.concurrent.FutureTask@c3aaf7 Also in the thread dump, we can see that is is stuck, waiting for the FutureTask. Without timeout fix the probability of occurring this issue is lower. Still it needs to be fixed. You just proved that hotspot javadocs are not describing what openjdk is doing. *** Bug 1402597 has been marked as a duplicate of this bug. *** need to cherry pick 5e3829d to 4.0. Should we create a clone of this bug? I think we should just leave this one. This wont be automated as it's codechange only and it is not reproducible anymore, basic sanity will be sufficient for verification process. |