[infinispan-issues] [JBoss JIRA] (ISPN-11727) Async Cache Writer is blocking

Will Burns (Jira) issues at jboss.org
Mon Apr 27 12:31:21 EDT 2020


     [ https://issues.redhat.com/browse/ISPN-11727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Will Burns updated ISPN-11727:
------------------------------
    Description: 
The current AsyncCacheWriter is blocking on a few different levels.

It first has a lock to add a modification to its queue, which is able to be configured by the end user. It may even be possible to configure a value so low that if a bulkUpdate is done that is larger than the configured value it may hang (needs to be confirmed).

However this lock can and will block if an async update takes too long and the queue is full of writes. We should at least return a future that is complete when the value is written to the queue instead.

We may want to even use something like https://github.com/IBM/java-async-util with their AsyncSemaphore to handle this queueing in a non blocking way. This however will require https://issues.redhat.com/browse/ISPN-10373 to be implemented first, before it can be made fully non blocking.

  was:
The current AsyncCacheWriter is blocking on a few different levels.

It first has a lock to add a modification to its queue, which is able to be configured by the end user. It may even be possible to configure a value so low that if a bulkUpdate is done that is larger than the configured value it may hang (needs to be confirmed).

However this lock can and will block if an async update takes too long and the queue is full of writes. We should at least return a future that is complete when the value is written to the queue instead.

We may want to even use something like https://github.com/IBM/java-async-util with their AsyncSemaphore to handle this queueing in a non blocking way.



> Async Cache Writer is blocking
> ------------------------------
>
>                 Key: ISPN-11727
>                 URL: https://issues.redhat.com/browse/ISPN-11727
>             Project: Infinispan
>          Issue Type: Enhancement
>          Components: Loaders and Stores
>            Reporter: Will Burns
>            Priority: Major
>
> The current AsyncCacheWriter is blocking on a few different levels.
> It first has a lock to add a modification to its queue, which is able to be configured by the end user. It may even be possible to configure a value so low that if a bulkUpdate is done that is larger than the configured value it may hang (needs to be confirmed).
> However this lock can and will block if an async update takes too long and the queue is full of writes. We should at least return a future that is complete when the value is written to the queue instead.
> We may want to even use something like https://github.com/IBM/java-async-util with their AsyncSemaphore to handle this queueing in a non blocking way. This however will require https://issues.redhat.com/browse/ISPN-10373 to be implemented first, before it can be made fully non blocking.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the infinispan-issues mailing list