You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shai Erera (JIRA)" <ji...@apache.org> on 2011/05/02 12:39:03 UTC

[jira] [Created] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Open IndexWriter API to allow custom MergeScheduler implementation
------------------------------------------------------------------

                 Key: LUCENE-3061
                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
             Project: Lucene - Java
          Issue Type: Improvement
          Components: Index
            Reporter: Shai Erera
            Assignee: Shai Erera
            Priority: Minor
             Fix For: 3.2, 4.0


IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Commented] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Shai Erera (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027627#comment-13027627 ] 

Shai Erera commented on LUCENE-3061:
------------------------------------

I don't think they are experimental though -- they exist for ages. We only made them public.

I get your point - you don't think we should commit to this API signature, but IMO we should -- if MS is a valid extension point by applications, we must support this API, otherwise MS cannot be extended at all. Also, getNextMerge() jdoc specifies "Expert: the MergeScheeduler calls this method ..." - this kind of makes this API public long time ago, only it wasn't.

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch, LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Updated] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Shai Erera (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shai Erera updated LUCENE-3061:
-------------------------------

    Attachment: LUCENE-3061.patch

Thanks Uwe ! Following your comment, I noticed there is a TestMergeSchedulerExternal under o.a.l, which covers extending ConcurrentMergeScheduler.

So I moved my MS impl + test case there.

I think this is ready to commit

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch, LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Commented] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Uwe Schindler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027621#comment-13027621 ] 

Uwe Schindler commented on LUCENE-3061:
---------------------------------------

All of those the public API tests are directly under o.a.lucene at the moment.

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Updated] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Shai Erera (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shai Erera updated LUCENE-3061:
-------------------------------

    Attachment: LUCENE-3061.patch

Open up necessary API + add TestCustomMergeScheduler under src/test/o.a.l/index/publicapi.

The changes are very trivial. If you would like to suggest alternative package I should put the test in, I will gladly do it.

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Resolved] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Shai Erera (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shai Erera resolved LUCENE-3061.
--------------------------------

       Resolution: Fixed
    Lucene Fields: [New, Patch Available]  (was: [New])

Committed revision 1098543 (3x).
Committed revision 1098576 (trunk).

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch, LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Commented] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Shai Erera (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027633#comment-13027633 ] 

Shai Erera commented on LUCENE-3061:
------------------------------------

I didn't notice MS is experimental. It's weird (to me) that it is. Perhaps we need another tag @lucene.expert, with same semantics as experimental, but better name. Experimental feels like I'm touching stuff that is not fully ready yet.

But nm, I'll tag these method as experimental. We can discuss the @expert tag on the list, outside this issue.

I'll commit shortly.

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch, LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Commented] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Michael McCandless (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027631#comment-13027631 ] 

Michael McCandless commented on LUCENE-3061:
--------------------------------------------

I think they should be @experimental?  (Eg, MS itself is).

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch, LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


[jira] [Commented] (LUCENE-3061) Open IndexWriter API to allow custom MergeScheduler implementation

Posted by "Earwin Burrfoot (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027626#comment-13027626 ] 

Earwin Burrfoot commented on LUCENE-3061:
-----------------------------------------

Mark these as @experimental?

> Open IndexWriter API to allow custom MergeScheduler implementation
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3061.patch, LUCENE-3061.patch
>
>
> IndexWriter's getNextMerge() and merge(OneMerge) are package-private, which makes it impossible for someone to implement his own MergeScheduler. We should open up these API, as well as any other that can be useful for custom MS implementations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org