From 7833f7f69af4d143178b53879c53563a4bbc0cee Mon Sep 17 00:00:00 2001 From: David Smiley Date: Fri, 15 Apr 2016 22:06:54 -0400 Subject: [PATCH] SOLR-8946: fix bin/post stdin detection. faulty on Ubuntu; maybe others --- solr/CHANGES.txt | 2 ++ solr/bin/post | 9 ++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index b594afbfe38..2b6c868bb5c 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -118,6 +118,8 @@ Bug Fixes * SOLR-7729: ConcurrentUpdateSolrClient ignores the collection parameter in some methods. (Nicolas Gavalda, Jorge Luis Betancourt Gonzalez via Mark Miller) + +* SOLR-8946: bin/post failed to detect stdin usage on Ubuntu; maybe other unixes. (David Smiley) Optimizations ---------------------- diff --git a/solr/bin/post b/solr/bin/post index 92172ab2429..73e59ed4c41 100755 --- a/solr/bin/post +++ b/solr/bin/post @@ -140,7 +140,7 @@ while [ $# -gt 0 ]; do shift PROPS+=("-Dport=$1") elif [[ ("$1" == "-d" || "$1" == "--data" || "$1" == "-") ]]; then - if [[ -s /dev/stdin ]]; then + if [[ ! -t 0 ]]; then MODE="stdin" else # when no stdin exists and -d specified, the rest of the arguments @@ -150,6 +150,9 @@ while [ $# -gt 0 ]; do if [[ $# -gt 0 ]]; then ARGS=("$@") shift $# + else + # SPT needs a valid args string, useful for 'bin/post -c foo -d' to force a commit + ARGS+=("") fi fi else @@ -209,10 +212,6 @@ if [[ $MODE != "stdin" && $MODE != "args" ]]; then PARAMS=("${URLS[@]}") fi else - if [[ ${#ARGS[@]} == 0 ]]; then - # SPT needs a valid (to post to Solr) args string, useful for 'bin/post -c foo -d' to force a commit - ARGS+=("") - fi PARAMS=("${ARGS[@]}") fi