]
Ryan Emerson updated ISPN-7858:
-------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
Investigate parallel processing of message batches
--------------------------------------------------
Key: ISPN-7858
URL:
https://issues.jboss.org/browse/ISPN-7858
Project: Infinispan
Issue Type: Enhancement
Components: Core
Affects Versions: 9.0.1.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Currently, message batches are handled _sequentially_ by Infinispan, ie. a batch of
messages 1-5 processes message 1 first, then message 2 etc.
This causes the processing of message 5 to start only when the 4 previous messages have
been processed.
Investigate parallelization of this processing. One possible implementation could be for
example similar to the TriCache impl [4]:
* Use _application batches_: multiple GET requests and/or GET responses could be wrapped
into a single application batch
* Have a separate thread pool with N threads (configurable) and a queue for PUTs and GET
responses
* Process the GET requests inline (in the same thread), and (in parallel) pass the
application batch on to a thread pool for processing of GET responses and/or PUT
requests.
[1]
https://github.com/belaban/IspnPerfTest/blob/master/src/org/cache/impl/tr...