[
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 create explicit transaction by means of {{IgniteTransactions#txStart}}
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 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 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 the failure of node will occur.
Reproducer of the problem: [^SemaphorePermitsExceeded.patch]. It prints
additional messages, when semaphore is released, or acquired.
> 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
> Priority: Major
> Labels: ise
> Attachments: SemaphorePermitsExceeded.patch
>
>
> When you create explicit transaction by means of
> {{IgniteTransactions#txStart}} 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 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)