This is an automated email from the ASF dual-hosted git repository.

janhoy pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_9x by this push:
     new 69ab812a7fb SOLR-16644: Only warn entropy on Linux (#2000)
69ab812a7fb is described below

commit 69ab812a7fbe2c9bd6545048c56a1b39fb46b078
Author: Jan Høydahl <[email protected]>
AuthorDate: Wed Oct 11 00:28:23 2023 +0200

    SOLR-16644: Only warn entropy on Linux (#2000)
    
    (cherry picked from commit 4e9b330d9e7adb8eb866df8e148be21651eb6255)
---
 solr/bin/solr | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/solr/bin/solr b/solr/bin/solr
index d95c61d1b46..116365ac1de 100644
--- a/solr/bin/solr
+++ b/solr/bin/solr
@@ -2389,26 +2389,29 @@ function start_solr() {
     # shellcheck disable=SC2086
     nohup "$JAVA" "${SOLR_START_OPTS[@]}" $SOLR_ADDL_ARGS 
-Dsolr.log.muteconsole \
         -jar start.jar "${SOLR_JETTY_CONFIG[@]}" $SOLR_JETTY_ADDL_CONFIG \
-       1>"$SOLR_LOGS_DIR/solr-$SOLR_PORT-console.log" 2>&1 & echo $! > 
"$SOLR_PID_DIR/solr-$SOLR_PORT.pid"
+        1>"$SOLR_LOGS_DIR/solr-$SOLR_PORT-console.log" 2>&1 & echo $! > 
"$SOLR_PID_DIR/solr-$SOLR_PORT.pid"
 
-    # Get the current entropy available
-    entropy_avail=$(cat /proc/sys/kernel/random/entropy_avail)
+    # Check and warn about low entropy on Linux systems
+    if [ -e /proc/sys/kernel/random ]; then
+      # Get the current entropy available
+      entropy_avail=$(cat /proc/sys/kernel/random/entropy_avail)
 
-    # Get the pool size
-    pool_size=$(cat /proc/sys/kernel/random/poolsize)
+      # Get the pool size
+      pool_size=$(cat /proc/sys/kernel/random/poolsize)
 
-    # Check if entropy is available and pool size is non-zero
-    if [[ $entropy_avail -gt 0 && $pool_size -ne 0 ]]; then
+      # Check if entropy is available and pool size is non-zero
+      if [[ $entropy_avail -gt 0 && $pool_size -ne 0 ]]; then
         # Compute the ratio of entropy available to pool size
         ratio=$(awk -v ea="$entropy_avail" -v ps="$pool_size" 'BEGIN {print 
(ea/ps)*100}')
-        
+
         # Check if the ratio is less than 25%
         if (( $(echo "$ratio < 25" | bc -l) )); then
           echo "Warning: Available entropy is low. As a result, use of the 
UUIDField, SSL, or any other features that require"
           echo "RNG might not work properly. To check for the amount of 
available entropy, use 'cat /proc/sys/kernel/random/entropy_avail'."
         fi
-    else
+      else
         echo "Error: Either no entropy is available or the pool size is zero."
+      fi
     fi
 
     # no lsof on cygwin though

Reply via email to