[
https://issues.redhat.com/browse/ISPN-11176?page=com.atlassian.jira.plugi...
]
Will Burns commented on ISPN-11176:
-----------------------------------
{quote}I was asking mostly because I'm trying to understand if we could maybe use a
similar strategy to avoid the sync touch commands for in-cluster max-idle.
{quote}
{quote}Yeah, sorry. I meant to ask about the touch command in the remote site.
{quote}
Combining these two. The problem if it is async is you have a window of consistency loss
if a node is taken down. We can mitigate this issue by performing a touch all when it
occurs. I was told this is not acceptable, and I agree, for clustered max idle where it
would occur for a single node. However, I believe that it should be okay when it would
occur only when an entire site is lost.
Thinking further when we have another site all touch commands can be async as we have the
other site to protect us and at worst if the other site goes down it will be refreshed
anyways. I will try to do this.
{quote}I think it would be "more consistent" if we sent the local version in the
"check last version" command to Site 2, and it would reply with
"expired" so the local site would treat the entry as expired.
{quote}
I like this idea, I will have to tweak how our existing TouchCommand works to support the
version check.
XSite Max Idle
--------------
Key: ISPN-11176
URL:
https://issues.redhat.com/browse/ISPN-11176
Project: Infinispan
Issue Type: Enhancement
Components: Cross-Site Replication, Expiration
Reporter: Will Burns
Assignee: Will Burns
Priority: Major
Fix For: 12.0.0.Final
Max idle expiration currently doesn't work with xsite. That is if an entry was
written and replicated to both sites but one site never reads the value, but the other
does. If they then need to read the value from the other site it will be expired (assuming
the max idle time has elapsed).
There are a few ways we can do this.
1. Keep access times local to every site. When a site finds an entry is expired it asks
the other site(s) if it has a more recent access. If a site is known to have gone down we
should touch all entries, since they may not have updated access times. Requires very
little additional xsite communication.
2. Batch touch commands and only send every so often. Has window of loss, but should be
small. Requires more site usage. Wouldn't work for really low max idle times as an
entry could expire before the touch command is replicated.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)