[ 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.