[infinispan-issues] [JBoss JIRA] (ISPN-7858) Investigate parallel processing of message batches

Bela Ban (JIRA) issues at jboss.org
Wed Jun 7 03:43:01 EDT 2017


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

Bela Ban updated ISPN-7858:
---------------------------
    Description: 
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/tri/TriCache.java#L447


> 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/tri/TriCache.java#L447



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list