Problem/Motivation
Due to the way OrangeDamQueueSubscriber implements `itemPreDeleteSynchronize()` only content items can be synchronized between the deletion queue and import queue. Keywords do not have a `deletionDate` property nor do they have a SystemIdentifier, so the logic fails for keywords (without damaging anything).
It would be good to minimize race conditions between keyword migration/creation queue and keyword deletion queue.
Steps to reproduce
Queue some deleted keywords:
`drush orange-dam:queue-deleted-keywords-since-time "long enough ago to have some deleted keywords"`
Then process the deletion queue:
`drush orange-dam:migration-process-deletion-queue `
You will notice that the code in itemPreDeleteSynchronize() never checks for queued keywords in the migration/import queue.
Proposed resolution
Find a way to synchronize keyword deletion and importation queues
Remaining tasks
Design a fix and implement it in a merge request.
User interface changes
none
API changes
none
Data model changes
We might need to add a property to OrangeDamKeyword objects.
Comments
Comment #2
adamzimmermann commented