[
https://issues.apache.org/jira/browse/OPENJPA-825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656666#action_12656666
]
Fernando commented on OPENJPA-825:
----------------------------------
I have to add that because Slices does execute the Query using multiple threads
( ST1, ST2, ST3 mentioned above ). It is explicitly accessing the EM in a
multi-threaded manner, thus breaking the whole assumptions that you can only
access the EM with one thread.
THUS:
Slices REQUIRES openjpa.Multithreaded=true !!!!!!!!!!!!
Conceptually, if you will be executing the EM with multiple threads, you have
to use openjpa.Multithreaded=true. And if you don't you will see corruption
and weird behavior, which another issue (OPENJPA-820) shows exactly that Slices
with openjpa.Multithread=false can have erratic behavior, with invalid results
for queries. Thus if you run Slices with openjpa.Multithreaded=false, then any
query you run could be returning invalid values!
I just wanted to go on record stating that this bug (OPENJPA-825) is an
either/or proposition, or only an issue if you run with
openjpa.Multithreaded=true, because currently Slices requires
openjpa.Multithreaded=true. Thus though the easy solution is #1, that is the
most un-performant of any of them, so it's a great short-term solution. And #3
is useless because deadlocks ARE GUARANTEED to occur (OPENJPA-820), because
most of the code uses a global lock, there is no way around deadlocks. #2 is
the only long-term solution...
> slices: hangs with multithreaded true
> -------------------------------------
>
> Key: OPENJPA-825
> URL: https://issues.apache.org/jira/browse/OPENJPA-825
> Project: OpenJPA
> Issue Type: Bug
> Components: kernel
> Affects Versions: 2.0.0
> Reporter: Fernando
> Assignee: Pinaki Poddar
> Priority: Critical
> Attachments: hang-multithread.jstack, hang-multithread.txt
>
>
> When I turned on openjpa.Multithreaded as a possible fix for another bug, I
> see that the system hangs. Attached are going to be a log file, and jstack,
> showing how it system hung on the very first query. ( it did execute a few
> find() operations, but those are not executed via ParallelExecutor ).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.