You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by Tim Holloway <ti...@mousetech.com> on 2008/06/02 16:31:11 UTC

OptimisticException

I've always found it difficult to trace back to where merges caused
stale copies of an object to appear, resulting in Optimistic Locking
Exceptions.

Q: Would it be reasonable to add some functionality to the
StateComparisonVersionStrategy such that if a conflict is encountered
that the offending field and its conflicting values be displayed, either
in the Exception itself or in the log? It looks like
ArrayStateImage.sameVersion would need to reflect back the failing
column index.


Re: OptimisticException

Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Tim,

Sadly, there's real work to do to get any class that implements the  
java.sql.Connection interface to work in Java 6. You can't simply add  
the new methods because of incompatibility. You have to change the  
build scripts and packaging. Sigh.

OpenJPA would also encourage you to "scratch your itch" and provide a  
Java 6 solution. Otherwise, we'll get to it sooner or later.

Craig

On Jun 2, 2008, at 11:21 AM, Tim Holloway wrote:

> Ah crud, I forgot that one. No way it can use Java 6 in backwards
> compatibility mode? If not, Maven's got a flow in its "perfect build"
> model.
>
> I see the test suite now performs properly.
>
> All built, so now I'll see if I can deliver.
>
>   Tim
>
>
> On Mon, 2008-06-02 at 09:55 -0700, Craig L Russell wrote:
>> Hi Tim,
>>
>> On Jun 2, 2008, at 9:44 AM, Tim Holloway wrote:
>>
>>> Craig,
>>>
>>> I'd love to (I did something similar for Pentaho recently). But the
>>> latest SVN doesn't build for me. I get stuff like this:
>>>
>>> /workspace/openjpa-trunk/openjpa-lib/src/main/java/org/apache/
>>> openjpa/lib/jdbc/DelegatingConnection.java:[47,7]
>>> org.apache.openjpa.lib.jdbc.DelegatingConnection is not abstract and
>>> does not override abstract method
>>> createStruct(java.lang.String,java.lang.Object[]) in
>>> java.sql.Connection
>>
>> This might be a Java 6 issue. IIRC, OpenJPA only compiles with Java 5
>> currently.
>>>
>>>
>>> A test case, I've already got, alas. I'll make a more general one
>>> once I
>>> resolve it.
>>>
>>> I don't have JIRA rights, however. Been asking other people to  
>>> handle
>>> that for me in the past.
>>
>> It's trivial to sign up for JIRA. Just go to https://issues.apache.org/jira/secure/Dashboard.jspa
>>  and create an account. Done.
>>
>> Thanks,
>>
>> Craig
>>>
>>>
>>>  Regards,
>>>
>>>    Tim
>>>
>>> On Mon, 2008-06-02 at 08:55 -0700, Craig L Russell wrote:
>>>> Hi Tim,
>>>>
>>>> On Jun 2, 2008, at 7:31 AM, Tim Holloway wrote:
>>>>
>>>>> I've always found it difficult to trace back to where merges  
>>>>> caused
>>>>> stale copies of an object to appear, resulting in Optimistic  
>>>>> Locking
>>>>> Exceptions.
>>>>>
>>>>> Q: Would it be reasonable to add some functionality to the
>>>>> StateComparisonVersionStrategy such that if a conflict is
>>>>> encountered
>>>>> that the offending field and its conflicting values be displayed,
>>>>> either
>>>>> in the Exception itself or in the log? It looks like
>>>>> ArrayStateImage.sameVersion would need to reflect back the failing
>>>>> column index.
>>>>
>>>> Sounds like a good idea to me. Can you write a) a patch; b) a test
>>>> case; c) a JIRA?
>>>>
>>>> Craig
>>>>>
>>>>>
>>>>
>>>> Craig Russell
>>>> Architect, Sun Java Enterprise System http://java.sun.com/products/
>>>> jdo
>>>> 408 276-5638 mailto:Craig.Russell@sun.com
>>>> P.S. A good JDO? O, Gasp!
>>>>
>>>
>>
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/ 
>> jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>>
>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Re: OptimisticException

Posted by Tim Holloway <ti...@mousetech.com>.
Ah crud, I forgot that one. No way it can use Java 6 in backwards
compatibility mode? If not, Maven's got a flow in its "perfect build"
model.

I see the test suite now performs properly.

All built, so now I'll see if I can deliver.

   Tim


On Mon, 2008-06-02 at 09:55 -0700, Craig L Russell wrote:
> Hi Tim,
> 
> On Jun 2, 2008, at 9:44 AM, Tim Holloway wrote:
> 
> > Craig,
> >
> > I'd love to (I did something similar for Pentaho recently). But the
> > latest SVN doesn't build for me. I get stuff like this:
> >
> > /workspace/openjpa-trunk/openjpa-lib/src/main/java/org/apache/ 
> > openjpa/lib/jdbc/DelegatingConnection.java:[47,7]  
> > org.apache.openjpa.lib.jdbc.DelegatingConnection is not abstract and  
> > does not override abstract method  
> > createStruct(java.lang.String,java.lang.Object[]) in  
> > java.sql.Connection
> 
> This might be a Java 6 issue. IIRC, OpenJPA only compiles with Java 5  
> currently.
> >
> >
> > A test case, I've already got, alas. I'll make a more general one  
> > once I
> > resolve it.
> >
> > I don't have JIRA rights, however. Been asking other people to handle
> > that for me in the past.
> 
> It's trivial to sign up for JIRA. Just go to https://issues.apache.org/jira/secure/Dashboard.jspa 
>   and create an account. Done.
> 
> Thanks,
> 
> Craig
> >
> >
> >   Regards,
> >
> >     Tim
> >
> > On Mon, 2008-06-02 at 08:55 -0700, Craig L Russell wrote:
> >> Hi Tim,
> >>
> >> On Jun 2, 2008, at 7:31 AM, Tim Holloway wrote:
> >>
> >>> I've always found it difficult to trace back to where merges caused
> >>> stale copies of an object to appear, resulting in Optimistic Locking
> >>> Exceptions.
> >>>
> >>> Q: Would it be reasonable to add some functionality to the
> >>> StateComparisonVersionStrategy such that if a conflict is  
> >>> encountered
> >>> that the offending field and its conflicting values be displayed,
> >>> either
> >>> in the Exception itself or in the log? It looks like
> >>> ArrayStateImage.sameVersion would need to reflect back the failing
> >>> column index.
> >>
> >> Sounds like a good idea to me. Can you write a) a patch; b) a test
> >> case; c) a JIRA?
> >>
> >> Craig
> >>>
> >>>
> >>
> >> Craig Russell
> >> Architect, Sun Java Enterprise System http://java.sun.com/products/ 
> >> jdo
> >> 408 276-5638 mailto:Craig.Russell@sun.com
> >> P.S. A good JDO? O, Gasp!
> >>
> >
> 
> Craig Russell
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
> 


Re: OptimisticException

Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Tim,

On Jun 2, 2008, at 9:44 AM, Tim Holloway wrote:

> Craig,
>
> I'd love to (I did something similar for Pentaho recently). But the
> latest SVN doesn't build for me. I get stuff like this:
>
> /workspace/openjpa-trunk/openjpa-lib/src/main/java/org/apache/ 
> openjpa/lib/jdbc/DelegatingConnection.java:[47,7]  
> org.apache.openjpa.lib.jdbc.DelegatingConnection is not abstract and  
> does not override abstract method  
> createStruct(java.lang.String,java.lang.Object[]) in  
> java.sql.Connection

This might be a Java 6 issue. IIRC, OpenJPA only compiles with Java 5  
currently.
>
>
> A test case, I've already got, alas. I'll make a more general one  
> once I
> resolve it.
>
> I don't have JIRA rights, however. Been asking other people to handle
> that for me in the past.

It's trivial to sign up for JIRA. Just go to https://issues.apache.org/jira/secure/Dashboard.jspa 
  and create an account. Done.

Thanks,

Craig
>
>
>   Regards,
>
>     Tim
>
> On Mon, 2008-06-02 at 08:55 -0700, Craig L Russell wrote:
>> Hi Tim,
>>
>> On Jun 2, 2008, at 7:31 AM, Tim Holloway wrote:
>>
>>> I've always found it difficult to trace back to where merges caused
>>> stale copies of an object to appear, resulting in Optimistic Locking
>>> Exceptions.
>>>
>>> Q: Would it be reasonable to add some functionality to the
>>> StateComparisonVersionStrategy such that if a conflict is  
>>> encountered
>>> that the offending field and its conflicting values be displayed,
>>> either
>>> in the Exception itself or in the log? It looks like
>>> ArrayStateImage.sameVersion would need to reflect back the failing
>>> column index.
>>
>> Sounds like a good idea to me. Can you write a) a patch; b) a test
>> case; c) a JIRA?
>>
>> Craig
>>>
>>>
>>
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/ 
>> jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>>
>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Re: OptimisticException

Posted by Tim Holloway <ti...@mousetech.com>.
Craig,

I'd love to (I did something similar for Pentaho recently). But the
latest SVN doesn't build for me. I get stuff like this:

/workspace/openjpa-trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/jdbc/DelegatingConnection.java:[47,7] org.apache.openjpa.lib.jdbc.DelegatingConnection is not abstract and does not override abstract method createStruct(java.lang.String,java.lang.Object[]) in java.sql.Connection

A test case, I've already got, alas. I'll make a more general one once I
resolve it.

I don't have JIRA rights, however. Been asking other people to handle
that for me in the past.

   Regards,

     Tim

On Mon, 2008-06-02 at 08:55 -0700, Craig L Russell wrote:
> Hi Tim,
> 
> On Jun 2, 2008, at 7:31 AM, Tim Holloway wrote:
> 
> > I've always found it difficult to trace back to where merges caused
> > stale copies of an object to appear, resulting in Optimistic Locking
> > Exceptions.
> >
> > Q: Would it be reasonable to add some functionality to the
> > StateComparisonVersionStrategy such that if a conflict is encountered
> > that the offending field and its conflicting values be displayed,  
> > either
> > in the Exception itself or in the log? It looks like
> > ArrayStateImage.sameVersion would need to reflect back the failing
> > column index.
> 
> Sounds like a good idea to me. Can you write a) a patch; b) a test  
> case; c) a JIRA?
> 
> Craig
> >
> >
> 
> Craig Russell
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
> 


Re: OptimisticException

Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Tim,

On Jun 2, 2008, at 7:31 AM, Tim Holloway wrote:

> I've always found it difficult to trace back to where merges caused
> stale copies of an object to appear, resulting in Optimistic Locking
> Exceptions.
>
> Q: Would it be reasonable to add some functionality to the
> StateComparisonVersionStrategy such that if a conflict is encountered
> that the offending field and its conflicting values be displayed,  
> either
> in the Exception itself or in the log? It looks like
> ArrayStateImage.sameVersion would need to reflect back the failing
> column index.

Sounds like a good idea to me. Can you write a) a patch; b) a test  
case; c) a JIRA?

Craig
>
>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!