> A crawler ... could do very bad things if [unleashed on] a wiki with 
> instructions on how to maintain their deployed solr,

What a terrifyingly imaginative example haha!

Thanks all for the pointers and ideas!  Gus - I definitely see the
value in making better use of the servlet/filter abstractions to
organize v1/v2 code.  I'm not sure the "endpoint reshaping" work I'm
setting out to do will take me close to that code at all, but I'll
keep it in mind in case I find overlap we can take advantage of.

It sounds like there's general consensus around improving the v2 API
surface.  To summarize some of the points discussed:

1. We are interested in improving v2.
2. REST (including more meaningful use of HTTP verbs and delineation
of "read" vs "write" APIs) and OpenAPI compatibility as organizing
principles.
3. Changes can largely be made "in place" without needing a whole new
"v3" or strict concern for backcompat.  (Though in some places
preserving backcompat will make sense or even be required to support
rolling upgrades, etc.)
4. It seems like people are mostly OK with the specific changes
proposed in 
https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing
.  (Or at least, there haven't been a ton of inline comments there?

That seems like enough agreement for me to start working on the
specific changes proposed in the spreadsheet.  I've got an operator
release on my plate for this week, but I'll start on API changes as
soon as that's wrapped up.  (That'll give people more time to give
feedback on the proposed changes as well).

Thanks all!

Jason

On Sat, Jul 23, 2022 at 9:11 PM Gus Heck <gus.h...@gmail.com> wrote:
>
> On Sat, Jul 23, 2022 at 1:38 PM Shawn Heisey <apa...@elyograg.org> wrote:
>
> > On 7/23/2022 9:41 AM, Gus Heck wrote:
> > > There is something of a risk to have a server that accepts non safe get
> > > requests. All these requests are contrary to the HTTP specification (
> > > https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2.1).
> >
> > If the only way to make certain things happen with a GET is via the
> > admin UI, then I think we can close that vector by turning the admin UI
> > off by default and requiring a config option to enable it, probably in
> > solr.xml.
>
>
> The admin UI is definitely not required presently to make
> persistent changes to solr. The the V1 api is get request based. Only if
> one were to turn off v1 (i.e. deconfigure it's servlet in a hypothetical
> future) would that become true. If we were to try to turn various versions
> of the API's or feature areas on and off it would imply yet another if
> check for yet another system property or some such that runs on every
> request. Much better if the inherent dispatch of the server started the
> request off in a servlet focused on that feature (or returned 404).
>
> As I think was mentioned previously in another discussion where I brought
> this up we do have some difficulty with the order of some of our api
> commands because the collection is part of the url ahead of the verb that
> would normally denote the servlet i.e. we have /solr/collection1/update
> instead of /solr/update/collection1 so some URL remapping for back compat
> might become necessary, but that's an easily solved problem I think.
> (jetty.xml is already using the rewrite handler for other things, so that
> might be a place to start)
>
> -Gus
> --
> http://www.needhamsoftware.com (work)
> http://www.the111shift.com (play)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
For additional commands, e-mail: dev-h...@solr.apache.org

Reply via email to