Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
6.0
-
None
-
Ubuntu
Description
Summary: I think the post bash script tries to detect stdin the wrong way.
If I run "post -h" I see some examples, to include this:
echo '{commit: {}}' | bin/post -c my_collection -type application/json -out yes -d
However if I try it, Solr returns this error: Cannot parse provided JSON: JSON Parse Error: char=<,position=0 BEFORE='<' AFTER='add/>'
I see that post is sending an <add /> in certain cases, but it's not supposed to when the mode is stdin. Looking closer, it appears to be because of this line:
if [[ -s /dev/stdin ]]; then
If I change it to this (which I figured out after googling around; I'm no bash expert!):
if [[ ! -t 0 ]]; then
Apparently '0' represents stdin. It works for me. thelabdude might you take a look? I'd be happy to add a formal patch & commit for this trivial change but it really needs other eyes.