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)