The Java doc for Cache#cancelUpdate says:
Note however that there is no harm in cancelling an update on a key that either does not exist or is not currently being updated.
Yet, the called EntryUpdateState#cancelUpdate throws an Exception if the key is not currently being updated:
if (state != UPDATE_IN_PROGRESS) {
throw new IllegalStateException("Cannot cancel cache update - current state (" + state + ") is not UPDATE_IN_PROGRESS");
}
http://forums.opensymphony.com/thread.jspa?threadID=45046&messageID=91016#91016