Minutes: JDO TCK Conference Call Friday April 22, 9 AM Pacific Daylight Time (PDT)

2016-04-22 Thread Craig Russell
Attendees: Michael Bouschen, Tilmann Zäschke, Craig Russell

NOTE: Next meeting is a day early: April 28 9:00 AM PDT

Agenda:

1. JDO-750 "Change development environment to JDK 1.8" 
https://issues.apache.org/jira/browse/JDO-750

Since 3.2 needs Java8 we could put it into the specification.

2. JDO-751 "Support for Java8 Optional" 
https://issues.apache.org/jira/browse/JDO-751

Discussed use of “naked” Optional as a field type. Probably could support this 
but would need extra metadata in the .jdo file or annotations.

Also could support Optional in the same way.

It looks like we currently have no negative test cases for enhancement that 
would catch e.g. Optional. 

3. JDO-747 "Behavior of delete() with multiple concurrent Transactions" 
https://issues.apache.org/jira/browse/JDO-747

Tilmann suggests adding rows to the table with 
persistent-nontransactional-dirty. AI Craig propose a change for this table.

4. JDO 3.1: Need to go through change lists in JIRA for 3.1 RC1 and 3.1 to 
prepare JCP Change Log
5. JDO social media properties (see email from Matthew)

Michael now has access to the javadataobjects@gmail account which is linked to 
the google+ account. 

6. Other issues

Action Items from weeks past:
[Oct 30 2015] AI Craig: File a maintenance review with JCP
[May 15 2015] AI Craig Spec change for roll back an active transaction when 
closing a persistence manager (JDO-735)  
[Apr 17 2015] AI Craig: Oracle spec page on JDO need to be updated once the JCP 
Maintenance Release for JDO 3.1 is published
[Oct 17 2014] AI Matthew any updates for "Modify specification to address NoSQL 
datastores": https://issues.apache.org/jira/browse/JDO-651?
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-712
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-625
[Dec 13 2013] AI Craig file a JIRA for java.sql.Blob and java.sql.Clob as 
persistent field types
[Aug 24 2012] AI Craig update the JIRAs JDO-689 JDO-690 and JDO-692 about 
JDOHelper methods. In process.

Craig L Russell
Architect
craig.russ...@oracle.com
P.S. A good JDO? O, Gasp!


[jira] [Commented] (JDO-750) Change development environment to JDK 1.8

2016-04-22 Thread Craig L Russell (JIRA)

[ 
https://issues.apache.org/jira/browse/JDO-750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15254141#comment-15254141
 ] 

Craig L Russell commented on JDO-750:
-

Since 3.2 query includes classes from Java8, the api will require Java8.

Any objections to including the Java8 requirement in the specification?


> Change development environment to JDK 1.8
> -
>
> Key: JDO-750
> URL: https://issues.apache.org/jira/browse/JDO-750
> Project: JDO
>  Issue Type: Task
>  Components: api, tck
>Affects Versions: JDO 3.2
>Reporter: Michael Bouschen
> Fix For: JDO 3.2
>
>
> The idea is that we continue to support JDK 1.7 runtime, but the development 
> requires JDK 1.8.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (JDO-747) Behavior of delete() with multiple concurrent Transactions

2016-04-22 Thread Craig L Russell (JIRA)

[ 
https://issues.apache.org/jira/browse/JDO-747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15254204#comment-15254204
 ] 

Craig L Russell commented on JDO-747:
-

Good point. We need an extra row in the third table.

> Behavior of delete() with multiple concurrent Transactions
> --
>
> Key: JDO-747
> URL: https://issues.apache.org/jira/browse/JDO-747
> Project: JDO
>  Issue Type: Improvement
>  Components: specification
>Affects Versions: JDO 3.1
>Reporter: Tilmann Zäschke
>Priority: Minor
>  Labels: concurrency, delete, documentation, refresh(), 
> specification
> Fix For: JDO 3.2
>
> Attachments: JDO-StateTransition-logs-2015-12-04.zip, 
> OptimisticCheckConsistency.java, OptimisticFailurePatch_JDO747.txt, 
> StateTransitionPatch_JDO747_v4.txt
>
>
> In the Spec I could not find any statement regarding on how a transaction 
> should behave if an object is deleted in a different concurrent transaction.
> Related Sections are Section 5.8 (how different methods should behave for 
> different object states) and Section 12.6.1 (the behavior of refresh() and 
> related methods).
> For example I wonder about the following situations. Suppose I have two 
> optimistic sessions, pm1 and pm2, both access the same object. pm1 deletes 
> the object and commits. Then what happens in pm2 if:
> 1. pm2 deletes the object and tries to commit, should that work? It's
>wouldn't be a real conflict if both delete it.
> 2. pm2 modifies the object (make dirty) and calls {{refresh()}}. Should I
>get an {{ObjectNotFound}} exception?
> 3. pm2 deletes the object and calls {{refresh()}}. According to the spec,
>{{refresh()}} should not change the object's state. But should it
>still fail with {{ObjectNotFound}}? If refresh should fail, how can I
>ever recover from such a situation, because I can't undelete the
>object?
> Is there a common understanding how this should work? 
> IF there an external definition JDO relies on, then I think a reference to an 
> external document might useful.
> If not, should the Spec define concurrent behavior?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (JDO-747) Behavior of delete() with multiple concurrent Transactions

