Bug 1956677
Summary: | Snapshot merge fails with null pointer exception. | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Roman Hodain <rhodain> | ||||
Component: | ovirt-engine | Assignee: | Benny Zlotnik <bzlotnik> | ||||
Status: | CLOSED ERRATA | QA Contact: | Shir Fishbain <sfishbai> | ||||
Severity: | urgent | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 4.4.5 | CC: | aefrat, bzlotnik, eshenitz, joboyer, michal.skrivanek, mjankula | ||||
Target Milestone: | ovirt-4.4.6-1 | Keywords: | ZStream | ||||
Target Release: | 4.4.6 | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | ovirt-engine-4.4.6.7 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2021-06-01 13:25:23 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | Storage | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Roman Hodain
2021-05-04 08:24:36 UTC
Created attachment 1779282 [details]
Engien logs
Benny, can you please have a look? Roman, please add all relevant info (VDSM logs, DB dump, versions) Since the issue occurs at around 03:35:35, which is when the CommandEntityCleanupManager runs, this shouldn't remove anything from the command_entities table but it does cause a reload from the table, which causes this method[1] to behave incorrectly: List<Guid> childCommandIds = commandCoordinatorUtil.getChildCommandIds(getCommandId()); if (childCommandIds.size() != parameters.getChildCommands().size()) { parameters.getChildCommands().put(parameters.getCommandStep(), childCommandIds.get(childCommandIds.size()-1)); } In a normal run where everything is read and written in the memory, the order will be kept correctly, but when it's reloaded from the database the order changes, which creates an incorrect CommandStep -> commandId mapping [1] https://github.com/oVirt/ovirt-engine/blob/b7bc2ee76e48f3373f3a2d584f36f22efed1daed/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/RemoveSnapshotSingleDiskCommandBase.java#L131 Verified: 1. Add forced cache refresh on each live merge step [1] to simulate CommandEntityCleanupManager 2. Run live merge The flow was tested both locally and on multiple OST runs [1] https://gerrit.ovirt.org/c/ovirt-engine/+/114635/1/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/RemoveSnapshotSingleDiskLiveCommand.java#93 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (0-day RHV Manager (ovirt-engine) [ovirt-4.4.6]), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:2182 *** Bug 1984000 has been marked as a duplicate of this bug. *** |