Christian Schneider created SLING-12691:
-------------------------------------------
Summary: Make sure clear commands are executed even when there is
an import running
Key: SLING-12691
URL: https://issues.apache.org/jira/browse/SLING-12691
Project: Sling
Issue Type: Improvement
Components: Content Distribution
Affects Versions: Content Distribution Journal Core 0.5.2
Reporter: Christian Schneider
Assignee: Christian Schneider
We had issues where a user tried to clear a queue but it did not have any
effect.
What happens is that the clear action triggers a clear command on command topic.
The problem is that publish only skips packages based on the clear command if
no current import is running.
So if an import runs for very long or blocks then the clear command is not
executed. If then the pod is restarted there is a race condition where it can
happen that the same import is started before the pod receives the clear
command. So it gets stuck again in the same way and can not work on the clear
command.
The result is that the queue shows as non moving and the user has the
experience that the clear command had no effect.
---
This issue aims to update the offset according to the clear command and send a
status message of type skip even if the import is still running.
If then the pod is restarted it will have skipped the package already and work
fine.
There is one downside to this:
If the import is just long running but succeeds in the end then the pod
importing the package will have the package but other pods might have skipped
it.
This case will be fixed after next compaction run though so I think it is
acceptable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)