[jboss-jira] [JBoss JIRA] (DROOLS-4565) MVELDialectRuntimeData is not thread safe
Mario Fusco (Jira)
issues at jboss.org
Wed Sep 25 13:17:00 EDT 2019
[ https://issues.jboss.org/browse/DROOLS-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789189#comment-13789189 ]
Mario Fusco commented on DROOLS-4565:
-------------------------------------
I'll give a look but it would be very helpful if you could provide a reproducer for this.
> MVELDialectRuntimeData is not thread safe
> -----------------------------------------
>
> Key: DROOLS-4565
> URL: https://issues.jboss.org/browse/DROOLS-4565
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.16.0.Final
> Environment: Java 11.0.2
> Different OS
> Reporter: Timo Gutjahr
> Assignee: Mario Fusco
> Priority: Major
> Attachments: ForkJoinPool-1-worker-1.txt, NPE.txt
>
>
> MVELDialectRuntimeData#mvelReaders is accessed concurrently but is not thread safe due to the usage of a HashSet. This may cause lost updates. (See [^ForkJoinPool-1-worker-1.txt] )
> If this happens and the kie base is serialized and deserialized it results in a NullPointerException at runtime. (See [^NPE.txt] )
> We observed that the entries in this Set (mvelReaders) are serialized and important for the deserialization step because they contain information about transient objects that have to be re-initialized after deserialization.
> While losing this information due to concurrent access does not cause problems during compilation, serialization and deserialization of a kie base, they may cause NullPointerExceptions at runtime when transient fields remain uninitialized.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list