Re: affinityCall in one distributed transaction

2016-12-13 Thread Dmitriy Setrakyan
On Tue, Dec 13, 2016 at 11:22 AM, Игорь Г wrote: > Dmitriy, for p.1 we can enroll it in one JTA transaction, yes. > But is there a cheaper way to do it? We have to pick whether we use JTA for this use case at all. If yes, then it should be used across the whole system and no additional developm

Re: affinityCall in one distributed transaction

2016-12-13 Thread Игорь Г
Dmitriy, for p.1 we can enroll it in one JTA transaction, yes. But is there a cheaper way to do it? I think in p.2 Anton means that if we can start ignite transaction on one client node and "join" it on other client node (by some id) so that all changes made on 2nd client were inside this transacti

Re: affinityCall in one distributed transaction

2016-12-13 Thread Dmitriy Setrakyan
On Tue, Dec 13, 2016 at 1:29 AM, Антон Чураев wrote: > Using JTA in current implementation Ignite is possible. But it is > expensive, because currently Ignite does not support distributed > transaction context within all grid. > > I think it would be right to devide task into two: > 1) Add suppor

Re: affinityCall in one distributed transaction

2016-12-13 Thread Антон Чураев
Using JTA in current implementation Ignite is possible. But it is expensive, because currently Ignite does not support distributed transaction context within all grid. I think it would be right to devide task into two: 1) Add support of switching transactional context between multiple thread withi

Re: affinityCall in one distributed transaction

2016-12-12 Thread Dmitriy Setrakyan
Anton, Looking at this sequence, I don't see any way of achieving it other than enrolling all transactions into one JTA transaction. If you seen another way, can you please suggest it here? D. On Sat, Dec 10, 2016 at 2:07 PM, Антон Чураев wrote: > Dmitriy, it's ok > > To be abstract simple bus

Re: affinityCall in one distributed transaction

2016-12-10 Thread Антон Чураев
Dmitriy, it's ok To be abstract simple business transaction for execution payment (preparation done before) from the card looks like: 1) Create a payment document (cache API); 2) Write-off funds from the payer's card; 2.1) Change in register #1 (cache API); 2.2) Change in register #2 (cache API);

Re: affinityCall in one distributed transaction

2016-12-10 Thread Dmitriy Setrakyan
Anton, Thanks for the explanation. I am sorry to keep asking questions on this. Can you change your example to include concrete Ignite calls on Compute or Cache APIs (or other APIs)? I am still struggling to understand the boundaries between business and Ignite logic. D. On Sat, Dec 10, 2016 at

Re: affinityCall in one distributed transaction

2016-12-10 Thread Антон Чураев
For example: 1) Front-end sends a request to perform a complex transaction. 2) Some application (like a business transactional coordinator) receives message via asynchronous transport. This application implements logic of calling different services sequentially or in parallel via asynchronous trans

Re: affinityCall in one distributed transaction

2016-12-09 Thread Dmitriy Setrakyan
Sounds like you need a centralized JTA server for this type of purpose, no? In that case, Ignite transactions can already merge into ongoing JTA transactions. I would prefer to see a distributed flow of events to fully understand the issue. For example, Client - start transaction - send compu

Re: affinityCall in one distributed transaction

2016-12-09 Thread Антон Чураев
In some cases it is necessary to implement a transaction processing logic in several different application servers. In this case, working with Ignite cache will be performed within the various applications. But all these changes must be made within the same distributed transaction. In my opinion t

Re: affinityCall in one distributed transaction

2016-12-08 Thread Dmitriy Setrakyan
Just clarified that all invoke(..) and invokeAll(..) methods are transactional. Can someone familiar with these methods update the javadoc? Igor, will invoke(..) work for your use case? D. On Wed, Dec 7, 2016 at 5:09 PM, Dmitriy Setrakyan wrote: > Taras, is invokeAll() transactional? The javad

Re: affinityCall in one distributed transaction

2016-12-08 Thread Alexei Scherbakov
Hi. It's unclear from your description what are you trying to achieve. AffinityCall is unicast and wil be send to single node. To parallelise task among the cluster I would recommend to use compute task API [1] But the task execution is not transactional. Nevertheless, each job triggered by tas

Re: affinityCall in one distributed transaction

2016-12-07 Thread Dmitriy Setrakyan
Taras, is invokeAll() transactional? The javadoc is silent to this fact. If it is indeed transactional, then we should update the javadoc. D. On Wed, Dec 7, 2016 at 5:32 AM, Taras Ledkov wrote: > Ignite compute has no relation to the cache's transaction. > > I think that IgniteCache.invokeAll()

Re: affinityCall in one distributed transaction

2016-12-07 Thread Taras Ledkov
Ignite compute has no relation to the cache's transaction. I think that IgniteCache.invokeAll() is appropriate for described case. On Wed, Dec 7, 2016 at 4:00 PM, Игорь Г wrote: > Hi, igniters! > > Before openning JIRA ticket, I want to ask question about affinityCall or > affinityRun transacti

affinityCall in one distributed transaction

2016-12-07 Thread Игорь Г
Hi, igniters! Before openning JIRA ticket, I want to ask question about affinityCall or affinityRun transactions. For example I have batch task to modify many values in someCache according to someRule. I want to parallel this task to whole cluster and minimize network traffic. So the resonable ch