[ovirt-users] USER_CREATE_SNAPSHOT_FINISHED_FAILURE with Cinder storage stuck

Matthias Leopold matthias.leopold at meduniwien.ac.at
Tue Aug 22 10:08:26 UTC 2017



Am 2017-08-22 um 09:33 schrieb Maor Lipchuk:
> On Mon, Aug 21, 2017 at 6:12 PM, Matthias Leopold
> <matthias.leopold at meduniwien.ac.at> wrote:
>> Hi,
>>
>> we're experimenting with Cinder/Ceph Storage on oVirt 4.1.3. When we tried
>> to snapshot a VM (2 disks on Cinder storage domain) the task never finished
>> and now seems to be in an uninterruptible loop. We tried to stop it in
>> various (brute force) ways, but the below messages (one of the disks as an
>> example) are cluttering engine.log every 10 seconds. We tried the following:
>>
>> - deleting the VM
>> - restarting ovirt-engine service
>> - vdsClient -s 0 getAllTasksStatuses on SPM host (no result)
>> - restarting vdsmd service on SPM host
>> - /usr/share/ovirt-engine/setup/dbutils/taskcleaner.sh -u engine -d engine
>> -c c841c979-70ea-4e06-b9c4-9c5ce014d76d
>>
>> None of this helped. How do we get rid of this failed transaction?
>>
>> thx
>> matthias
>>
>> 2017-08-21 16:40:44,798+02 INFO
>> [org.ovirt.engine.core.utils.transaction.TransactionSupport]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] transaction
>> rolled back
>> 2017-08-21 16:40:44,799+02 ERROR
>> [org.ovirt.engine.core.bll.job.ExecutionHandler] (DefaultQuartzScheduler7)
>> [080af640-bac3-4990-8bf4-6829551b538d] Exception:
>> org.springframework.dao.DataIntegrityViolationException:
>> CallableStatementCallback; SQL [{call insertstep(?, ?, ?, ?, ?, ?, ?, ?, ?,
>> ?, ?, ?, ?, ?)}]; ERROR: insert or update on table "step" violates foreign
>> key constraint "fk_step_job"
>> 2017-08-21 16:40:44,805+02 ERROR
>> [org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] Ending
>> command
>> 'org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand' with
>> failure.
>> 2017-08-21 16:40:44,807+02 WARN
>> [org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] No snapshot
>> was created for VM 'c0235316-81c4-48be-9521-b86b338c7d20' which is in LOCKED
>> status
>> 2017-08-21 16:40:44,810+02 INFO
>> [org.ovirt.engine.core.utils.transaction.TransactionSupport]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] transaction
>> rolled back
>> 2017-08-21 16:40:44,810+02 WARN
>> [org.ovirt.engine.core.bll.lock.InMemoryLockManager]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] Trying to
>> release exclusive lock which does not exist, lock key:
>> 'c0235316-81c4-48be-9521-b86b338c7d20VM'
>> 2017-08-21 16:40:44,810+02 INFO
>> [org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] Lock freed
>> to object
>> 'EngineLock:{exclusiveLocks='[c0235316-81c4-48be-9521-b86b338c7d20=VM]',
>> sharedLocks=''}'
>> 2017-08-21 16:40:44,829+02 ERROR
>> [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] EVENT_ID:
>> USER_CREATE_SNAPSHOT_FINISHED_FAILURE(69), Correlation ID:
>> 080af640-bac3-4990-8bf4-6829551b538d, Job ID:
>> a3be8af1-8d33-4d35-9672-215ac7c9959f, Call Stack: null, Custom Event ID: -1,
>> Message: Failed to complete snapshot 'test' creation for VM '<UNKNOWN>'.
>> 2017-08-21 16:40:44,829+02 ERROR
>> [org.ovirt.engine.core.bll.tasks.CommandCallbacksPoller]
>> (DefaultQuartzScheduler7) [080af640-bac3-4990-8bf4-6829551b538d] Failed
>> invoking callback end method 'onFailed' for command
>> 'c841c979-70ea-4e06-b9c4-9c5ce014d76d' with exception 'null', the callback
>> is marked for end method retries
>>
>>

