In regards to the InvalidateCache policy

Not applicable

the documentation seems to suggest only the L1 cache is invalidated and that subsequent requests will still use the L2 cache entry’s value (which doesn’t seem right). Does InvalidateCache also invalidate the L2 cache entry?

0 2 231
2 REPLIES 2

Not applicable

The way invalidate cache works is

  1. It will delete the local message processor L1 cache . A notification will be issues to other nodes to delete their L1 cache entries.
  2. It will delete the L2 cache. Cassandra's eventual consistency model will ensure that this change is replicated to other nodes.

This doc link http://docs.apigee.com/api-services/content/cache-internals#howpoliciesusethecache specifically addresses the concerns about the failure of MP notification in (1) above

Is there any way to mitigate the consequences of a network failure that results in the notification attempt being unsuccessful (eg. an acknowledgement that the delete notification has been received so that the initial MP knows if it needs to rebroadcast)?

If the Cassandra node with the deleted L2 cache fails before the change has been replicated to other nodes, wouldn't calls during that period of time also retrieve stale data? Is that something we just have to live with?