Hi Team,
I have a question on Cache Policy.
When we have cache entries in Populate Cache Policy defined under some environment cache resource, how can we delete these entries stored as L2 cache on disk of cassandra node?
It seems that;
Is it expected design of Cache Policy that L2 cache stays on disk unless it's explicitly deleted?
And, is the Management API to delete cache as follows the same behavior as Edge UI above?
curl -X DELETE https://api.enterprise.apigee.com/v1/organizations/{org_name}/environments/{env_name}/caches/{cache_...Then can we have to delete L2 cache entries on Cassandra with the API?
curl -X DELETE https://api.enterprise.apigee.com/v1/organizations/{org_name}/environments/{env_name}/caches/{cache_...If it's not the case, how can we delete the cache entries on disk - only by cqlsh DELETE?
Since there are no configurable limit of L2 cache total size, it should be a problem with disk space just increasing to become full.
Actually a customer using L2 Cache with dynamically adding cache entries see the issue of overload of disk and 'nodetool repair' operation fails with large traffics possibly by this too many cache entries.
I would appreciate your advice on the best practice of deleting L2 cache when it becomes no more necessary.
Regards,
Toshi
I'm sorry I don't know if it is the expected design of Cache Policy that L2 cache stays on disk unless it's explicitly deleted. That seems like it would be a poor design choice.
But, you may be able to overwrite the cache, by simply calling PopulateCache with a new value and a TTL of 1 second. This will place a new value in cache, but it should expire quickly.
This may have the effect you desire.
It is still worth exploring the behavior of a DELETE on the cache entry.
@Dino Thank you for the response and the useful suggestion.
In the customer's use case the cache entry name is decided by client dynamically.
So, we need to delete the cache entries on disk by some means or other on it's expiration, etc.
I would appreciate it if you or someone advise how we can do it.
Let me please update on some findings. The cache entries on L2 are deleted rightly for the contents of row records as seen on cqlsh select command. Sorry for my confusion above.
But there still remain the RowKey entries even after the expiration, which we can check with cassandra-cli, list cache_entries command.
The question now is, are there any impacts on disk space by having the data on Cassandra node, if cache_entires are added on run-time continually as mentioned above?
I think that this is not replicated between cassandra node. Is it correct?
@Toshihiro Shibamoto
Have you got any work around on this issue ?
I can see expired cache in cassandra database with null value, But it should be deleted from cassandra.
https://community.apigee.com/questions/56803/urgent-cassandra-cache-l2-cache-value-null-and-exp.html
Thanks,
Sartaj Sisodiya
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |