-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Description
This issue is similar to this issue: #117
When starting the riak script as so:
[root@riak-02-staging ~]# riak start
***
Warning: please use 'svcadm enable riak' instead
***
/opt/local/sbin/riak[185]: [: argument expected
[root@riak-02-staging ~]# riak ping
pong
If I am manually starting everything works well. However, if I am starting with SMF, this will cause havoc and it will result in the process not starting properly some of the time.
I've looked at the code that is offending - bin/riak:185 :
# Make sure we have access to enough file descriptors
ULIMIT_S=$(prctl -n process.max-file-descriptor -t basic -P $$ | awk '/max-file-descriptor/ { print $3 }')
ULIMIT_H=$(prctl -n process.max-file-descriptor -t priv -P $$ | awk '/max-file-descriptor/ { print $3 }')
if [ ${ULIMIT_S} -lt ${ULIMIT_H} ]; then
echo "Trying to raise the file descriptor limit to maximum allowed."
prctl -n process.max-file-descriptor -t basic -v ${ULIMIT_H} $$ || true
fiWhat's happening is the command executing for ULIMIT_S is returning a blank string. I believe this can be easily rectified by adding quotes in the conditional as so:
# Make sure we have access to enough file descriptors
ULIMIT_S=$(prctl -n process.max-file-descriptor -t basic -P $$ | awk '/max-file-descriptor/ { print $3 }')
ULIMIT_H=$(prctl -n process.max-file-descriptor -t priv -P $$ | awk '/max-file-descriptor/ { print $3 }')
if [ "${ULIMIT_S}" -lt "${ULIMIT_H}" ]; then
echo "Trying to raise the file descriptor limit to maximum allowed."
prctl -n process.max-file-descriptor -t basic -v ${ULIMIT_H} $$ || true
fiMetadata
Metadata
Assignees
Labels
No labels