[jira] [Commented] (SLING-11317) Rewriter configuration gets "lost" in ProcessorManagerImpl when package with another configuration gets deployed

2022-05-20 Thread Martin Schulze (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-11317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17540149#comment-17540149
 ] 

Martin Schulze commented on SLING-11317:


(Draft) PR: 
https://github.com/apache/sling-org-apache-sling-rewriter/pull/7/files

> Rewriter configuration gets "lost" in ProcessorManagerImpl when package with 
> another configuration gets deployed
> 
>
> Key: SLING-11317
> URL: https://issues.apache.org/jira/browse/SLING-11317
> Project: Sling
>  Issue Type: Bug
>Reporter: Martin Schulze
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> On our AEM 6.5 instance (org.apache.sling.rewriter-1.2.2, but nothing major 
> happened with this class since this version) we have multiple rewriter 
> configurations and sometimes after a deployment of another package with a 
> rewriter configuration, a configurations is not triggered anymore and the 
> instance has to be restarted to get it working again.
> I've tracked the issue down and found the issue lies in the 
> {{ProcessorManagerImpl}} [0]. There are two fields, {{processors}} and 
> {{orderedProcessor}}, which are supposed to be mostly (inactive configs are 
> not in the {{orderedProcessors}}) "in sync", which is important because later 
> on there is an {{updateProcessor}} method [2], where the updated config has 
> to be found in the {{processors}} field, but they diverge from the start, in 
> the addProcessor [1] method, the added config never reaches the 
> {{processors}} field, because the newConfigs local variable never gets added 
> to the processors field. This lead to the issue, that in the updateProcessor 
> method, which gets triggered through the ResourceChangeListener, a 
> configuration gets wrongfully deleted [3].
> [0] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java
> [1] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L240
> [2] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L299
> [3] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L378



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (SLING-11317) Rewriter configuration gets "lost" in ProcessorManagerImpl when package with another configuration gets deployed

2022-05-12 Thread Martin Schulze (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-11317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536434#comment-17536434
 ] 

Martin Schulze commented on SLING-11317:


[~kwin] I will provide a PR.

> Rewriter configuration gets "lost" in ProcessorManagerImpl when package with 
> another configuration gets deployed
> 
>
> Key: SLING-11317
> URL: https://issues.apache.org/jira/browse/SLING-11317
> Project: Sling
>  Issue Type: Bug
>Reporter: Martin Schulze
>Priority: Major
>
> On our AEM 6.5 instance (org.apache.sling.rewriter-1.2.2, but nothing major 
> happened with this class since this version) we have multiple rewriter 
> configurations and sometimes after a deployment of another package with a 
> rewriter configuration, a configurations is not triggered anymore and the 
> instance has to be restarted to get it working again.
> I've tracked the issue down and found the issue lies in the 
> {{ProcessorManagerImpl}} [0]. There are two fields, {{processors}} and 
> {{orderedProcessor}}, which are supposed to be mostly (inactive configs are 
> not in the {{orderedProcessors}}) "in sync", which is important because later 
> on there is an {{updateProcessor}} method [2], where the updated config has 
> to be found in the {{processors}} field, but they diverge from the start, in 
> the addProcessor [1] method, the added config never reaches the 
> {{processors}} field, because the newConfigs local variable never gets added 
> to the processors field. This lead to the issue, that in the updateProcessor 
> method, which gets triggered through the ResourceChangeListener, a 
> configuration gets wrongfully deleted [3].
> [0] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java
> [1] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L240
> [2] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L299
> [3] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L378



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (SLING-11317) Rewriter configuration gets "lost" in ProcessorManagerImpl when package with another configuration gets deployed

2022-05-12 Thread Konrad Windszus (Jira)


[ 
https://issues.apache.org/jira/browse/SLING-11317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536005#comment-17536005
 ] 

Konrad Windszus commented on SLING-11317:
-

[~schulm] Thanks for the report. Can you come up with a PR containing the fix 
and in the best case a test case for that behaviour?

> Rewriter configuration gets "lost" in ProcessorManagerImpl when package with 
> another configuration gets deployed
> 
>
> Key: SLING-11317
> URL: https://issues.apache.org/jira/browse/SLING-11317
> Project: Sling
>  Issue Type: Bug
>Reporter: Martin Schulze
>Priority: Major
>
> On our AEM 6.5 instance (org.apache.sling.rewriter-1.2.2, but nothing major 
> happened with this class since this version) we have multiple rewriter 
> configurations and sometimes after a deployment of another package with a 
> rewriter configuration, a configurations is not triggered anymore and the 
> instance has to be restarted to get it working again. I've tracked the issue 
> down and found the issue lies in the {{ProcessorManagerImpl}} [0]. There are 
> two fields, {{processors}} and {{orderedProcessor}}, which are supposed to be 
> mostly (inactive configs are not in the {{orderedProcessors}}) "in sync", 
> which is important because later on there is an {{updateProcessor}} method 
> [2], where the updated config has to be found in the {{processors}} field, 
> but they diverge from the start, in the addProcessor [1] method, the added 
> config never reaches the {{processors}} field, because the newConfigs local 
> variable never gets added to the processors field. This lead to the issue, 
> that in the updateProcessor method, which gets triggered through the 
> ResourceChangeListener, a configuration gets wrongfully deleted [3].
> [0] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java
> [1] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L240
> [2] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L299
> [3] 
> https://github.com/apache/sling-org-apache-sling-rewriter/blob/master/src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java#L378



--
This message was sent by Atlassian Jira
(v8.20.7#820007)