After doing some testing patching IndexDeletionPolicyWrapper, looks like there is a second problem, in: IndexDeletionPolicyWrapper$IndexCommitWrapper.delete(), where it calls contains() instead of containsKey() on the savedCommits map:

IndexDeletionPolicyWrapper.java:
-      if(savedCommits.contains(version)) {
+      if(savedCommits.containsKey(version)) {

With this and the previous put() fix added, backups now work correctly.


Peter