Hello, community. How should savepoint and rollback to savepoint react to
the atomic caches inside transaction? I think they should ignore such entries, but I want to know opinion of more competent igniters. https://issues.apache.org/jira/browse/IGNITE-4188 |
As far as I know operations on atomic caches are applied immediately
dishonoring any tx context. I would suggest that atomic cache update operation called from active tx throws illegal state exception, unless user intentionally permits this update by calling atomicCache.withAllowInTx() (similar to withSkipStore()). Thoughts? --Yakov |
I'd prefer ignoring them instead of throwing exceptions - couse user can
use different cache configurations inside one tx and user can create some logic depending on cached values in any cache. 2017-03-28 13:08 GMT+03:00 Yakov Zhdanov <[hidden email]>: > As far as I know operations on atomic caches are applied immediately > dishonoring any tx context. > > I would suggest that atomic cache update operation called from active tx > throws illegal state exception, unless user intentionally permits this > update by calling atomicCache.withAllowInTx() (similar to withSkipStore()). > > Thoughts? > > --Yakov > |
Ignore atomicCache.put(k, v) if it is called inside transaction? This is
very counter intuitive. I am strongly against that. --Yakov |
I mean ignore it in savepoints and rollbacks to savepoints becouse
transaction rollbacks already ignore it. 2017-03-28 18:10 GMT+03:00 Yakov Zhdanov <[hidden email]>: > Ignore atomicCache.put(k, v) if it is called inside transaction? This is > very counter intuitive. I am strongly against that. > > --Yakov > |
In reply to this post by yzhdanov
Yakov,
My vote goes for the current behavior - an atomic operation is applied right away if it’s a part of a transaction. It’s better not to break compatibility here, there are already to many incompatible changes in 2.0. — Denis > On Mar 28, 2017, at 3:08 AM, Yakov Zhdanov <[hidden email]> wrote: > > As far as I know operations on atomic caches are applied immediately > dishonoring any tx context. > > I would suggest that atomic cache update operation called from active tx > throws illegal state exception, unless user intentionally permits this > update by calling atomicCache.withAllowInTx() (similar to withSkipStore()). > > Thoughts? > > --Yakov |
I actually think exception makes sense here. Currently it's very error
prone - the same code can behave differently depending on configuration. And at the same time I can't imagine a use case which implies using atomic operation within a transaction on purpose. If someone ever does this, it would most likely be done by mistake. -Val On Tue, Mar 28, 2017 at 10:13 AM, Denis Magda <[hidden email]> wrote: > Yakov, > > My vote goes for the current behavior - an atomic operation is applied > right away if it’s a part of a transaction. It’s better not to break > compatibility here, there are already to many incompatible changes in 2.0. > > — > Denis > > > On Mar 28, 2017, at 3:08 AM, Yakov Zhdanov <[hidden email]> wrote: > > > > As far as I know operations on atomic caches are applied immediately > > dishonoring any tx context. > > > > I would suggest that atomic cache update operation called from active tx > > throws illegal state exception, unless user intentionally permits this > > update by calling atomicCache.withAllowInTx() (similar to > withSkipStore()). > > > > Thoughts? > > > > --Yakov > > |
I think an exception should be thrown if someone tries to start a
transaction on an atomic cache. Throwing an exception at the "put(...)" time seems late and counter-intuitive. However, if a user starts a transaction on a transactional cache, say CacheA, and inside that transaction updates an entry from a different atomic cache, say CacheB, then such update should be allowed in my view, because the transaction was started on a completely different cache. Does this make sense? D. On Tue, Mar 28, 2017 at 11:22 AM, Valentin Kulichenko < [hidden email]> wrote: > I actually think exception makes sense here. Currently it's very error > prone - the same code can behave differently depending on configuration. > And at the same time I can't imagine a use case which implies using atomic > operation within a transaction on purpose. If someone ever does this, it > would most likely be done by mistake. > > -Val > > On Tue, Mar 28, 2017 at 10:13 AM, Denis Magda <[hidden email]> wrote: > > > Yakov, > > > > My vote goes for the current behavior - an atomic operation is applied > > right away if it’s a part of a transaction. It’s better not to break > > compatibility here, there are already to many incompatible changes in > 2.0. > > > > — > > Denis > > > > > On Mar 28, 2017, at 3:08 AM, Yakov Zhdanov <[hidden email]> > wrote: > > > > > > As far as I know operations on atomic caches are applied immediately > > > dishonoring any tx context. > > > > > > I would suggest that atomic cache update operation called from active > tx > > > throws illegal state exception, unless user intentionally permits this > > > update by calling atomicCache.withAllowInTx() (similar to > > withSkipStore()). > > > > > > Thoughts? > > > > > > --Yakov > > > > > |
Dmitry,
Transaction is not started on a particular cache, it's separate top-level API. You can then include operations on different caches, like this: try (Transaction tx = ignite.transactions.txStart()) { cache1.put(..); cache2.put(..); cache3.put(..); tx.commit(); } In the code above it's easy to think that all three operations are enlisted in transaction, but if one of the caches happens to be atomic (due to misconfiguration, for example), that's actually not true. And we don't even warn user about this. -Val On Tue, Mar 28, 2017 at 11:28 AM, Dmitriy Setrakyan <[hidden email]> wrote: > I think an exception should be thrown if someone tries to start a > transaction on an atomic cache. Throwing an exception at the "put(...)" > time seems late and counter-intuitive. > > However, if a user starts a transaction on a transactional cache, say > CacheA, and inside that transaction updates an entry from a different > atomic cache, say CacheB, then such update should be allowed in my view, > because the transaction was started on a completely different cache. > > Does this make sense? > > D. > > On Tue, Mar 28, 2017 at 11:22 AM, Valentin Kulichenko < > [hidden email]> wrote: > > > I actually think exception makes sense here. Currently it's very error > > prone - the same code can behave differently depending on configuration. > > And at the same time I can't imagine a use case which implies using > atomic > > operation within a transaction on purpose. If someone ever does this, it > > would most likely be done by mistake. > > > > -Val > > > > On Tue, Mar 28, 2017 at 10:13 AM, Denis Magda <[hidden email]> wrote: > > > > > Yakov, > > > > > > My vote goes for the current behavior - an atomic operation is applied > > > right away if it’s a part of a transaction. It’s better not to break > > > compatibility here, there are already to many incompatible changes in > > 2.0. > > > > > > — > > > Denis > > > > > > > On Mar 28, 2017, at 3:08 AM, Yakov Zhdanov <[hidden email]> > > wrote: > > > > > > > > As far as I know operations on atomic caches are applied immediately > > > > dishonoring any tx context. > > > > > > > > I would suggest that atomic cache update operation called from active > > tx > > > > throws illegal state exception, unless user intentionally permits > this > > > > update by calling atomicCache.withAllowInTx() (similar to > > > withSkipStore()). > > > > > > > > Thoughts? > > > > > > > > --Yakov > > > > > > > > > |
On Tue, Mar 28, 2017 at 11:42 AM, Valentin Kulichenko <
[hidden email]> wrote: > Dmitry, > > Transaction is not started on a particular cache, it's separate top-level > API. You can then include operations on different caches, like this: > > try (Transaction tx = ignite.transactions.txStart()) { > cache1.put(..); > cache2.put(..); > cache3.put(..); > > tx.commit(); > } > > In the code above it's easy to think that all three operations are enlisted > in transaction, but if one of the caches happens to be atomic (due to > misconfiguration, for example), that's actually not true. And we don't even > warn user about this. > Got it. But what if a user really needs to update an atomic cache from within some transactional logic? I think we should allow it, but print out an warning to the log on per-cache basis the first time we see some atomic cache used from within a transaction. D. |
I think updating an Atomic cache from within a transaction perfectly makes
sense. For example for some kind of operations logging and so forth. Still I agree that this can be error prone and forbidden by default. I agree with Yakov that by default we should throw an exception and have some kind of flag (on cache or on TX?) to be able to explicitly enable this behavior. Sergi 2017-03-28 21:51 GMT+03:00 Dmitriy Setrakyan <[hidden email]>: > On Tue, Mar 28, 2017 at 11:42 AM, Valentin Kulichenko < > [hidden email]> wrote: > > > Dmitry, > > > > Transaction is not started on a particular cache, it's separate top-level > > API. You can then include operations on different caches, like this: > > > > try (Transaction tx = ignite.transactions.txStart()) { > > cache1.put(..); > > cache2.put(..); > > cache3.put(..); > > > > tx.commit(); > > } > > > > In the code above it's easy to think that all three operations are > enlisted > > in transaction, but if one of the caches happens to be atomic (due to > > misconfiguration, for example), that's actually not true. And we don't > even > > warn user about this. > > > > Got it. > > But what if a user really needs to update an atomic cache from within some > transactional logic? I think we should allow it, but print out an warning > to the log on per-cache basis the first time we see some atomic cache used > from within a transaction. > > D. > |
On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin <[hidden email]>
wrote: > I think updating an Atomic cache from within a transaction perfectly makes > sense. For example for some kind of operations logging and so forth. Still > I agree that this can be error prone and forbidden by default. I agree with > Yakov that by default we should throw an exception and have some kind of > flag (on cache or on TX?) to be able to explicitly enable this behavior. > Agree, this sounds like a good idea. |
If we want to make the exception based approach the default one then the task has to be released in 2.0.
Dmitriy Ryabov, do you think you can finish it (dev, review, QA) by the code freeze data (April 14)? — Denis > On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan <[hidden email]> wrote: > > On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin <[hidden email]> > wrote: > >> I think updating an Atomic cache from within a transaction perfectly makes >> sense. For example for some kind of operations logging and so forth. Still >> I agree that this can be error prone and forbidden by default. I agree with >> Yakov that by default we should throw an exception and have some kind of >> flag (on cache or on TX?) to be able to explicitly enable this behavior. >> > > > Agree, this sounds like a good idea. |
Finish savepoints or flag&exceptions for atomic operations?
Not sure about savepoints. Exceptions - yes. https://issues.apache.org/jira/browse/IGNITE-2313 isn't it? 2017-03-29 2:12 GMT+03:00 Denis Magda <[hidden email]>: > If we want to make the exception based approach the default one then the > task has to be released in 2.0. > > Dmitriy Ryabov, do you think you can finish it (dev, review, QA) by the > code freeze data (April 14)? > > — > Denis > > > On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan <[hidden email]> > wrote: > > > > On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin < > [hidden email]> > > wrote: > > > >> I think updating an Atomic cache from within a transaction perfectly > makes > >> sense. For example for some kind of operations logging and so forth. > Still > >> I agree that this can be error prone and forbidden by default. I agree > with > >> Yakov that by default we should throw an exception and have some kind of > >> flag (on cache or on TX?) to be able to explicitly enable this behavior. > >> > > > > > > Agree, this sounds like a good idea. > > |
Savepoints marked for 2.1, exceptions for 2.0. Do you want me to make
exceptions first? 2017-03-29 11:24 GMT+03:00 Дмитрий Рябов <[hidden email]>: > Finish savepoints or flag&exceptions for atomic operations? > Not sure about savepoints. Exceptions - yes. https://issues.apache. > org/jira/browse/IGNITE-2313 isn't it? > > 2017-03-29 2:12 GMT+03:00 Denis Magda <[hidden email]>: > >> If we want to make the exception based approach the default one then the >> task has to be released in 2.0. >> >> Dmitriy Ryabov, do you think you can finish it (dev, review, QA) by the >> code freeze data (April 14)? >> >> — >> Denis >> >> > On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan <[hidden email]> >> wrote: >> > >> > On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin < >> [hidden email]> >> > wrote: >> > >> >> I think updating an Atomic cache from within a transaction perfectly >> makes >> >> sense. For example for some kind of operations logging and so forth. >> Still >> >> I agree that this can be error prone and forbidden by default. I agree >> with >> >> Yakov that by default we should throw an exception and have some kind >> of >> >> flag (on cache or on TX?) to be able to explicitly enable this >> behavior. >> >> >> > >> > >> > Agree, this sounds like a good idea. >> >> > |
Sorry, I get lost in tickets.
Yes, IGNITE-2313 has to be completed in 2.0 if we want to makes this change. — Denis > On Mar 29, 2017, at 2:12 AM, Дмитрий Рябов <[hidden email]> wrote: > > Savepoints marked for 2.1, exceptions for 2.0. Do you want me to make > exceptions first? > > 2017-03-29 11:24 GMT+03:00 Дмитрий Рябов <[hidden email]>: > >> Finish savepoints or flag&exceptions for atomic operations? >> Not sure about savepoints. Exceptions - yes. https://issues.apache. >> org/jira/browse/IGNITE-2313 isn't it? >> >> 2017-03-29 2:12 GMT+03:00 Denis Magda <[hidden email]>: >> >>> If we want to make the exception based approach the default one then the >>> task has to be released in 2.0. >>> >>> Dmitriy Ryabov, do you think you can finish it (dev, review, QA) by the >>> code freeze data (April 14)? >>> >>> — >>> Denis >>> >>>> On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan <[hidden email]> >>> wrote: >>>> >>>> On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin < >>> [hidden email]> >>>> wrote: >>>> >>>>> I think updating an Atomic cache from within a transaction perfectly >>> makes >>>>> sense. For example for some kind of operations logging and so forth. >>> Still >>>>> I agree that this can be error prone and forbidden by default. I agree >>> with >>>>> Yakov that by default we should throw an exception and have some kind >>> of >>>>> flag (on cache or on TX?) to be able to explicitly enable this >>> behavior. >>>>> >>>> >>>> >>>> Agree, this sounds like a good idea. >>> >>> >> |
IGNITE-2313 done, can you review it?
PR: https://github.com/apache/ignite/pull/1709/files JIRA: https://issues.apache.org/jira/browse/IGNITE-2313 CI: http://ci.ignite.apache.org/viewType.html?buildTypeId= IgniteTests_RatJavadoc&branch_IgniteTests=pull%2F1709% 2Fhead&tab=buildTypeStatusDiv 2017-03-29 20:58 GMT+03:00 Denis Magda <[hidden email]>: > Sorry, I get lost in tickets. > > Yes, IGNITE-2313 has to be completed in 2.0 if we want to makes this > change. > > — > Denis > > > On Mar 29, 2017, at 2:12 AM, Дмитрий Рябов <[hidden email]> > wrote: > > > > Savepoints marked for 2.1, exceptions for 2.0. Do you want me to make > > exceptions first? > > > > 2017-03-29 11:24 GMT+03:00 Дмитрий Рябов <[hidden email]>: > > > >> Finish savepoints or flag&exceptions for atomic operations? > >> Not sure about savepoints. Exceptions - yes. https://issues.apache. > >> org/jira/browse/IGNITE-2313 isn't it? > >> > >> 2017-03-29 2:12 GMT+03:00 Denis Magda <[hidden email]>: > >> > >>> If we want to make the exception based approach the default one then > the > >>> task has to be released in 2.0. > >>> > >>> Dmitriy Ryabov, do you think you can finish it (dev, review, QA) by the > >>> code freeze data (April 14)? > >>> > >>> — > >>> Denis > >>> > >>>> On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan < > [hidden email]> > >>> wrote: > >>>> > >>>> On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin < > >>> [hidden email]> > >>>> wrote: > >>>> > >>>>> I think updating an Atomic cache from within a transaction perfectly > >>> makes > >>>>> sense. For example for some kind of operations logging and so forth. > >>> Still > >>>>> I agree that this can be error prone and forbidden by default. I > agree > >>> with > >>>>> Yakov that by default we should throw an exception and have some kind > >>> of > >>>>> flag (on cache or on TX?) to be able to explicitly enable this > >>> behavior. > >>>>> > >>>> > >>>> > >>>> Agree, this sounds like a good idea. > >>> > >>> > >> > > |
Igniters,
Bumping up this discussion. The fix has been implemented and it is fine from the technical point of view, but since the fix did not make it to the Ignite 2.0, the implemented fix [1] now will be a breaking change for current Ignite users. I see the following options: 1) Have the fix merged, but do not change the defaults - atomic caches will still be allowed in transactions by default and only configuration change will make Ignite throw exceptions in this case 2) Have the fix merged as is and describe this change in the release notes 3) Postpone the fix until Ignite 3.0 I would vote for option #1 and change only the defaults in Ignite 3.0. Thoughts? [1] https://issues.apache.org/jira/browse/IGNITE-2313 ср, 5 апр. 2017 г. в 22:53, Дмитрий Рябов <[hidden email]>: > IGNITE-2313 done, can you review it? > > PR: https://github.com/apache/ignite/pull/1709/files > JIRA: https://issues.apache.org/jira/browse/IGNITE-2313 > CI: http://ci.ignite.apache.org/viewType.html?buildTypeId= > IgniteTests_RatJavadoc&branch_IgniteTests=pull%2F1709% > 2Fhead&tab=buildTypeStatusDiv > > 2017-03-29 20:58 GMT+03:00 Denis Magda <[hidden email]>: > > > Sorry, I get lost in tickets. > > > > Yes, IGNITE-2313 has to be completed in 2.0 if we want to makes this > > change. > > > > — > > Denis > > > > > On Mar 29, 2017, at 2:12 AM, Дмитрий Рябов <[hidden email]> > > wrote: > > > > > > Savepoints marked for 2.1, exceptions for 2.0. Do you want me to make > > > exceptions first? > > > > > > 2017-03-29 11:24 GMT+03:00 Дмитрий Рябов <[hidden email]>: > > > > > >> Finish savepoints or flag&exceptions for atomic operations? > > >> Not sure about savepoints. Exceptions - yes. https://issues.apache. > > >> org/jira/browse/IGNITE-2313 isn't it? > > >> > > >> 2017-03-29 2:12 GMT+03:00 Denis Magda <[hidden email]>: > > >> > > >>> If we want to make the exception based approach the default one then > > the > > >>> task has to be released in 2.0. > > >>> > > >>> Dmitriy Ryabov, do you think you can finish it (dev, review, QA) by > the > > >>> code freeze data (April 14)? > > >>> > > >>> — > > >>> Denis > > >>> > > >>>> On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan < > > [hidden email]> > > >>> wrote: > > >>>> > > >>>> On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin < > > >>> [hidden email]> > > >>>> wrote: > > >>>> > > >>>>> I think updating an Atomic cache from within a transaction > perfectly > > >>> makes > > >>>>> sense. For example for some kind of operations logging and so > forth. > > >>> Still > > >>>>> I agree that this can be error prone and forbidden by default. I > > agree > > >>> with > > >>>>> Yakov that by default we should throw an exception and have some > kind > > >>> of > > >>>>> flag (on cache or on TX?) to be able to explicitly enable this > > >>> behavior. > > >>>>> > > >>>> > > >>>> > > >>>> Agree, this sounds like a good idea. > > >>> > > >>> > > >> > > > > > |
Vote for #2 since it can shed light on hidden bug at production.
ср, 13 июн. 2018 г. в 18:10, Alexey Goncharuk <[hidden email]>: > Igniters, > > Bumping up this discussion. The fix has been implemented and it is fine > from the technical point of view, but since the fix did not make it to the > Ignite 2.0, the implemented fix [1] now will be a breaking change for > current Ignite users. > > I see the following options: > 1) Have the fix merged, but do not change the defaults - atomic caches will > still be allowed in transactions by default and only configuration change > will make Ignite throw exceptions in this case > 2) Have the fix merged as is and describe this change in the release notes > 3) Postpone the fix until Ignite 3.0 > > I would vote for option #1 and change only the defaults in Ignite 3.0. > > Thoughts? > > [1] https://issues.apache.org/jira/browse/IGNITE-2313 > > ср, 5 апр. 2017 г. в 22:53, Дмитрий Рябов <[hidden email]>: > > > IGNITE-2313 done, can you review it? > > > > PR: https://github.com/apache/ignite/pull/1709/files > > JIRA: https://issues.apache.org/jira/browse/IGNITE-2313 > > CI: http://ci.ignite.apache.org/viewType.html?buildTypeId= > > IgniteTests_RatJavadoc&branch_IgniteTests=pull%2F1709% > > 2Fhead&tab=buildTypeStatusDiv > > > > 2017-03-29 20:58 GMT+03:00 Denis Magda <[hidden email]>: > > > > > Sorry, I get lost in tickets. > > > > > > Yes, IGNITE-2313 has to be completed in 2.0 if we want to makes this > > > change. > > > > > > — > > > Denis > > > > > > > On Mar 29, 2017, at 2:12 AM, Дмитрий Рябов <[hidden email]> > > > wrote: > > > > > > > > Savepoints marked for 2.1, exceptions for 2.0. Do you want me to make > > > > exceptions first? > > > > > > > > 2017-03-29 11:24 GMT+03:00 Дмитрий Рябов <[hidden email]>: > > > > > > > >> Finish savepoints or flag&exceptions for atomic operations? > > > >> Not sure about savepoints. Exceptions - yes. https://issues.apache. > > > >> org/jira/browse/IGNITE-2313 isn't it? > > > >> > > > >> 2017-03-29 2:12 GMT+03:00 Denis Magda <[hidden email]>: > > > >> > > > >>> If we want to make the exception based approach the default one > then > > > the > > > >>> task has to be released in 2.0. > > > >>> > > > >>> Dmitriy Ryabov, do you think you can finish it (dev, review, QA) by > > the > > > >>> code freeze data (April 14)? > > > >>> > > > >>> — > > > >>> Denis > > > >>> > > > >>>> On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan < > > > [hidden email]> > > > >>> wrote: > > > >>>> > > > >>>> On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin < > > > >>> [hidden email]> > > > >>>> wrote: > > > >>>> > > > >>>>> I think updating an Atomic cache from within a transaction > > perfectly > > > >>> makes > > > >>>>> sense. For example for some kind of operations logging and so > > forth. > > > >>> Still > > > >>>>> I agree that this can be error prone and forbidden by default. I > > > agree > > > >>> with > > > >>>>> Yakov that by default we should throw an exception and have some > > kind > > > >>> of > > > >>>>> flag (on cache or on TX?) to be able to explicitly enable this > > > >>> behavior. > > > >>>>> > > > >>>> > > > >>>> > > > >>>> Agree, this sounds like a good idea. > > > >>> > > > >>> > > > >> > > > > > > > > > |
Vote for #2. I think no one will change this defaults in configuration in
#1. 2018-06-13 18:29 GMT+03:00 Anton Vinogradov <[hidden email]>: > Vote for #2 since it can shed light on hidden bug at production. > > ср, 13 июн. 2018 г. в 18:10, Alexey Goncharuk <[hidden email] > >: > > > Igniters, > > > > Bumping up this discussion. The fix has been implemented and it is fine > > from the technical point of view, but since the fix did not make it to > the > > Ignite 2.0, the implemented fix [1] now will be a breaking change for > > current Ignite users. > > > > I see the following options: > > 1) Have the fix merged, but do not change the defaults - atomic caches > will > > still be allowed in transactions by default and only configuration change > > will make Ignite throw exceptions in this case > > 2) Have the fix merged as is and describe this change in the release > notes > > 3) Postpone the fix until Ignite 3.0 > > > > I would vote for option #1 and change only the defaults in Ignite 3.0. > > > > Thoughts? > > > > [1] https://issues.apache.org/jira/browse/IGNITE-2313 > > > > ср, 5 апр. 2017 г. в 22:53, Дмитрий Рябов <[hidden email]>: > > > > > IGNITE-2313 done, can you review it? > > > > > > PR: https://github.com/apache/ignite/pull/1709/files > > > JIRA: https://issues.apache.org/jira/browse/IGNITE-2313 > > > CI: http://ci.ignite.apache.org/viewType.html?buildTypeId= > > > IgniteTests_RatJavadoc&branch_IgniteTests=pull%2F1709% > > > 2Fhead&tab=buildTypeStatusDiv > > > > > > 2017-03-29 20:58 GMT+03:00 Denis Magda <[hidden email]>: > > > > > > > Sorry, I get lost in tickets. > > > > > > > > Yes, IGNITE-2313 has to be completed in 2.0 if we want to makes this > > > > change. > > > > > > > > — > > > > Denis > > > > > > > > > On Mar 29, 2017, at 2:12 AM, Дмитрий Рябов <[hidden email]> > > > > wrote: > > > > > > > > > > Savepoints marked for 2.1, exceptions for 2.0. Do you want me to > make > > > > > exceptions first? > > > > > > > > > > 2017-03-29 11:24 GMT+03:00 Дмитрий Рябов <[hidden email]>: > > > > > > > > > >> Finish savepoints or flag&exceptions for atomic operations? > > > > >> Not sure about savepoints. Exceptions - yes. > https://issues.apache. > > > > >> org/jira/browse/IGNITE-2313 isn't it? > > > > >> > > > > >> 2017-03-29 2:12 GMT+03:00 Denis Magda <[hidden email]>: > > > > >> > > > > >>> If we want to make the exception based approach the default one > > then > > > > the > > > > >>> task has to be released in 2.0. > > > > >>> > > > > >>> Dmitriy Ryabov, do you think you can finish it (dev, review, QA) > by > > > the > > > > >>> code freeze data (April 14)? > > > > >>> > > > > >>> — > > > > >>> Denis > > > > >>> > > > > >>>> On Mar 28, 2017, at 11:57 AM, Dmitriy Setrakyan < > > > > [hidden email]> > > > > >>> wrote: > > > > >>>> > > > > >>>> On Tue, Mar 28, 2017 at 11:54 AM, Sergi Vladykin < > > > > >>> [hidden email]> > > > > >>>> wrote: > > > > >>>> > > > > >>>>> I think updating an Atomic cache from within a transaction > > > perfectly > > > > >>> makes > > > > >>>>> sense. For example for some kind of operations logging and so > > > forth. > > > > >>> Still > > > > >>>>> I agree that this can be error prone and forbidden by default. > I > > > > agree > > > > >>> with > > > > >>>>> Yakov that by default we should throw an exception and have > some > > > kind > > > > >>> of > > > > >>>>> flag (on cache or on TX?) to be able to explicitly enable this > > > > >>> behavior. > > > > >>>>> > > > > >>>> > > > > >>>> > > > > >>>> Agree, this sounds like a good idea. > > > > >>> > > > > >>> > > > > >> > > > > > > > > > > > > > > |
Free forum by Nabble | Edit this page |