[ 
https://issues.apache.org/jira/browse/IGNITE-17385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ilya Shishkov updated IGNITE-17385:
-----------------------------------
    Description: 
When you commit a transaction, which was explicitly started only over a single 
cache, then {{GridCacheAdapter#asyncOpRelease}} is called without 
{{GridCacheAdapter#asyncOpAcquire}}. This situation leads to continuous grow of 
permits count in {{GridCacheAdapter#asyncOpsSem}} and to overflow with a 
further failure  of node started the transaction:
{code}
Critical system error detected. Will be handled accordingly to configured 
handler 
[hnd=o.a.i.i.processors.cache.transactions.TxAsyncOpsSemaphorePermitsExeededTest$$Lambda$42/1924582348@7379bebb,
 failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.lang.Error: Maximum 
permit count exceeded]]
{code}

The greater the load (RPS / TPS), the faster the failure of node will occur.

Reproducer of the problem:  [^SemaphorePermitsExceeded.patch]. It prints 
additional messages, when semaphore is released, or acquired.

  was:
When you commit transaction, which was explicitly started only over a single 
cache, then {{GridCacheAdapter#asyncOpRelease}} is called without 
{{GridCacheAdapter#asyncOpAcquire}}. This situation leads to continuous grow of 
permits count in {{GridCacheAdapter#asyncOpsSem}} and to overflow with a 
further failure  of node started the transaction:
{code}
Critical system error detected. Will be handled accordingly to configured 
handler 
[hnd=o.a.i.i.processors.cache.transactions.TxAsyncOpsSemaphorePermitsExeededTest$$Lambda$42/1924582348@7379bebb,
 failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.lang.Error: Maximum 
permit count exceeded]]
{code}

The greater the load (RPS / TPS), the faster the failure of node will occur.

Reproducer of the problem:  [^SemaphorePermitsExceeded.patch]. It prints 
additional messages, when semaphore is released, or acquired.


> Frequent commits of single cache transactions can lead 
> GridCacheAdapter#asyncOpsSem permits overflow
> ----------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-17385
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17385
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.13
>            Reporter: Ilya Shishkov
>            Priority: Major
>              Labels: ise
>         Attachments: SemaphorePermitsExceeded.patch
>
>
> When you commit a transaction, which was explicitly started only over a 
> single cache, then {{GridCacheAdapter#asyncOpRelease}} is called without 
> {{GridCacheAdapter#asyncOpAcquire}}. This situation leads to continuous grow 
> of permits count in {{GridCacheAdapter#asyncOpsSem}} and to overflow with a 
> further failure  of node started the transaction:
> {code}
> Critical system error detected. Will be handled accordingly to configured 
> handler 
> [hnd=o.a.i.i.processors.cache.transactions.TxAsyncOpsSemaphorePermitsExeededTest$$Lambda$42/1924582348@7379bebb,
>  failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.lang.Error: Maximum 
> permit count exceeded]]
> {code}
> The greater the load (RPS / TPS), the faster the failure of node will occur.
> Reproducer of the problem:  [^SemaphorePermitsExceeded.patch]. It prints 
> additional messages, when semaphore is released, or acquired.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to