[
https://issues.jboss.org/browse/ISPN-10286?page=com.atlassian.jira.plugin...
]
Will Burns commented on ISPN-10286:
-----------------------------------
Also the old code wasn't properly waiting on the store bulkUpdate return, which if the
store were actually doing async would cause writes to be fired after the command
completed.
Segmented Store can get stuck with bulk write
---------------------------------------------
Key: ISPN-10286
URL:
https://issues.jboss.org/browse/ISPN-10286
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 10.0.0.Alpha3
Reporter: Will Burns
Priority: Major
Fix For: 10.0.0.Beta4
The code was refactored in ComposedSegmentedLoadWriteStore to be more non blocking
friendly. Unfortunately due to how groupBy and flatMap interact it is possible for the
bulkUpdate to never complete.
FlatMap by default sets a parallelism level of 128. this means it will request 128
groups from groupBy, but unfortunately if there are more than 128 groups, it will never
complete as groupBy must publish all groups before a single one can complete. Thus any
time we use flatMap after a groupBy we must either set the parallelism level to
Integer.MAX_VALUE or to an explicit value if we know how many groups at max there will be.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)