You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by Patrick Linskey <pl...@gmail.com> on 2008/07/14 18:19:42 UTC

Re: svn commit: r676604 - /openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java

Hi,

It looks like this checkin broke some tests.

In related news, http://openjpa-teamcity.dyndns.org:8111 is back up,  
but I need to recreate accounts for those who are interested in them.  
So, if you want one, let me know.

-Patrick

On Jul 14, 2008, at 7:34 AM, ppoddar@apache.org wrote:

> Author: ppoddar
> Date: Mon Jul 14 07:33:59 2008
> New Revision: 676604
>
> URL: http://svn.apache.org/viewvc?rev=676604&view=rev
> Log:
> Skip dirty check for nontransactional, runtime-enhanced instances
>
> Modified:
>    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ 
> kernel/StateManagerImpl.java
>
> Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/ 
> openjpa/kernel/StateManagerImpl.java
> URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?rev=676604&r1=676603&r2=676604&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ 
> kernel/StateManagerImpl.java (original)
> +++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ 
> kernel/StateManagerImpl.java Mon Jul 14 07:33:59 2008
> @@ -811,7 +811,7 @@
>     public void dirtyCheck() {
>         if (!needsDirtyCheck())
>             return;
> -
> +
>         SaveFieldManager saved = getSaveFieldManager();
>         if (saved == null)
>             throw new InternalException(_loc.get("no-saved-fields",
> @@ -837,6 +837,8 @@
>             return false;
>         if (isNew() && !isFlushed())
>             return false;
> +        if (!isTransactional())
> +            return false;
>         return true;
>     }
>
>
>

-- 
Patrick Linskey
202 669 5907


Re: svn commit: r676604 - /openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java

Posted by Pinaki Poddar <pp...@apache.org>.
The change was initiated by a JIRA report OPENJPA-659. 
The failure was observed for runtime enhanced instances during dirty
checking. Dirty checking for untracked instances is skipped under certain
conditions. My initial attempt was to expand that condition to skip
non-transactional instances too. However, that was not a correct move as
other TeamCity tests started complaining. And hence the rollback of the
change.

On some more digging, first thing found was that the artifacts of the
reported scenario of embedded field, Spring-Tomcat-Weaver are *not* crucial
factors and the same error can be reproduced at a simpler setup as newly
added TestSimpleUnenhancedQuery demonstrates. The reason is a
SaveFieldManager was being constructed only if the invoked StateManager had
loaded fields. When the call to saveFields were made during StateManager
initialization, there was no field loaded and hence no SaveFieldManager.
This led to subsequent failure during dirty check.

It has now been corrected (refer OPENJPA-659 for details). But please review
and verify my explanation. 
 


-- 
View this message in context: http://n2.nabble.com/Re%3A-svn-commit%3A-r676604----openjpa-trunk-openjpa-kernel-src-main-java-org-apache-openjpa-kernel-StateManagerImpl.java-tp527508p529211.html
Sent from the OpenJPA Developers mailing list archive at Nabble.com.


Re: svn commit: r676604 - /openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java

Posted by Patrick Linskey <pl...@gmail.com>.
What was the goal of the original change? OpenJPA has a concept of non- 
managed fields; that might suit your needs.

-Patrick

On Jul 14, 2008, at 1:01 PM, Pinaki Poddar wrote:

>
> I have backed out the change.
> r676642 | ppoddar | 2008-07-14 11:54:05 -0500 (Mon, 14 Jul 2008) | 1  
> line
>
> Revert changes to exclude non-transactional states from dirty checking
> ------------------------------------------------------------------------
> r676604 | ppoddar | 2008-07-14 09:33:59 -0500 (Mon, 14 Jul 2008) | 1  
> line
>
> Skip dirty check for nontransactional, runtime-enhanced instances
>
> Monitoring a TeamCity test to see if the backout restores the
> no-test-failed.
>
>
>
> Patrick Linskey-2 wrote:
>>
>> Hi,
>>
>> It looks like this checkin broke some tests.
>>
>> In related news, http://openjpa-teamcity.dyndns.org:8111 is back up,
>> but I need to recreate accounts for those who are interested in them.
>> So, if you want one, let me know.
>>
>> -Patrick
>>
>> On Jul 14, 2008, at 7:34 AM, ppoddar@apache.org wrote:
>>
>>> Author: ppoddar
>>> Date: Mon Jul 14 07:33:59 2008
>>> New Revision: 676604
>>>
>>> URL: http://svn.apache.org/viewvc?rev=676604&view=rev
>>> Log:
>>> Skip dirty check for nontransactional, runtime-enhanced instances
>>>
>>> Modified:
>>>   openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/
>>> kernel/StateManagerImpl.java
>>>
>>> Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/
>>> openjpa/kernel/StateManagerImpl.java
>>> URL:
>>> http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?rev=676604&r1=676603&r2=676604&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> = 
>>> = 
>>> ====================================================================
>>> --- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/
>>> kernel/StateManagerImpl.java (original)
>>> +++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/
>>> kernel/StateManagerImpl.java Mon Jul 14 07:33:59 2008
>>> @@ -811,7 +811,7 @@
>>>    public void dirtyCheck() {
>>>        if (!needsDirtyCheck())
>>>            return;
>>> -
>>> +
>>>        SaveFieldManager saved = getSaveFieldManager();
>>>        if (saved == null)
>>>            throw new InternalException(_loc.get("no-saved-fields",
>>> @@ -837,6 +837,8 @@
>>>            return false;
>>>        if (isNew() && !isFlushed())
>>>            return false;
>>> +        if (!isTransactional())
>>> +            return false;
>>>        return true;
>>>    }
>>>
>>>
>>>
>>
>> -- 
>> Patrick Linskey
>> 202 669 5907
>>
>>
>>
>>
>
> -- 
> View this message in context: http://n2.nabble.com/Re%3A-svn-commit%3A-r676604----openjpa-trunk-openjpa-kernel-src-main-java-org-apache-openjpa-kernel-StateManagerImpl.java-tp527508p527694.html
> Sent from the OpenJPA Developers mailing list archive at Nabble.com.
>

-- 
Patrick Linskey
202 669 5907


Re: svn commit: r676604 - /openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java

Posted by Pinaki Poddar <pp...@apache.org>.
I have backed out the change.
r676642 | ppoddar | 2008-07-14 11:54:05 -0500 (Mon, 14 Jul 2008) | 1 line

Revert changes to exclude non-transactional states from dirty checking
------------------------------------------------------------------------
r676604 | ppoddar | 2008-07-14 09:33:59 -0500 (Mon, 14 Jul 2008) | 1 line

Skip dirty check for nontransactional, runtime-enhanced instances

Monitoring a TeamCity test to see if the backout restores the
no-test-failed.



Patrick Linskey-2 wrote:
> 
> Hi,
> 
> It looks like this checkin broke some tests.
> 
> In related news, http://openjpa-teamcity.dyndns.org:8111 is back up,  
> but I need to recreate accounts for those who are interested in them.  
> So, if you want one, let me know.
> 
> -Patrick
> 
> On Jul 14, 2008, at 7:34 AM, ppoddar@apache.org wrote:
> 
>> Author: ppoddar
>> Date: Mon Jul 14 07:33:59 2008
>> New Revision: 676604
>>
>> URL: http://svn.apache.org/viewvc?rev=676604&view=rev
>> Log:
>> Skip dirty check for nontransactional, runtime-enhanced instances
>>
>> Modified:
>>    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ 
>> kernel/StateManagerImpl.java
>>
>> Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/ 
>> openjpa/kernel/StateManagerImpl.java
>> URL:
>> http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?rev=676604&r1=676603&r2=676604&view=diff
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ 
>> kernel/StateManagerImpl.java (original)
>> +++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ 
>> kernel/StateManagerImpl.java Mon Jul 14 07:33:59 2008
>> @@ -811,7 +811,7 @@
>>     public void dirtyCheck() {
>>         if (!needsDirtyCheck())
>>             return;
>> -
>> +
>>         SaveFieldManager saved = getSaveFieldManager();
>>         if (saved == null)
>>             throw new InternalException(_loc.get("no-saved-fields",
>> @@ -837,6 +837,8 @@
>>             return false;
>>         if (isNew() && !isFlushed())
>>             return false;
>> +        if (!isTransactional())
>> +            return false;
>>         return true;
>>     }
>>
>>
>>
> 
> -- 
> Patrick Linskey
> 202 669 5907
> 
> 
>  
> 

-- 
View this message in context: http://n2.nabble.com/Re%3A-svn-commit%3A-r676604----openjpa-trunk-openjpa-kernel-src-main-java-org-apache-openjpa-kernel-StateManagerImpl.java-tp527508p527694.html
Sent from the OpenJPA Developers mailing list archive at Nabble.com.