You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Grant Ingersoll (JIRA)" <ji...@apache.org> on 2009/06/12 14:14:07 UTC

[jira] Created: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

Remove ExtendedFieldCache by rolling functionality into FieldCache
------------------------------------------------------------------

                 Key: LUCENE-1687
                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
             Project: Lucene - Java
          Issue Type: Improvement
            Reporter: Grant Ingersoll
            Assignee: Grant Ingersoll
            Priority: Minor
             Fix For: 2.9


It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler commented on LUCENE-1687:
---------------------------------------

Patch available in LUCENE-1701!

I close this issue after 1701 is committed.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Issue Comment Edited: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll edited comment on LUCENE-1687 at 6/20/09 7:16 AM:
------------------------------------------------------------------

The whole point of this issue is that it breaks back compatibility.  EFC is a pointless class.  Read the description.

Besides the fact that adding methods to FieldCache itself breaks back compatibility since it is an interface, even if no one can implement it.

      was (Author: gsingers):
    The whole point of this issue is that it breaks back compatibility.  EFC is a pointless class.  Read the description.
  
> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll commented on LUCENE-1687:
-----------------------------------------

Go for it.  No need to deprecate EFC, just delete it.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Grant Ingersoll
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Closed: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler closed LUCENE-1687.
---------------------------------

    Resolution: Fixed

Committed together with LUCENE-1701 in revision 787723.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Yonik Seeley commented on LUCENE-1687:
--------------------------------------

Uwe is right - EFC has been around since 2.3, we should not delete it, but deprecate it.
EFC's extra "stuff" should be moved to FieldCache.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Yonik Seeley commented on LUCENE-1687:
--------------------------------------

As previously noted, FieldCache.DEFAULT is final because FieldCache is an interface, so no one could have had a different implementation they were using with Lucene, hence it would not have broken back compat in a meaningful way  to add some new methods.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Grant Ingersoll
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll commented on LUCENE-1687:
-----------------------------------------

And Yonik, if you're argument is b/c Solr uses it, I will change it.  It's like 5 lines of code.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler commented on LUCENE-1687:
---------------------------------------

bq. True, but you know how we are about adding methods to an interface! 
Yonik said it: Because nobody can change a static variable in an interface (its always final), there is no posibility to change the cache impl, so nobody would ever implement FieldCache. A short notice should be enough.

Should I fix this together with LUCENE-1701? If yes, I would assign myself to this issue and add this to my own patch (which also fixes some issues by making the default parsers public).

I would then only deprecate  ExtendedFieldCache (as sub-interface of FieldCache, without new methods) and merge the two package-private impls behind.


> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Grant Ingersoll
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll commented on LUCENE-1687:
-----------------------------------------

True, but you know how we are about adding methods to an interface!

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Grant Ingersoll
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler commented on LUCENE-1687:
---------------------------------------

It breaks backwards compatibility in the case that somebody *implements* FieldCache/ExtendedFieldCache. As Yonik pointed out, this is unlikely the case, as there is no possibility to plug this implementation into Lucene, because you *cannot* change the FieldCache.DEFAULT interface variable (static final). Because of this nobody would ever want to implement this interface, and if he does, it would be nonsense and can break without problems.

BeSo, removing/changing this interfaces would *not* be a BW break, as long as we only think of implementing FieldCache/ExtendedFieldCache

But we would really break backwards compatibility for all who *refer* to this interface! And because of this, the dummy stub keeps there, that classes still referencing parsers and ExtendedFieldCache.EXT_DEFAULT can still work.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Assigned: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler reassigned LUCENE-1687:
-------------------------------------

    Assignee: Uwe Schindler  (was: Grant Ingersoll)

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll commented on LUCENE-1687:
-----------------------------------------

OK

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler commented on LUCENE-1687:
---------------------------------------

Removing ExtendedFieldCache complete would break backwards compatibility, e.g. when users implemented an own LongParser and so on. And code referring to ExtendedFieldCache.EXT_DEFAULT would also break.

I changed ExtendedFieldCache to only export this really needed and named parts:

{code}
/**
 * This interface is obsolete, use {@link FieldCache} instead.
 * @deprecated Will be removed in Lucene 3.0
 **/
public interface ExtendedFieldCache extends FieldCache {
  
  /** @deprecated Use {@link FieldCache#DEFAULT}; this will be removed in Lucene 3.0 */
  public static ExtendedFieldCache EXT_DEFAULT = (ExtendedFieldCache)FieldCache.DEFAULT;
  
