I see that SnapshotDeletionPolicy no longer supports snapshotting by an app-supplied string id, as of Lucene 4.4. However, my use case relies on the policy's ability to maintain multiple snapshots simultaneously to provide index versioning semantics, of sorts. What is the new recommended way of doing this?
I see that release() now accepts IndexCommit; does this mean that I am now responsible for maintaining a map of string ids to IndexCommit instances myself? What about the situation when multiple snapshots refer to the same commit point - I need to do reference counting and make sure I don't release the commit until the snapshot reference count reaches 0, similar to how release() was implemented before this change? Not sure what the rationale for this was, but it seems like the change makes use of this API harder than before... unless I'm totally missing something obvious.