On Fri, Nov 26, 2021 at 1:03 AM Jason Gerlowski <gerlowsk...@gmail.com>
wrote:

> > Is there some problem with our annotations that we hope to solve using
> third party dependencies?
>
> I guess so yeah.  Third-party deps are just fuller, more robust
> solutions, whereas our annotations still need support added now and
> then for even primitive data types like "long" (see SOLR-15619).
>
These are minor improvements compared to a full rewrite of the entire
framework



> Every JIRA spent doing basic stuff like that is time away from
> improving Solr in some other way.
>
> So there are feature-gap/capabilities arguments for moving to a
> third-party dep, sure.  But, even if our annotations did everything
> Jersey+Jackson do today, I think switching would still be worth it.
> Every LOC in our code base brings along with it some maintenance cost:
> it might have bugs, needs tested, takes time for new contributors to
> "grok", etc.  Using off-the-shelf here would nuke a whole bunch of
> that.  If off-the-shelf is available for some given functionality, we
> should need a compelling reason to NOT use it.
>
Lastly, I think there's an "approachability" argument for using
> off-the-shelf.  Thousands of developers out there are familiar with
> (e.g.) Jersey, compared to maybe 15 or 20 (in the world) familiar with
> Solr's custom annotations.  Using a well-known technology like Jersey
> would make Solr all the easier to approach and contribute to for that
> pool of developers.
>
> > By the way, we have used Restlet in the past and that has been a
> regrettable decision.
>


> Ah, yeah, that's just the context I'm missing.  Anyone have a pointer
> to related discussions, or remember what made this "regrettable"?  All
> the theoretical benefits in the world don't matter much if we've
> already tried something like this in the past and decided against it.
>

It was not playing well with our security framework. The framework was not
working well with Solr APIs


> (Unrelated - Happy Thanksgiving all!)
>
> Best,
>
> Jason
>
> On Thu, Nov 25, 2021 at 7:32 AM Noble Paul <noble.p...@gmail.com> wrote:
> >
> > Have you gone through an API written using the @EndPoint annotation?
> >
> > I strongly recommend that you do
> >
> > On Thu, Nov 25, 2021, 11:30 PM Eric Pugh <
> ep...@opensourceconnections.com> wrote:
> >>
> >> I have found our V2 API code to be very impenetrable to understand.
>  Part of it is how the code is intertwined with support for V1, however
> it’s also because there aren’t really resources to go look at to understand
> how it should work!  Maintaining the API should be very simple work, as
> they just exist as a translation.   The home grown stuff may make sense if
> you are a super knowledgable Solr developer, but if you are just a new
> person, it’s a lot harder to contribute.
> >>
> >> I was interested in the Jersey stuff because I’ve seen lots of projects
> use it very successfully, and if I want to implement something, well, there
> are lots of blogs and resources out there!
> >>
> >> Can anyone recap briefly why we dropped RESTlet?   And what lessons
> learned there might apply to adopting Jersey for API support?   Looking at
> https://issues.apache.org/jira/browse/SOLR-14659, it was partly
> deprecated because we were not using it to support all the API, only the
> ManagedResource ones, and https://issues.apache.org/jira/browse/SOLR-14766
> suggests that RESTlet maybe was no longer being updated?   One reason why
> we spiked out Jersey was because of the broad support in the Java world!
>  Looking at how much work we have to do in the V2 API world, we need a much
> broader pool of developers contributing to get there!
> >>
> >> Related, are there specific features/aspects of our annotations that
> enable things in Solr that couldn’t be done otherwise?
> >>
> >> On Nov 25, 2021, at 2:12 AM, Ishan Chattopadhyaya <
> ichattopadhy...@gmail.com> wrote:
> >>
> >> Is there some problem with our annotations that we hope to solve using
> third party dependencies?
> >> By the way, we have used Restlet in the past and that has been a
> regrettable decision.
> >>
> >> On Thu, Nov 25, 2021 at 10:10 AM Jason Gerlowski <gerlowsk...@gmail.com>
> wrote:
> >>>
> >>> Solr's custom annotation framework ('@Endpoint', '@Command', etc.) has
> >>> cropped up a few times over the past week or two. [1] [2]. Having them
> >>> on top of mind, I've been wondering - is there a reason we use our own
> >>> annotations here instead of something off the shelf?
> >>>
> >>> What we have works well enough, but anything homegrown comes with more
> >>> maintenance burden than we'd have if we used something off the shelf.
> >>> There are plenty of well-used, active projects out there whose whole
> >>> purpose is facilitating the whole "annotation based API" thing
> >>> (Jersey, Restlet, RESTEasy, etc.) - why not use one of them?
> >>>
> >>> Does anyone know of any technical reasons why we can't go this route?
> >>> Or have any subjective reasons why we shouldn't?  Or any context on
> >>> why we wrote our own Endpoint, Command, JsonProperty annotations
> >>> originally?
> >>>
> >>> FWIW, Eric Pugh and I spiked out a small POC recently, and got
> >>> Jersey+Jackson working for a few simple APIs without too much trouble.
> >>> [3]  Obviously nothing production-ready there, and there's still a lot
> >>> of open questions (e.g. how would javabin be supported?), but we both
> >>> came away convinced that it seemed feasible, at least.  Best of all,
> >>> APIs using our current homegrown annotation framework the switchover
> >>> seems blessedly straightforward, and it doesn't look like Jersey
> >>> (which we chose mostly arbitrarily) bloats our dist all that much.
> >>>
> >>> Curious if anyone has thoughts or context on how we ended up with the
> >>> annotation setup we use today!
> >>>
> >>> Best,
> >>>
> >>> Jason
> >>>
> >>> [1] https://issues.apache.org/jira/browse/SOLR-15182 (and children)
> >>> [2]
> http://mail-archives.apache.org/mod_mbox/solr-dev/202111.mbox/%3CCABEwPvENL41Pm6%2BOmjXb6Sx5N2XjUtnbWhgKOZSrnLjWBA8tcA%40mail.gmail.com%3E
> >>> [3]
> https://github.com/gerlowskija/solr/tree/jersey_jaxrs_jackson_solr_apis.
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
> >>> For additional commands, e-mail: dev-h...@solr.apache.org
> >>>
> >>
> >> _______________________
> >> Eric Pugh | Founder & CEO | OpenSource Connections, LLC | 434.466.1467
> | http://www.opensourceconnections.com | My Free/Busy
> >> Co-Author: Apache Solr Enterprise Search Server, 3rd Ed
> >> This e-mail and all contents, including attachments, is considered to
> be Company Confidential unless explicitly stated otherwise, regardless of
> whether attachments are marked as such.
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
> For additional commands, e-mail: dev-h...@solr.apache.org
>
>

-- 
-----------------------------------------------------
Noble Paul

Reply via email to