openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ioannis Alexandrakis (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OPENJPA-2507) Weird EmptyStackException in CriteriaQueryImpl
Date Tue, 27 May 2014 20:59:01 GMT
Ioannis Alexandrakis created OPENJPA-2507:
---------------------------------------------

             Summary: Weird EmptyStackException in CriteriaQueryImpl
                 Key: OPENJPA-2507
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2507
             Project: OpenJPA
          Issue Type: Bug
          Components: criteria
    Affects Versions: 2.3.0
         Environment: openjpa 2.2.0 & 2.3.0, spring-data-jpa up to 1.4.2
            Reporter: Ioannis Alexandrakis
            Priority: Minor


Using spring-data-jpa with openjpa, I sometimes encounter a strange error (not all the times,
but under heavy load it makes its appearance, sparsely though):
....
Caused by: java.util.EmptyStackException
        at java.util.Stack.peek(Stack.java:<arbitrary line>)
        at org.apache.openjpa.persistence.criteria.CriteriaQueryImpl.ctx(CriteriaQueryImpl.java:<arbitrary
line>
....

I do not know which behaviour triggers it, however I think it would be an improvement to change
(I did not know where exactly to file it, because it is both an improvement and a bug in my
opinion), in org.apache.openjpa.persistence.criteria.CriteriaQueryImpl, method: Context ctx(),
this:
return _contexts == null || _contexts.isEmpty() ? null :  _contexts.peek();
to something like this:
try {
	return _contexts == null || _contexts.isEmpty() ? null :  _contexts.peek();
} catch (EmptyStackException e) {
    return null;
}

, in order to prevent a case where multiple threads modify the "_contexts" between the evaluation
of the inline "if".



I am not able to reproduce it all the time, thus I can't create a useful test, neither have
I created a patch due to the simplicity of the 'fix'. However I believe it is a harmless fix
which could be considered a minor improvement.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message