  /** @deprecated Use {@link FieldCache.LongParser}, this will be removed in Lucene 3.0 */
  public interface LongParser extends FieldCache.LongParser {
  }

  /** @deprecated Use {@link FieldCache.DoubleParser}, will be removed in Lucene 3.0 */
  public interface DoubleParser extends FieldCache.DoubleParser {
  }

}
{code}

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Grant Ingersoll
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll commented on LUCENE-1687:
-----------------------------------------

Uwe,

The ENTIRE point of this issue is to get rid of EFC.  It is purposely breaking backwards compatibility.  It is a stupid class put in for stupid reasons.  If anyone is referring to this class, they can change to use the FieldCache.

If you're not going to remove it, I will.  

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Yonik Seeley commented on LUCENE-1687:
--------------------------------------

bq. And Yonik, if you're argument is b/c Solr uses it, I will change it. It's like 5 lines of code. 

Not at all the issue - as you say, it's simple to change in Solr and doesn't represent a back compat issue to Solr users.

bq. So much for case-by-case back compatibility.

This is entirely case-by-case:
case #1: *adding* methods to FieldCache could technically be viewed as breaking back compat, but in this specific case it's OK since no one implements FieldCache.
case #2: *removing* ExtendedFieldCache breaks all applications that *refer* to ExtendedFieldCache.  it should be deprecated first.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Michael McCandless commented on LUCENE-1687:
--------------------------------------------

+1

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Grant Ingersoll
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Issue Comment Edited: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler edited comment on LUCENE-1687 at 6/20/09 7:19 AM:
----------------------------------------------------------------

It breaks backwards compatibility in the case that somebody *implements* FieldCache/ExtendedFieldCache. As Yonik pointed out, this is unlikely the case, as there is no possibility to plug this implementation into Lucene, because you *cannot* change the FieldCache.DEFAULT interface variable (static final). Because of this nobody would ever want to implement this interface, and if he does, it would be nonsense and can break without problems.

So, removing/changing this interfaces would *not* be a BW break, as long as we only think of implementing FieldCache/ExtendedFieldCache

But we would really break backwards compatibility for all who *refer* to this interface! And because of this, the dummy stub keeps there, that classes still referencing parsers and ExtendedFieldCache.EXT_DEFAULT can still work.

We should here think about not that this *theoretically* breaks bw, we should discuss where this break would affect users.

      was (Author: thetaphi):
    It breaks backwards compatibility in the case that somebody *implements* FieldCache/ExtendedFieldCache. As Yonik pointed out, this is unlikely the case, as there is no possibility to plug this implementation into Lucene, because you *cannot* change the FieldCache.DEFAULT interface variable (static final). Because of this nobody would ever want to implement this interface, and if he does, it would be nonsense and can break without problems.

BeSo, removing/changing this interfaces would *not* be a BW break, as long as we only think of implementing FieldCache/ExtendedFieldCache

But we would really break backwards compatibility for all who *refer* to this interface! And because of this, the dummy stub keeps there, that classes still referencing parsers and ExtendedFieldCache.EXT_DEFAULT can still work.
  
> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Uwe Schindler commented on LUCENE-1687:
---------------------------------------

I implemented it now, when removing EFC completely, a lot of tests from backwards 2.4 fail, especially TestSort and TestDateSort and FunctionQuery tests, because they:
- reference ExtendedFieldCache for parsers
- reference EXT_DEFAULT

There are a lot of projects that use this references, e.g. Compass and many more.

I left over a stub like noted above - and suddenly, all tests pass, only TestExtendedFieldCache, which is obsolete (will be removed from Tag). Nobody is hurted by this stub (it is just an empty declaration), all code is in FieldCache and FieldCacheImpl, as you suggested.

In 3.0 we remove the stub and voila!

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll commented on LUCENE-1687:
-----------------------------------------

The whole point of this issue is that it breaks back compatibility.  EFC is a pointless class.  Read the description.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-1687) Remove ExtendedFieldCache by rolling functionality into FieldCache

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

Grant Ingersoll commented on LUCENE-1687:
-----------------------------------------

Why?  

So much for case-by-case back compatibility.

> Remove ExtendedFieldCache by rolling functionality into FieldCache
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1687
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1687
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9
>
>
> It is silly that we have ExtendedFieldCache.  It is a workaround to our supposed back compatibility problem.  This patch will merge the ExtendedFieldCache interface into FieldCache, thereby breaking back compatibility, but creating a much simpler API for FieldCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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