> 
> 
> Hi Matthias,
> 
> Can you please attach the full engine log contains the first error
> occurred so we can trace its origin and fix it?
> Does it reproduced constantly?
> 
> The engine does not use VDSM tasks to manage Cinder, the engine use
> Cinder as an external provider using the COCO infrastructure for async
> tasks.
> The COCO tasks are managed in the database using the command_entities
> table, basically if you will remove all references of the command id
> from the command_entities and restart engine you should not see it any
> more.
> 
> Regards,
> Maor
> 

Hi Maor,

thanks very much for replying. First i tried to clean the 
command_entities table plus restarting engine as you suggested. This 
didn't work entirely, these two entries

engine=# select command_id, command_type, root_command_id, status from 
command_entities;
               command_id              | command_type | 
root_command_id            | status
--------------------------------------+--------------+--------------------------------------+--------
  c841c979-70ea-4e06-b9c4-9c5ce014d76d |          206 | 
c841c979-70ea-4e06-b9c4-9c5ce014d76d | FAILED
  65fa094e-1609-47ea-bf0d-611e3d5b9358 |          206 | 
65fa094e-1609-47ea-bf0d-611e3d5b9358 | FAILED


keep appearing and still cause messages in engine.log like

  2017-08-22 11:54:57,109+02 WARN 
[org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand] 
(DefaultQuartzScheduler8) [080af640-bac3-4990-8bf4-6829551b538d] No 
snapshot was created for VM 'c0235316-81c4-48be-9521-b86b338c7d20' which 
is in LOCKED status
2017-08-22 11:54:57,112+02 INFO 
[org.ovirt.engine.core.utils.transaction.TransactionSupport] 
(DefaultQuartzScheduler8) [080af640-bac3-4990-8bf4-6829551b538d] 
transaction rolled back
2017-08-22 11:54:57,112+02 WARN 
[org.ovirt.engine.core.bll.lock.InMemoryLockManager] 
(DefaultQuartzScheduler8) [080af640-bac3-4990-8bf4-6829551b538d] Trying 
to release exclusive lock which does not exist, lock key: 
'c0235316-81c4-48be-9521-b86b338c7d20VM'
2017-08-22 11:54:57,112+02 INFO 
[org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand] 
(DefaultQuartzScheduler8) [080af640-bac3-4990-8bf4-6829551b538d] Lock 
freed to object 
'EngineLock:{exclusiveLocks='[c0235316-81c4-48be-9521-b86b338c7d20=VM]', 
sharedLocks=''}'
2017-08-22 11:54:57,131+02 ERROR 
[org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] 
(DefaultQuartzScheduler8) [080af640-bac3-4990-8bf4-6829551b538d] 
EVENT_ID: USER_CREATE_SNAPSHOT_FINISHED_FAILURE(69), Correlation ID: 
080af640-bac3-4990-8bf4-6829551b538d, Call Stack: null, Custom Event ID: 
-1, Message: Failed to complete snapshot 'test' creation for VM '<UNKNOWN>'.
2017-08-22 11:54:57,132+02 ERROR 
[org.ovirt.engine.core.bll.tasks.CommandCallbacksPoller] 
(DefaultQuartzScheduler8) [080af640-bac3-4990-8bf4-6829551b538d] Failed 
invoking callback end method 'onFailed' for command 
'c841c979-70ea-4e06-b9c4-9c5ce014d76d' with exception 'null', the 
callback is marked for end method retries
2017-08-22 11:54:57,138+02 ERROR 
[org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand] 
(DefaultQuartzScheduler8) [54caec87-ba59-4e9f-acf3-7fb5d94658e4] Ending 
command 
'org.ovirt.engine.core.bll.snapshots.CreateAllSnapshotsFromVmCommand' 
with failure.

The SQL error messages like

ERROR: insert or update on table "step" violates foreign key constraint 
"fk_step_job"

are gone now. Please give me a hint how to get rid of these tasks.

To trace the original error i'm attaching a minute of engine logs when 
the error first occurred (i hope this works when sending to the list). 
We have not tried to reproduce it yet, but we are planning to test 
cinder/ceph storage more extensively, so we'll be looking at this again. 
At first i would feel a lot better when i could clean up the last error 
completely.

Thanks a lot again
Best Regards
Matthias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: engine.log.gz
Type: application/gzip
Size: 6941 bytes
Desc: not available
URL: <http://lists.ovirt.org/pipermail/users/attachments/20170822/d746b01f/attachment.bin>


More information about the Users mailing list