[jira] [Commented] (SLING-11317) Rewriter configuration gets "lost" in ProcessorManagerImpl when package with another configuration gets deployed
[ 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
[ 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
[ 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)