2016-04-22 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/JDO-747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tilmann Zäschke updated JDO-747:

Attachment: StateTransitionPatch_JDO747_v5.txt

> Behavior of delete() with multiple concurrent Transactions
> --
>
> Key: JDO-747
> URL: https://issues.apache.org/jira/browse/JDO-747
> Project: JDO
>  Issue Type: Improvement
>  Components: specification
>Affects Versions: JDO 3.1
>Reporter: Tilmann Zäschke
>Priority: Minor
>  Labels: concurrency, delete, documentation, refresh(), 
> specification
> Fix For: JDO 3.2
>
> Attachments: JDO-StateTransition-logs-2015-12-04.zip, 
> OptimisticCheckConsistency.java, OptimisticFailurePatch_JDO747.txt, 
> StateTransitionPatch_JDO747_v5.txt
>
>
> In the Spec I could not find any statement regarding on how a transaction 
> should behave if an object is deleted in a different concurrent transaction.
> Related Sections are Section 5.8 (how different methods should behave for 
> different object states) and Section 12.6.1 (the behavior of refresh() and 
> related methods).
> For example I wonder about the following situations. Suppose I have two 
> optimistic sessions, pm1 and pm2, both access the same object. pm1 deletes 
> the object and commits. Then what happens in pm2 if:
> 1. pm2 deletes the object and tries to commit, should that work? It's
>wouldn't be a real conflict if both delete it.
> 2. pm2 modifies the object (make dirty) and calls {{refresh()}}. Should I
>get an {{ObjectNotFound}} exception?
> 3. pm2 deletes the object and calls {{refresh()}}. According to the spec,
>{{refresh()}} should not change the object's state. But should it
>still fail with {{ObjectNotFound}}? If refresh should fail, how can I
>ever recover from such a situation, because I can't undelete the
>object?
> Is there a common understanding how this should work? 
> IF there an external definition JDO relies on, then I think a reference to an 
> external document might useful.
> If not, should the Spec define concurrent behavior?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (JDO-747) Behavior of delete() with multiple concurrent Transactions

2016-04-22 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/JDO-747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tilmann Zäschke updated JDO-747:

Attachment: (was: StateTransitionPatch_JDO747_v4.txt)

> Behavior of delete() with multiple concurrent Transactions
> --
>
> Key: JDO-747
> URL: https://issues.apache.org/jira/browse/JDO-747
> Project: JDO
>  Issue Type: Improvement
>  Components: specification
>Affects Versions: JDO 3.1
>Reporter: Tilmann Zäschke
>Priority: Minor
>  Labels: concurrency, delete, documentation, refresh(), 
> specification
> Fix For: JDO 3.2
>
> Attachments: JDO-StateTransition-logs-2015-12-04.zip, 
> OptimisticCheckConsistency.java, OptimisticFailurePatch_JDO747.txt
>
>
> In the Spec I could not find any statement regarding on how a transaction 
> should behave if an object is deleted in a different concurrent transaction.
> Related Sections are Section 5.8 (how different methods should behave for 
> different object states) and Section 12.6.1 (the behavior of refresh() and 
> related methods).
> For example I wonder about the following situations. Suppose I have two 
> optimistic sessions, pm1 and pm2, both access the same object. pm1 deletes 
> the object and commits. Then what happens in pm2 if:
> 1. pm2 deletes the object and tries to commit, should that work? It's
>wouldn't be a real conflict if both delete it.
> 2. pm2 modifies the object (make dirty) and calls {{refresh()}}. Should I
>get an {{ObjectNotFound}} exception?
> 3. pm2 deletes the object and calls {{refresh()}}. According to the spec,
>{{refresh()}} should not change the object's state. But should it
>still fail with {{ObjectNotFound}}? If refresh should fail, how can I
>ever recover from such a situation, because I can't undelete the
>object?
> Is there a common understanding how this should work? 
> IF there an external definition JDO relies on, then I think a reference to an 
> external document might useful.
> If not, should the Spec define concurrent behavior?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)