[ https://issues.apache.org/jira/browse/SLING-3404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tommaso Teofili resolved SLING-3404. ------------------------------------ Resolution: Fixed > JobHandlingReplicationQueue reports failed Job.toString > ------------------------------------------------------- > > Key: SLING-3404 > URL: https://issues.apache.org/jira/browse/SLING-3404 > Project: Sling > Issue Type: Improvement > Components: Extensions > Reporter: Tommaso Teofili > Assignee: Tommaso Teofili > Labels: replication > > JobHandlingReplicationQueue currently logs an INFO message when a Job is > created internally, however this triggers a strange > ConcurrentModificationException : > SLF4J: Failed toString() invocation on an object of type > [org.apache.sling.event.impl.jobs.JobImpl] > java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) > at java.util.HashMap$EntryIterator.next(HashMap.java:834) > at java.util.HashMap$EntryIterator.next(HashMap.java:832) > at java.util.AbstractMap.toString(AbstractMap.java:485) > at > org.apache.sling.api.wrappers.ValueMapDecorator.toString(ValueMapDecorator.java:210) > at java.lang.String.valueOf(String.java:2826) > at java.lang.StringBuilder.append(StringBuilder.java:115) > at org.apache.sling.event.impl.jobs.JobImpl.toString(JobImpl.java:383) > at > org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:304) > at > org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:276) > at > org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:230) > at > ch.qos.logback.classic.spi.LoggingEvent.getFormattedMessage(LoggingEvent.java:298) > at > ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(LoggingEvent.java:208) > at > ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:206) > at > ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:175) > at > ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103) > at > ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88) > at > ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48) > at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273) > at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260) > at > ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442) > at ch.qos.logback.classic.Logger.filterAndLog_1(Logger.java:414) > at ch.qos.logback.classic.Logger.info(Logger.java:604) > at > org.apache.sling.replication.queue.impl.jobhandling.JobHandlingReplicationQueue.add(JobHandlingReplicationQueue.java:72) > at > org.apache.sling.replication.queue.impl.ErrorAwareQueueDistributionStrategy.offer(ErrorAwareQueueDistributionStrategy.java:115) > at > org.apache.sling.replication.agent.impl.SimpleReplicationAgent.schedule(SimpleReplicationAgent.java:167) > at > org.apache.sling.replication.agent.impl.SimpleReplicationAgent.schedule(SimpleReplicationAgent.java:149) > at > org.apache.sling.replication.agent.impl.SimpleReplicationAgent.send(SimpleReplicationAgent.java:104) > at > org.apache.sling.replication.rule.impl.ScheduleReplicateReplicationRule$ScheduledReplication.run(ScheduleReplicateReplicationRule.java:95) > at > org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105) > at org.quartz.core.JobRunShell.run(JobRunShell.java:207) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) > at java.lang.Thread.run(Thread.java:695) > The trivial workaround for the replication queue is to switch to log, for > example, just the ID or something else. However it'd be interesting to > understand what's causing it. -- This message was sent by Atlassian JIRA (v6.1.5#6160)