Details

      Description

      ConfigurationImpl.addProperties() should do "copy on write" to prevent concurrent modification failure:

           [exec] 02:03:12,161 ERROR [liferay/background_task-1][ReindexSingleIndexerBackgroundTaskExecutor:84] java.util.ConcurrentModificationException
           [exec] java.util.ConcurrentModificationException
           [exec] 	at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:966)
           [exec] 	at java.util.LinkedList$ListItr.next(LinkedList.java:888)
           [exec] 	at org.apache.commons.configuration.CompositeConfiguration.getProperty(CompositeConfiguration.java:259)
           [exec] 	at com.liferay.portal.configuration.ClassLoaderAggregateProperties.getProperty(ClassLoaderAggregateProperties.java:108)
           [exec] 	at org.apache.commons.configuration.AbstractConfiguration.resolveContainerStore(AbstractConfiguration.java:1171)
           [exec] 	at org.apache.commons.configuration.AbstractConfiguration.getString(AbstractConfiguration.java:1038)
           [exec] 	at com.liferay.portal.configuration.ClassLoaderAggregateProperties.getString(ClassLoaderAggregateProperties.java:137)
           [exec] 	at com.liferay.portal.configuration.ConfigurationImpl.get(ConfigurationImpl.java:189)
           [exec] 	at com.liferay.portal.util.PropsUtil.get(PropsUtil.java:118)
           [exec] 	at com.liferay.portal.util.PropsImpl.get(PropsImpl.java:39)
           [exec] 	at com.liferay.portal.search.internal.indexer.IndexerWriterImpl.isEnabled(IndexerWriterImpl.java:117)
           [exec] 	at com.liferay.portal.search.internal.indexer.IndexerWriterImpl.reindex(IndexerWriterImpl.java:171)
           [exec] 	at com.liferay.portal.search.internal.indexer.DefaultIndexer.reindex(DefaultIndexer.java:268)
           [exec] 	at com.liferay.portal.search.internal.background.task.ReindexSingleIndexerBackgroundTaskExecutor.reindex(ReindexSingleIndexerBackgroundTaskExecutor.java:81)
           [exec] 	at com.liferay.portal.search.internal.background.task.ReindexBackgroundTaskExecutor.execute(ReindexBackgroundTaskExecutor.java:54)
           [exec] 	at com.liferay.portal.background.task.internal.SerialBackgroundTaskExecutor.execute(SerialBackgroundTaskExecutor.java:62)
           [exec] 	at com.liferay.portal.kernel.backgroundtask.DelegatingBackgroundTaskExecutor.execute(DelegatingBackgroundTaskExecutor.java:41)
           [exec] 	at com.liferay.portal.background.task.internal.ThreadLocalAwareBackgroundTaskExecutor.execute(ThreadLocalAwareBackgroundTaskExecutor.java:72)
           [exec] 	at com.liferay.portal.background.task.internal.messaging.BackgroundTaskMessageListener.doReceive(BackgroundTaskMessageListener.java:131)
           [exec] 	at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:26)
           [exec] 	at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:74)
           [exec] 	at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:52)
           [exec] 	at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:752)
           [exec] 	at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:664)
           [exec] 	at java.lang.Thread.run(Thread.java:745)
      

        Attachments

          Activity

            People

            • Assignee:
              sharry.shi Sharry Shi
              Reporter:
              shuyang.zhou Shuyang Zhou
              Participants of an Issue:
              Recent user:
              Clarissa Velazquez
              Engineering Assignee:
              Shuyang Zhou
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                5 weeks ago

                Packages

                Version Package
                7.2.10 DXP FP2
                7.2.10.1 DXP SP1
                7.2.X
                Master