Nikita Timofeev created CAY-2720:
------------------------------------
Summary: ConcurrentModificationException in the
TypeAwareSQLTreeProcessor
Key: CAY-2720
URL: https://issues.apache.org/jira/browse/CAY-2720
Project: Cayenne
Issue Type: Bug
Components: Core Library
Affects Versions: 4.2.M3
Reporter: Nikita Timofeev
Assignee: Nikita Timofeev
Fix For: 4.2.B1
Seems like TypeAwareSQLTreeProcessor could lead to a
{{ConcurrentModificationException}} when it lazily computes processors for
attributes.
Here's a stack trace:
{code}
Caused by: java.util.ConcurrentModificationException: null
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
at
org.apache.cayenne.access.sqlbuilder.sqltree.PerAttributeChildProcessor.process(PerAttributeChildProcessor.java:48)
at
org.apache.cayenne.access.translator.select.TypeAwareSQLTreeProcessor.onChildNodeStart(TypeAwareSQLTreeProcessor.java:88)
at
org.apache.cayenne.access.sqlbuilder.sqltree.Node.visit(Node.java:106)
at
org.apache.cayenne.access.sqlbuilder.sqltree.Node.visit(Node.java:109)
at
org.apache.cayenne.access.translator.select.TypeAwareSQLTreeProcessor.process(TypeAwareSQLTreeProcessor.java:61)
at
org.apache.cayenne.access.translator.select.SQLGenerationStage.perform(SQLGenerationStage.java:38)
at
org.apache.cayenne.access.translator.select.DefaultSelectTranslator.translate(DefaultSelectTranslator.java:98)
at
org.apache.cayenne.access.translator.select.DefaultSelectTranslator.getSql(DefaultSelectTranslator.java:104)
at
org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:87)
at
org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:97)
at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)