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)

Reply via email to