You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ilya Shishkov (Jira)" <ji...@apache.org> on 2022/07/17 12:36:00 UTC

[jira] [Created] (IGNITE-17385) Transaction#commit leads to possible GridCacheAdapter#asyncOpsSem permits overflow and node failure

Ilya Shishkov created IGNITE-17385:
--------------------------------------

             Summary: Transaction#commit leads to possible GridCacheAdapter#asyncOpsSem permits overflow and node failure
                 Key: IGNITE-17385
                 URL: https://issues.apache.org/jira/browse/IGNITE-17385
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.13
            Reporter: Ilya Shishkov
         Attachments: SemaphorePermitsExceeded.patch

When you create explicit transaction on client or server node and call Transaction#commit, then {{GridCacheAdapter#asyncOpRelease}} is called without {{GridCacheAdapter#asyncOpAcquire}}. This situation leads to continuous grow of permits count in {{GridCacheAdapter#asyncOpsSem}} and overflow with node failure, as below:
{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 node failure will occur.

Reproducer of the problem: 



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