[ 
https://issues.apache.org/jira/browse/HIVE-18384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prasanth Jayachandran updated HIVE-18384:
-----------------------------------------
    Attachment: HIVE-18384.3.patch

Updated disruptor version required by log4j2 version update.

> ConcurrentModificationException in log4j2.x library
> ---------------------------------------------------
>
>                 Key: HIVE-18384
>                 URL: https://issues.apache.org/jira/browse/HIVE-18384
>             Project: Hive
>          Issue Type: Bug
>          Components: Logging
>    Affects Versions: 3.0.0
>            Reporter: Prasanth Jayachandran
>            Assignee: Prasanth Jayachandran
>         Attachments: HIVE-18384.1.patch, HIVE-18384.2.patch, 
> HIVE-18384.3.patch
>
>
> In one of the internal testing, observed the following exception
> {code}
> java.util.ConcurrentModificationException
>       at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909) 
> ~[?:1.8.0_152]
>       at java.util.ArrayList$Itr.next(ArrayList.java:859) ~[?:1.8.0_152]
>       at 
> java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042) 
> ~[?:1.8.0_152]
>       at 
> org.apache.logging.log4j.message.ParameterFormatter.appendCollection(ParameterFormatter.java:596)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.message.ParameterFormatter.appendPotentiallyRecursiveValue(ParameterFormatter.java:504)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.message.ParameterFormatter.recursiveDeepToString(ParameterFormatter.java:429)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.message.ParameterFormatter.formatMessage2(ParameterFormatter.java:189)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.message.ParameterizedMessage.formatTo(ParameterizedMessage.java:224)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.message.ParameterizedMessage.getFormattedMessage(ParameterizedMessage.java:200)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.core.async.RingBufferLogEvent.setMessage(RingBufferLogEvent.java:126)
>  ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.core.async.RingBufferLogEvent.setValues(RingBufferLogEvent.java:104)
>  ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.translateTo(RingBufferLogEventTranslator.java:56)
>  ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.core.async.RingBufferLogEventTranslator.translateTo(RingBufferLogEventTranslator.java:34)
>  ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> com.lmax.disruptor.RingBuffer.translateAndPublish(RingBuffer.java:930) 
> ~[disruptor-3.3.0.jar:?]
>       at com.lmax.disruptor.RingBuffer.tryPublishEvent(RingBuffer.java:456) 
> ~[disruptor-3.3.0.jar:?]
>       at 
> org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.tryPublish(AsyncLoggerDisruptor.java:190)
>  ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.core.async.AsyncLogger.publish(AsyncLogger.java:160) 
> ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.core.async.AsyncLogger.logWithThreadLocalTranslator(AsyncLogger.java:156)
>  ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.core.async.AsyncLogger.logMessage(AsyncLogger.java:126)
>  ~[log4j-core-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2011)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at 
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1884)
>  ~[log4j-api-2.6.2.jar:2.6.2]
>       at org.apache.logging.slf4j.Log4jLogger.info(Log4jLogger.java:189) 
> ~[log4j-slf4j-impl-2.6.2.jar:2.6.2]
>       at 
> org.apache.hadoop.hive.druid.security.KerberosHttpClient.inner_go(KerberosHttpClient.java:96)
>  ~[hive-druid-handler-2.1.0.2.6.4.0-91.jar:2.1.0.2.6.4.0-91]
>       at 
> org.apache.hadoop.hive.druid.security.KerberosHttpClient.access$100(KerberosHttpClient.java:50)
>  ~[hive-druid-handler-2.1.0.2.6.4.0-91.jar:2.1.0.2.6.4.0-91]
>       at 
> org.apache.hadoop.hive.druid.security.KerberosHttpClient$2.onSuccess(KerberosHttpClient.java:144)
>  ~[hive-druid-handler-2.1.0.2.6.4.0-91.jar:2.1.0.2.6.4.0-91]
>       at 
> org.apache.hadoop.hive.druid.security.KerberosHttpClient$2.onSuccess(KerberosHttpClient.java:134)
>  ~[hive-druid-handler-2.1.0.2.6.4.0-91.jar:2.1.0.2.6.4.0-91]
>       at 
> org.apache.hive.druid.com.google.common.util.concurrent.Futures$4.run(Futures.java:1181)
>  ~[hive-druid-handler-2.1.0.2.6.4.0-91.jar:2.1.0.2.6.4.0-91]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  ~[?:1.8.0_152]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  ~[?:1.8.0_152]
>       at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
> {code}
> The fix for this went into 2.9.1 LOG4J2-1988 onwards. Updating log4j to 
> latest version should have a fix for this issue. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to