diennea/blazingcache

Close socket when a put/invalidate times out

nicoloboschi opened this issue · 0 comments

JIRA: https://dev.blazingcache.org/jira/browse/BLAZ-17

Reporter: eolivelli @eolivelli

When a put or an invalidate times out (server side) due to "slow clients timeout", for example due to a long GC pause, but without client connection failure, what happens to the state of the client ?
Could it be in a inconsistent state (it has not received the put but it's not aware of it)?

Comments from JIRA


Alessandro Luccaroni 2016-02-23T16:55:37.000+0100

If the client cache is in indeed in an inconsistent state an easy fix should be to drop the connection server-side if the client does not ack on a put or invalidate request in a timely manner. Then, when the client wake up from the GC (for example), it will see that it's disconnected from the cache server and it will invalidate all the local cache.


Enrico Olivelli 2016-03-21T16:52:00.000+0100

I changed the name of the issue because I think the we have to close such "inconsistent" connections