[ https://issues.apache.org/jira/browse/SOLR-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12626572#action_12626572 ]
Shalin Shekhar Mangar commented on SOLR-617: -------------------------------------------- Thanks for the patch Akshay! I think we should allow a user to specify his custom IndexDeletionPolicy too. We can provide a default implementation with all the options specified in the issue description. So I propose that we have the following syntax: {code:xml} <deletionPolicy class="com.MyDeletionPolicy" /> {code} The default implementation will be SolrIndexDeletionPolicy which can be configured through a NamedList. Any custom deletion policy will be initialized with a NamedList if it implements NamedListInitializedPlugin. {code:xml} <!-- configure deletion policy here--> <deletionPolicy class="solr.SolrIndexDeletionPolicy"> <!-- Store only the commits with optimize.Non optimized commits will get deleted by lucene when the last IndexWriter/IndexReader using this commit point is closed --> <bool name="keepOptimizedOnly">true</bool> <!--Maximum no: of commit points stored . Older ones will be cleaned when they go out of scope--> <int name="maxCommitsToKeep"></int> <!-- max age of a stored commit--> <str name="maxCommitAge"></str> </deletionPolicy> {code} To facilitate replication, we can have a wrapper over the IndexDeletionPolicy which can provide us the features needed for replication (SOLR-561). We need access to a list of non-deleted IndexCommit instances, a way to lookup IndexCommit given a version as well as the latest commit point. > Allow configurable deletion policy > ---------------------------------- > > Key: SOLR-617 > URL: https://issues.apache.org/jira/browse/SOLR-617 > Project: Solr > Issue Type: New Feature > Components: search, update > Affects Versions: 1.4 > Reporter: Noble Paul > Assignee: Shalin Shekhar Mangar > Priority: Minor > Fix For: 1.4 > > Attachments: solr-617.patch > > > Lucene API provides means to configure deletion policy. Solr should be able > to expose it through configuration in solrconfig.xml. Moreover the new > replication (SOLR-561) strategy is going to rely on this . > I propose the configuration go into the <mainIndex> section > sample configuration > {code:xml|title=solrconfig.xml} > <mainIndex> > <!-- configure deletion policy here--> > <deletionPolicy> > <!-- Store only the commits with optimize.Non optimized commits will > get deleted by lucene when > the last IndexWriter/IndexReader using this commit point is > closed --> > <keepOptimizedOnly>true</keepOptimizedOnly> > <!--Maximum no: of commit points stored . Older ones will be cleaned > when they go out of scope--> > <maxCommitsToKeep></maxCommitsToKeep> > <!-- max age of a stored commit--> > <maxCommitAge></maxCommitAge> > </deletionPolicy> > > </mainIndex> > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.