Solr config and schema settings should also be considered part the outer
API and require strong back-compat.

"Strive to maintain" and "simply do our best to be reasonable" certainly
seem to be good approaches to plugin-related internal APIs.

I would add "the benefits to users or committers or expert Solr
contributers are compelling" as a requirement for breaking back-compat on
any plugin-related internal API change. The problem with SOLR-8475 is that
it appears to be more of an "internal code cleanup"-only refactor that
doesn't offer any direct benefit to users or even expert Solr contributers.
That sounds more ideal for a major release trunk change and that any
backporting should be limited to maintaining plugin compatibility. At
present, nothing in the description for SOLR-8475 suggests a "compelling"
need to be in a dot release rather than a trunk/major release. If that is
not the case, it sure more be helpful if the Jira were updated to reveal
any compelling benefits beyond simply cleaning up the code.

I'm not suggesting any opposition to general code cleanup that can be done
for both trunk and the stable branch, but maybe at least it would make
sense to separate basic code cleanup from changes that may affect plugin
compatibility.

If the code cleanup dramatically simplified the implementation of a new
feature or leads to some decent performance improvement or significant
reduction in memory use, then that would be... "compelling."

I'd rather see more of a rush to get 6.0 out (and cleaned up) than a rush
to clean up code in some random dot release.

I'm +1 for any policy for dot release plugin API back-compat based on
strive/reasonable/compelling, but I'm -1 if the motivation is simply
cleanup the code at the expense of plugin compatibility and without a
compelling benefit to users or Expert contributors.

(Says the guy who has no binding vote in this matter.)



-- Jack Krupansky

On Wed, Jan 6, 2016 at 8:15 AM, Noble Paul <noble.p...@gmail.com> wrote:

> Yes Anshum
> HTTP APIs and SolrJ must have strong backcompat
>
> We should have a process to mark some internal APIs as backward
> compatible using some annotation/javadoc. This will help plugin
> writers
>
> On Wed, Jan 6, 2016 at 11:33 AM, Anshum Gupta <ans...@anshumgupta.net>
> wrote:
> > As I understand, seems like there's reasonable consensus that we will:
> >
> > 1. provide strong back-compat for for SolrJ and REST APIs
> > 2. Strive to maintain but not guarantee *strong* back-compat for Java
> APIs.
> >
> > Please correct me if I'm wrong.
> >
> >
> > On Mon, Jan 4, 2016 at 9:57 PM, Anshum Gupta <ans...@anshumgupta.net>
> wrote:
> >>
> >> Hi,
> >>
> >> I was looking at refactoring code in Solr and it gets really tricky and
> >> confusing in terms of what level of back-compat needs to be maintained.
> >> Ideally, we should only maintain back-compat at the REST API level. We
> may
> >> annotate a few really important Java APIs where we're guarantee
> back-compat
> >> across minor versions, but we shouldn't certainly be doing that across
> the
> >> board.
> >>
> >> Thoughts?
> >>
> >> P.S: I hope this doesn't spin-off into something I fear :)
> >>
> >> --
> >> Anshum Gupta
> >
> >
> >
> >
> > --
> > Anshum Gupta
>
>
>
> --
> -----------------------------------------------------
> Noble Paul
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

Reply via email to