Home » Modeling » EMF » Why doesn't AbstractEMFOperation rollback on ERROR Status?
|
Re: Why doesn't AbstractEMFOperation rollback on ERROR Status? [message #423872 is a reply to message #423866] |
Wed, 08 October 2008 13:07 |
Eclipse User |
|
|
|
Originally posted by: cdamus.zeligsoft.com
Hi, Ömer,
That's a good question. Perhaps it wasn't expected that the
manipulation of EObjects would commonly fail to work out without
throwing exceptions? I can't really think of a good reason why an ERROR
status from doExecute() shouldn't cause the transaction to roll back.
Cheers,
Christian
Ömer Yildiz wrote:
> Hi,
>
> I wonder why the Transaction won't be rolled back when I return an
> IStatus with ERROR Severity in AbstractEMFOPeration.doExecute().
>
> Thanks!
|
|
| |
Re: Why doesn't AbstractEMFOperation rollback on ERROR Status? [message #423884 is a reply to message #423883] |
Wed, 08 October 2008 22:53 |
Eclipse User |
|
|
|
Originally posted by: cdamus.zeligsoft.com
Hi, Ömer,
Personally, I'd be inclined to use the word "fixed," but I understand
your point. Perhaps it could be an optional new behaviour (don't we
just dig options in EMF). Maybe an OPTION_ROLLBACK_ON_ERROR_RESULT or
some such option name. You could set this as a default option in your
application's editing domain without breaking the rest of the world.
What do you think? Is this dancing too carefully around something that
should just be fixed?
cW
Ömer Yildiz wrote:
> Hi Christian,
>
> I guess this behavior cannot be fixed/changed without risking breaking
> client code.
>
>
>
> Christian W. Damus schrieb:
>> Hi, Ömer,
>>
>> That's a good question. Perhaps it wasn't expected that the
>> manipulation of EObjects would commonly fail to work out without
>> throwing exceptions? I can't really think of a good reason why an
>> ERROR status from doExecute() shouldn't cause the transaction to roll
>> back.
>>
>> Cheers,
>>
>> Christian
>>
>> Ömer Yildiz wrote:
>>> Hi,
>>>
>>> I wonder why the Transaction won't be rolled back when I return an
>>> IStatus with ERROR Severity in AbstractEMFOPeration.doExecute().
>>>
>>> Thanks!
|
|
|
Re: Why doesn't AbstractEMFOperation rollback on ERROR Status? [message #423885 is a reply to message #423884] |
Wed, 08 October 2008 23:08 |
Ã?mer Yildiz Messages: 8 Registered: July 2009 |
Junior Member |
|
|
Hi Christian,
I could live with such an option!
Cheers
Ömer
Christian W. Damus schrieb:
> Hi, Ömer,
>
> Personally, I'd be inclined to use the word "fixed," but I understand
> your point. Perhaps it could be an optional new behaviour (don't we
> just dig options in EMF). Maybe an OPTION_ROLLBACK_ON_ERROR_RESULT or
> some such option name. You could set this as a default option in your
> application's editing domain without breaking the rest of the world.
>
> What do you think? Is this dancing too carefully around something that
> should just be fixed?
>
> cW
>
> Ömer Yildiz wrote:
>> Hi Christian,
>>
>> I guess this behavior cannot be fixed/changed without risking breaking
>> client code.
>>
>>
>>
>> Christian W. Damus schrieb:
>>> Hi, Ömer,
>>>
>>> That's a good question. Perhaps it wasn't expected that the
>>> manipulation of EObjects would commonly fail to work out without
>>> throwing exceptions? I can't really think of a good reason why an
>>> ERROR status from doExecute() shouldn't cause the transaction to roll
>>> back.
>>>
>>> Cheers,
>>>
>>> Christian
>>>
>>> Ömer Yildiz wrote:
>>>> Hi,
>>>>
>>>> I wonder why the Transaction won't be rolled back when I return an
>>>> IStatus with ERROR Severity in AbstractEMFOPeration.doExecute().
>>>>
>>>> Thanks!
|
|
|
Re: Why doesn't AbstractEMFOperation rollback on ERROR Status? [message #423886 is a reply to message #423885] |
Wed, 08 October 2008 23:23 |
Ed Merks Messages: 33142 Registered: July 2009 |
Senior Member |
|
|
Guys,
It sounds broken to me. :-P What's done in the maintenance stream is
of great concern and should be held to a different measure, but what's
done in head to fix things that all would reasonably agree are actual
problems needing fixing is another story. Of course I have 100%
confidence that Christian will do what's in the best interests of the
majority of the clients...
Ömer Yildiz wrote:
> Hi Christian,
>
> I could live with such an option!
>
>
> Cheers
> Ömer
>
> Christian W. Damus schrieb:
>> Hi, Ömer,
>>
>> Personally, I'd be inclined to use the word "fixed," but I understand
>> your point. Perhaps it could be an optional new behaviour (don't we
>> just dig options in EMF). Maybe an OPTION_ROLLBACK_ON_ERROR_RESULT
>> or some such option name. You could set this as a default option in
>> your application's editing domain without breaking the rest of the
>> world.
>>
>> What do you think? Is this dancing too carefully around something
>> that should just be fixed?
>>
>> cW
>>
>> Ömer Yildiz wrote:
>>> Hi Christian,
>>>
>>> I guess this behavior cannot be fixed/changed without risking
>>> breaking client code.
>>>
>>>
>>>
>>> Christian W. Damus schrieb:
>>>> Hi, Ömer,
>>>>
>>>> That's a good question. Perhaps it wasn't expected that the
>>>> manipulation of EObjects would commonly fail to work out without
>>>> throwing exceptions? I can't really think of a good reason why an
>>>> ERROR status from doExecute() shouldn't cause the transaction to
>>>> roll back.
>>>>
>>>> Cheers,
>>>>
>>>> Christian
>>>>
>>>> Ömer Yildiz wrote:
>>>>> Hi,
>>>>>
>>>>> I wonder why the Transaction won't be rolled back when I return an
>>>>> IStatus with ERROR Severity in AbstractEMFOPeration.doExecute().
>>>>>
>>>>> Thanks!
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: Why doesn't AbstractEMFOperation rollback on ERROR Status? [message #423887 is a reply to message #423886] |
Wed, 08 October 2008 23:30 |
Eclipse User |
|
|
|
Originally posted by: cdamus.zeligsoft.com
Yes, it would be hard to imagine that any correct application is
actually depending on this behaviour. In any case, rolling back
whatever changes a failed operation did manage to effect can't be worse
than committing a partial update; it can only be better.
Ömer, will you do me the honour of raising a bug?
I will, as Ed points out, not attempt this in the 1.2.3 release, but in
1.3. If anybody does break and really wants things to be as they were,
then we can provide an option for that. I would name it
OPTION_COMMIT_FAILED_OPERATIONS_ANYWAY_DANG_IT_ALREADY ;-)
Thanks,
Christian
Ed Merks wrote:
> Guys,
>
> It sounds broken to me. :-P What's done in the maintenance stream is
> of great concern and should be held to a different measure, but what's
> done in head to fix things that all would reasonably agree are actual
> problems needing fixing is another story. Of course I have 100%
> confidence that Christian will do what's in the best interests of the
> majority of the clients...
>
>
>
> Ömer Yildiz wrote:
>> Hi Christian,
>>
>> I could live with such an option!
>>
>>
>> Cheers
>> Ömer
>>
>> Christian W. Damus schrieb:
>>> Hi, Ömer,
>>>
>>> Personally, I'd be inclined to use the word "fixed," but I understand
>>> your point. Perhaps it could be an optional new behaviour (don't we
>>> just dig options in EMF). Maybe an OPTION_ROLLBACK_ON_ERROR_RESULT
>>> or some such option name. You could set this as a default option in
>>> your application's editing domain without breaking the rest of the
>>> world.
>>>
>>> What do you think? Is this dancing too carefully around something
>>> that should just be fixed?
>>>
>>> cW
>>>
>>> Ömer Yildiz wrote:
>>>> Hi Christian,
>>>>
>>>> I guess this behavior cannot be fixed/changed without risking
>>>> breaking client code.
>>>>
>>>>
>>>>
>>>> Christian W. Damus schrieb:
>>>>> Hi, Ömer,
>>>>>
>>>>> That's a good question. Perhaps it wasn't expected that the
>>>>> manipulation of EObjects would commonly fail to work out without
>>>>> throwing exceptions? I can't really think of a good reason why an
>>>>> ERROR status from doExecute() shouldn't cause the transaction to
>>>>> roll back.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Christian
>>>>>
>>>>> Ömer Yildiz wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I wonder why the Transaction won't be rolled back when I return an
>>>>>> IStatus with ERROR Severity in AbstractEMFOPeration.doExecute().
>>>>>>
>>>>>> Thanks!
|
|
| |
Goto Forum:
Current Time: Fri Apr 26 15:57:32 GMT 2024
Powered by FUDForum. Page generated in 0.04108 seconds
|