[
https://issues.apache.org/jira/browse/CASSANDRA-14325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17376785#comment-17376785
]
Alexey Zotov commented on CASSANDRA-14325:
------------------------------------------
The patch looks good to me, however, I have two small comments:
1. Even though the patch's logic seems to be working perfectly well, I feel
the same can be achieved in a bit more compact way:
{code:java}
diff --git a/bin/cassandra.in.sh b/bin/cassandra.in.sh
index 58b4dd2896..5d13cdae70 100644
--- a/bin/cassandra.in.sh
+++ b/bin/cassandra.in.sh
@@ -95,7 +95,7 @@ if [ -n "$JAVA_HOME" ]; then
fi
done
else
- JAVA=java
+ JAVA=`command -v java 2> /dev/null`
fi
if [ -z $JAVA ] ; then
{code}
If there is no _java_ executable available then _JAVA_ variable will be empty
and _if [ -z $JAVA ]_ condition will match to trigger the error.
2. I can see two more similar scripts and I believe they need to be updated as
well:
{code:java}
redhat/cassandra.in.sh
tools/bin/cassandra.in.sh
{code}
PS:
I'm not a project committer. I've just chimed in after seeing [~blerer]'s email
seeking for reviewers.
> Java executable check succeeds despite no java on PATH
> ------------------------------------------------------
>
> Key: CASSANDRA-14325
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14325
> Project: Cassandra
> Issue Type: Bug
> Components: Local/Startup and Shutdown
> Reporter: Angelo Polo
> Assignee: Angelo Polo
> Priority: Low
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
> Attachments: bin_cassandra.patch
>
>
> The check -z $JAVA on line 102 of bin/cassandra currently always succeeds if
> JAVA_HOME is not set since in this case JAVA gets set directly to 'java'. The
> error message "_Unable to find java executable. Check JAVA_HOME and PATH
> environment variables._" will never be echoed on a PATH misconfiguration. If
> java isn't on the PATH the failure will instead occur on line 95 of
> cassandra-env.sh at the java version check.
> It would be better to check consistently for the java executable in one place
> in bin/cassandra. Also we don't want users to mistakenly think they have a
> java version problem when they in fact have a PATH problem.
> See proposed patch.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]