Hi Carsten,

I think this is probably worth a jira.  I'm not familiar enough with
bin/post to say definitively whether the behavior you mention is a
bug, or whether it's "expected" in some odd sense.  But there's enough
uncertainty that I think it's worth recording there.

Best,

Jason

On Fri, Apr 12, 2019 at 5:52 AM Carsten Agger <carst...@magenta.dk> wrote:
>
> Hi all
>
> I posted the question below some time back, concerning the unusual
> behaviour of bin/post if there is no stdin.
>
> There has been no comments to that, and maybe bin/post is quaint in that
> regard - I ended up changing my application to POST directly on the Web
> endpoint instead.
>
> But I do have one question, though: Should this be considered a bug, and
> should I report it as such? Unfortunately I don't have the time to
> prepare a proper fix myself.
>
> Best
> Carsten
>
> On 3/27/19 7:55 AM, Carsten Agger wrote:
> > I'm working with a script where I want to send a command to delete all
> > elements in an index; notably,
> >
> >
> > /opt/solr/bin/post -c <my collection> -d  
> > "<delete><query>*:*</query></delete>"
> >
> >
> > When run interactively, this works fine.
> >
> > However, when run automatically as a cron job, it gives this interesting
> > output:
> >
> >
> > Unrecognized argument:   "<delete><query>*:*</query></delete>"
> >
> > If this was intended to be a data file, it does not exist relative to /root
> >
> > The culprit seems to be these lines, 143-148:
> >
> >          if [[ ! -t 0 ]]; then
> >            MODE="stdin"
> >          else
> >            # when no stdin exists and -d specified, the rest of the 
> > arguments
> >            # are assumed to be strings to post as-is
> >            MODE="args"
> >
> > This code seems to be doing the opposite of what the comment says - it
> > sets MODE="stdin" if stdin is NOT a terminal, but if it IS (i.e., there
> > IS an stdin) it assumes the rest of the args can be posted as-is.
> >
> > On the other hand, if the condition is reversed, my command will fail
> > interactively but not when run as a cron job. Both options are, of
> > course, unsatisfactory.
> >
> > It /will/ actually work in both cases, if instead the command to delete
> > the contents of the index is written as:
> >
> > echo "<delete><query>*:*</query></delete>" |  /opt/solr/bin/post -c 
> > departments -d
> >
> >
> > I've seen this bug in SOLR 7.5.0 and 7.7.1. Should I report it as a bug
> > or is there an easy explanation?
> >
> >
> > Best
> >
> > Carsten Agger
> >
> >
> --
> Carsten Agger
>
> Chief Technologist
> Magenta ApS
> Skt. Johannes Allé 2
> 8000 Århus C
>
> Tlf  +45 5060 1476
> http://www.magenta-aps.dk
> carst...@magenta-aps.dk
>

Reply via email to