[
https://issues.jboss.org/browse/ISPN-3089?page=com.atlassian.jira.plugin....
]
Dan Berindei updated ISPN-3089:
-------------------------------
Description:
In invalidation mode we don't wait for the initial state transfer to finish, or even
for the joiner to become a member in the "write" CH, before returning to the
user from {{getCache()}}.
Writes to the joiner before it becomes a member of the write CH are not committed to the
local cache, because of a check in {{EntryWrappingInterceptor.shouldWrap()}}. So it's
possible for the joiner to ignore the first write completely.
If {{StateTransferConfigurationBuilder}} enabled {{awaitInitialTransfer}} by default in
invalidation mode, like it does in distributed/replicated mode, this wouldn't happen.
The fact that it will still be possible for the user to disable {{awaitInitialTransfer}}
manually shouldn't be a problem, because in invalidation mode the user should expect
values to be invalidated at any time. This is just about improving the default
configuration.
was:
In invalidation mode we don't wait for the initial state transfer to finish, or even
for the joiner to become a member in the "write" CH, before returning to the
user from {{getCache()}}.
Writes to the joiner before it becomes a member of the write CH are not committed to the
local cache, because of a check in {{EntryWrappingInterceptor.shouldWrap()}}. So it's
possible for the joiner to ignore the first write completely.
If {{StateTransferConfigurationBuilder}} enabled {{waitForInitialTransfer}} by default in
invalidation mode, like it does in distributed/replicated mode, this wouldn't happen.
The fact that it will still be possible for the user to disable {{waitForInitialTransfer}}
manually shouldn't be a problem, because in invalidation mode the user should expect
values to be invalidated at any time. This is just about improving the default
configuration.
The first write to a joiner in invalidation mode can be ignored
---------------------------------------------------------------
Key: ISPN-3089
URL:
https://issues.jboss.org/browse/ISPN-3089
Project: Infinispan
Issue Type: Bug
Components: State transfer
Affects Versions: 5.2.6.Final, 5.3.0.Beta1
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 5.3.0.Final
In invalidation mode we don't wait for the initial state transfer to finish, or even
for the joiner to become a member in the "write" CH, before returning to the
user from {{getCache()}}.
Writes to the joiner before it becomes a member of the write CH are not committed to the
local cache, because of a check in {{EntryWrappingInterceptor.shouldWrap()}}. So it's
possible for the joiner to ignore the first write completely.
If {{StateTransferConfigurationBuilder}} enabled {{awaitInitialTransfer}} by default in
invalidation mode, like it does in distributed/replicated mode, this wouldn't happen.
The fact that it will still be possible for the user to disable {{awaitInitialTransfer}}
manually shouldn't be a problem, because in invalidation mode the user should expect
values to be invalidated at any time. This is just about improving the default
configuration.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira