citrusframework / citrusframework/citrus

Random concurrent modification exception when receiving message from http channel

Open
#732 8 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
485
Forks
155
Avg merge
4d 22h
Merged PRs (30d)
6

Description

**2.7.4**

**Message always received from http channel**

**Concurrent Modification Exception is randomly reproduced**

Caused by: java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719)
at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:752)
at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:750)
at java.util.AbstractMap.toString(AbstractMap.java:554)
at java.util.Collections$UnmodifiableMap.toString(Collections.java:1495)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at com.consol.citrus.message.DefaultMessage.toString(DefaultMessage.java:104)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at org.springframework.messaging.support.GenericMessage.toString(GenericMessage.java:111)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:432)

Contributor guide

Open the contributing guide

Research direction

Start with DefaultMessage.java at DefaultMessage.toString(), then trace the message through GenericMessage.toString() and AbstractMessageChannel.send() while reproducing receipt from the HTTP channel. The issue is resolved when concurrent message receipt no longer produces the reported ConcurrentModificationException.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.