Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [CDO 0.8.0] Transaction/Objects scope
[CDO 0.8.0] Transaction/Objects scope [message #618006] Wed, 07 May 2008 01:11
Simon Mc Duff is currently offline Simon Mc DuffFriend
Messages: 596
Registered: July 2009
Senior Member
Hi Eike,

I have a design question for you about the scope that have a CDOViewImpl and
CDOSessionImpl.

Let say I have transactionA (From sessionA) and transactionB (from
sessionB).

Both of them have objectA in their view.

In transactionA, I modify and commit objectA.
At commit time, TransactionB will invalidate objectA.

This is the current design. (correct me if I`m wrong).
The problem I would like to have a type of Transaction that do not
invalidate my objects.

What about the scope of a transaction. Usually, until I do refresh I should
not have a process modying the value that I`m accessing.

This is another example where it failed.
If we take the same example and objectA have a chunked collection of 1000
items. The chunked number is set at 10.
TransactionB fetch objectA and the first 10 items(out of 1000) of its
collection.
TransactionA invalidate objectA (in transactionB).
My application will fail since I cannot access my item from 11 to 1000
because my objects isn`t the same anymore... and I do not know if the
collection is still valid. This is a big problem.

Maybe if the pushing mechanism could be turn off it should be great or it
should be another kind of CDOView ?

What I expect is the following :

The client should control more the scope of a transaction that happen in the
server side.
Command like the following :
begin();
sync();
refresh();

The mode I would like to have is the following :
Once you fetch objects on the client... they are still valid until I commit
or refresh or begin a new transaction. Others transaction cannot invalidate
my objects and if I fetch a part of it, I can fetch the other part later
wihout having exception like currently and even if others transaction
modified it.

In my implementation with OO, 1 CDOTransaction == 1 Objectivity Transaction.
So objects are still valid until the client do a refresh, begin or commit.
But when I run the test cases... only once testcase fail.
InvalidationTest.testSeparateSession

I cannot fix it, since in my case I don`t want to behave like this testcase.


What do you think ? Is this go against your design ? Is it out of scope
from CDO perspective ?

Simon
Previous Topic:Graphical XML Schema Editor for 3.3.2?
Next Topic:Graphical XML Schema Editor for 3.3.2?
Goto Forum:
  


Current Time: Sat Apr 04 16:36:45 GMT 2020

Powered by FUDForum. Page generated in 0.02082 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top