[
https://issues.apache.org/jira/browse/SLING-3502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13969516#comment-13969516
]
Marc Pfaff edited comment on SLING-3502 at 4/15/14 1:04 PM:
------------------------------------------------------------
About the renaming from <main queue> to {{_main queue_}}: As this main queue is
implicitly configured by sling eventing itself, there is the risk that clients
are using the JobManager API to query for this main queue by name explicitly.
This patch would then potentially break that code.
Other suggestion: How about changing the name filtering and add < and > to the
allowed characters? This would allow us to keep using the old main queue name
while still doing the outdating properly. WDYT?
was (Author: [email protected]):
About the renaming from <main queue> to ``_main queue_``: As this main queue is
implicitly configured by sling eventing itself, there is the risk that clients
are using the JobManager API to query for this main queue by name explicitly.
This patch would then potentially break that code.
Other suggestion: How about changing the name filtering and add < and > to the
allowed characters? This would allow us to keep using the old main queue name
while still doing the outdating properly. WDYT?
> Main job queue is not properly outdated
> ----------------------------------------
>
> Key: SLING-3502
> URL: https://issues.apache.org/jira/browse/SLING-3502
> Project: Sling
> Issue Type: Bug
> Components: Extensions
> Affects Versions: Event 3.3.8
> Reporter: Marc Pfaff
> Assignee: Stefan Egli
> Attachments: SLING-3502.patch
>
>
> The default job queue called <main queue> appears not to be properly outdated.
> The JobManager keeps an internal map of currently running job queues, indexed
> by job name. The code to outdate a queue (JobManagerImpl.outdateQueue()) uses
> a filtered queue name to look up the queue to outdate in this map. But the
> part that uses, creates and puts the queue on the map
> (JobManagerImpl.process()), does not filter the queue name.
> After outdating the main queue like this, there are two or more main queue
> entries in the map, depending on the number of topology changes happening,
> pointing to the same outdated queue instance. As one of the queues is still
> indexed with <main queue>, new jobs that use the main queue are always
> assigned an outdated queue. That's a dead end, as outdated queues do not
> appear to have a queue thread running no more.
> To reproduce:
> * Start one instance
> * Start a job that uses the main queue, so one instance of the main queue is
> created. This job passes fine.
> * Trigger a topology change, e.g. by adding a second instance to the same
> topology
> * Check the job manager in sling console, you should see two outdated main
> queues, properly labeled as outdated, but one of them is internally still
> indexed by <main queue>
> * Start another job that uses the main queue. This job and all following jobs
> using main queue never get executed
--
This message was sent by Atlassian JIRA
(v6.2#6252)