-
Notifications
You must be signed in to change notification settings - Fork 761
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
textproc/apache-solr: use sockstat instead of lsof
While starting solr it is using now sockstat and can detect now if the start was successful. The patch is also provided upstream here: apache/solr#2906 Thanks a lot freebsd@koenigbj.8bx.de to provide with the required sockstat parameters to make this PR possible. PR: 283270
- Loading branch information
Showing
2 changed files
with
34 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
--- bin/solr.orig 2024-08-06 17:02:34 UTC | ||
+++ bin/solr | ||
@@ -2027,13 +2027,20 @@ function start_solr() { | ||
fi | ||
|
||
# no lsof on cygwin though | ||
+ check_command="" | ||
if lsof -v 2>&1 | grep -q revision; then | ||
+ check_command="lsof -t -PniTCP:$SOLR_PORT -sTCP:LISTEN" | ||
+ elif which -s sockstat; then | ||
+ check_command="sockstat -q46lp$SOLR_PORT" | ||
+ fi | ||
+ | ||
+ if [[ "${check_command}" != "" ]]; then | ||
echo -n "Waiting up to $SOLR_START_WAIT seconds to see Solr running on port $SOLR_PORT" | ||
# Launch in a subshell to show the spinner | ||
(loops=0 | ||
while true | ||
do | ||
- running=$(lsof -t -PniTCP:$SOLR_PORT -sTCP:LISTEN || :) | ||
+ running=$(${check_command} || :) | ||
if [ -z "${running:-}" ]; then | ||
slept=$((loops * 2)) | ||
if [ $slept -lt $SOLR_START_WAIT ]; then | ||
@@ -2052,7 +2059,7 @@ function start_solr() { | ||
done) & | ||
spinner $! | ||
else | ||
- echo -e "NOTE: Please install lsof as this script needs it to determine if Solr is listening on port $SOLR_PORT." | ||
+ echo -e "NOTE: Please install lsof or sockstat as this script needs it to determine if Solr is listening on port $SOLR_PORT." | ||
sleep 10 | ||
SOLR_PID=$(ps auxww | grep start\.jar | awk "/\-Djetty\.port=$SOLR_PORT/"' {print $2}' | sort -r) | ||
echo -e "\nStarted Solr server on port $SOLR_PORT (pid=$SOLR_PID). Happy searching!\n" |