[
https://issues.apache.org/jira/browse/IGNITE-4887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Kuznetsov updated IGNITE-4887:
-------------------------------------
Description:
Consider the following pseudo-code:
{code:xml}
IgniteTransactions transactions = ignite1.transactions();
Transaction tx = startTransaction(transactions);
cache.put("key1", 1);
tx.stop();
{code}
And in another thread:
{code:xml}
transactions.txStart(tx);
cache.put("key3", 3);
cache.remove("key2");
tx.commit();
{code}
The Api should be implemented , that let you continue transaction in another
thread.
method suspend() should mark the transaction as unavailable for further commit.
method resume should resume the transaction.
reason behind the proposal :
Consider the next scenario:
we begin transaction, doing some changes and start async future that will be
able to introduce futher changes into transaction and commit it in the end.
was:
Consider the following pseudo-code:
{code:xml}
IgniteTransactions transactions = ignite1.transactions();
Transaction tx = startTransaction(transactions);
cache.put("key1", 1);
tx.stop();
{code}
And in another thread:
{code:xml}
transactions.txStart(tx);
cache.put("key3", 3);
cache.remove("key2");
tx.commit();
{code}
The Api should be implemented , that let you continue transaction in another
thread.
method stop() should mark the transaction as unavailable for further commit.
method txStart() should resume the transaction.
reason behind the proposal :
Consider the next scenario:
we begin transaction, doing some changes and start async future that will be
able to introduce futher changes into transaction and commit it in the end.
> Support transaction continuation in another thread
> --------------------------------------------------
>
> Key: IGNITE-4887
> URL: https://issues.apache.org/jira/browse/IGNITE-4887
> Project: Ignite
> Issue Type: Improvement
> Components: general
> Affects Versions: 1.9
> Reporter: Alexey Kuznetsov
> Assignee: Alexey Kuznetsov
> Attachments: HangTest.txt
>
>
> Consider the following pseudo-code:
> {code:xml}
> IgniteTransactions transactions = ignite1.transactions();
> Transaction tx = startTransaction(transactions);
> cache.put("key1", 1);
> tx.stop();
> {code}
> And in another thread:
> {code:xml}
> transactions.txStart(tx);
> cache.put("key3", 3);
> cache.remove("key2");
> tx.commit();
> {code}
> The Api should be implemented , that let you continue transaction in another
> thread.
> method suspend() should mark the transaction as unavailable for further
> commit.
> method resume should resume the transaction.
> reason behind the proposal :
> Consider the next scenario:
> we begin transaction, doing some changes and start async future that will be
> able to introduce futher changes into transaction and commit it in the end.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)