You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thre is a problem in Protocol class. When a transaction is executed (in Protoco.send) locks on concurrentOpt are aquired. The issue is when the number of operations in transaction + 1 is greater than the MaxConcurrentRequestsOpt that is defaulted to 30,000 the operation hangs forever, since that's the way the semaphore.acquire(count) works.
Of course the limit might be adjusted, but when the limit is reached, Protocol will freeze the whole execution.
Solution would be to perform check if the number of requested concurrent operations reached the limit value.
Besides that I wonder why every single operation in transaction is treated as concurrent operation? The transaction is executed in a single thread.
The text was updated successfully, but these errors were encountered:
Zuchos
changed the title
No more that 30,000 operation can't be performed in one transaction
No more than 30,000 operation can't be performed in one transaction
Sep 21, 2018
Thre is a problem in
Protocol
class. When a transaction is executed (inProtoco.send
) locks onconcurrentOpt
are aquired. The issue is when the number of operations in transaction + 1 is greater than theMaxConcurrentRequestsOpt
that is defaulted to 30,000 the operation hangs forever, since that's the way thesemaphore.acquire(count)
works.Of course the limit might be adjusted, but when the limit is reached, Protocol will freeze the whole execution.
Solution would be to perform check if the number of requested concurrent operations reached the limit value.
Besides that I wonder why every single operation in transaction is treated as concurrent operation? The transaction is executed in a single thread.
The text was updated successfully, but these errors were encountered: