You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org> on 2008/08/28 16:12:44 UTC

[jira] Commented: (SOLR-617) Allow configurable deletion policy

    [ 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.