Hoss Man created SOLR-11515:
-------------------------------

             Summary: bin/post uses "-t" to check for stdin, easily breaks when 
run from cron (which has no terminal)
                 Key: SOLR-11515
                 URL: https://issues.apache.org/jira/browse/SOLR-11515
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: scripts and tools
            Reporter: Hoss Man


one of our users (matt__) spent all day on freenode#solr trying to figure out 
why a simple script he had that called {{bin/post}} would work fine when he ran 
it, but didn't seem to do anything when run as a cronjob.

After helping him setup better logging from cron, it ultimiately came down to 
the fact that a command like this (which was the very first thing in his 
script)...

{code}
bin/post -c yyy -host xxx -d '<delete><query>zzz</query></delete>'
{code}

...was failing with an error like this...

{noformat}
Unrecognized argument: <delete><query>zzz</query></delete>
If this was intended to be a data file, it does not exist relative to 
/opt/blah/blah
{noformat}

Ultimately we determined that the problem was how {{bin/post}} tests for 
"stdin" -- by checking to see if it's _not_ being run in a terminal (with ' {{! 
-t 0}} ') -- in which case it doesn't treat the argument after {{-d}} as data, 
and instead lets it fall through to the next iteration of the arg parsing loop 
(as either another switch, or a filename)

the problem here being that running (in a script) as a cronjob is another case 
where {{bin/post}} is "not being run in a terminal" so the {{-d}} parsing would 
up completely ignoring the {{<delete>...}} string, evne though there was 
nothing being redirected on stdin.

the workaround is to use {{echo}} to give {{bin/post}} some stdin, since it was 
going to expect it for any usage of {{-d}}...
{code}
echo '<delete><query>zzz</query></delete>' | bin/post -c yyy -host xxx -d 
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to