ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Denis Magda (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-4120) .NET: documentation and example for deadlock-detection mechanism
Date Mon, 14 Nov 2016 22:02:58 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-4120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15665182#comment-15665182
] 

Denis Magda edited comment on IGNITE-4120 at 11/14/16 10:02 PM:
----------------------------------------------------------------

Review notes for the example:

- rename it to {{TransactionDeadlockDetectionExample}}.

- expand example's summary to the following
"This example demonstrates the usage of transaction deadlock detection mechanism. The feature
significantly simplifies debugging and fixing of distributed deadlock that may be produced
by your code. To enable the feature you should start an Ignite transaction with a specific
timeout and catch TransactionDeadlockException that will contain extensive information that
will help out to fix a deadlock that may happen during execution of your code. To read more
about this feature refer to this page https://apacheignite-net.readme.io/v1.7/docs/transactions#deadlock-detection-in-pessimistic-transactions"

- rephrase "">>> Transaction deadlock example started." to ">>> Transaction
deadlock detection example started."

- according to the documentation [1] the {{TransactionDeadlockException}} is passed as {{CacheException.InnerException}}
while you catch and process {{TransactionDeadlockException}} directly in the example. Please
adjust the documentation aligning both it and the example.

- Add this sentence "   // Printing out the helpful message prepared by the deadlock detection
mechanism in order to help out with the deadlock debugging." here

{code}
catch (TransactionDeadlockException e)
 {
   // Printing out the helpful message prepared by the deadlock detection mechanism in order
to help out with the deadlock debugging.
   Console.WriteLine("\n>>> Transaction deadlock in thread {0}: {1}", threadId, e.Message);
 }
{code}

[1] https://apacheignite-net.readme.io/v1.7/docs/transactions#deadlock-detection-in-pessimistic-transactions


was (Author: dmagda):
Review notes for the example:

- rename it to {{TransactionDeadlockDetectionExample}}.

- expand example's summary to the following
"This example demonstrates the usage of transaction deadlock detection mechanism. The feature
significantly simplifies debugging and fixing of distributed deadlock that may be produced
by your code. To enable the feature you should start an Ignite transaction with a specific
timeout and catch TransactionDeadlockException that will contain extensive information that
will help out to fix a deadlock that may happen during execution of your code. To read more
about this feature refer to this page https://apacheignite-net.readme.io/v1.7/docs/transactions#deadlock-detection-in-pessimistic-transactions"

- rephrase "">>> Transaction deadlock example started." to ">>> Transaction
deadlock detection example started."

- according to the documentation [1] the {{TransactionDeadlockException}} is passed as {{CacheException.InnerException}}
while you catch and process {{TransactionDeadlockException}} directly in the example. Please
adjust the documentation aligning both it and the example.

{code}
catch (TransactionDeadlockException e)
 {
   // Printing out the helpful message prepared by the deadlock detection mechanism in order
to help out with the deadlock debugging.
   Console.WriteLine("\n>>> Transaction deadlock in thread {0}: {1}", threadId, e.Message);
 }
{code}

[1] https://apacheignite-net.readme.io/v1.7/docs/transactions#deadlock-detection-in-pessimistic-transactions

> .NET: documentation and example for deadlock-detection mechanism
> ----------------------------------------------------------------
>
>                 Key: IGNITE-4120
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4120
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: platforms
>            Reporter: Denis Magda
>            Assignee: Vladimir Ozerov
>             Fix For: 1.8
>
>
> Presently the documentation and example about the deadlock detection mechanism are missing
on .NET side. Let's fill this gap.
> - Documentation can be taken from Java side 
> https://apacheignite.readme.io/v1.7/docs/transactions#deadlock-detection-in-pessimistic-transactions
> - The example scenario should be the following:
> -- start two threads inside of Ignite.NET process;
> -- each thread will start its own pessimistic transaction with timeout up to 10 seconds;
> -- the transactions must get to a deadlock;
> -- after the timeout expiration one of the transactions must succeed while the other
must print out deadlock related information taking it from {{TransactionDeadlockException}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message