svn commit: r462651 - in branches/2018Q1/textproc/elasticsearch5: . files
Mark Felder
feld at FreeBSD.org
Thu Feb 22 23:04:19 UTC 2018
Author: feld
Date: Thu Feb 22 23:04:18 2018
New Revision: 462651
URL: https://svnweb.freebsd.org/changeset/ports/462651
Log:
MFH: r462650
textproc/elasticsearch5: Use native facilites for manging the process
start/stop/status will behave correctly with procname set.
This now prevents Elastic from starting when a process is already
running, stops cleanly, and also handles multiple profiles correctly:
if only some of the profile processes are running, a "service
elasticsearch start" will only start the profiles that are not detected
as running already.
All of this comes with the caveat that Elastic is slow to start up and write
its pidfile, so if you are too quick it will allow duplicate processes
to start. Here be JVM dragons.
Approved by: portmgr (with hat)
Modified:
branches/2018Q1/textproc/elasticsearch5/Makefile
branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in
Directory Properties:
branches/2018Q1/ (props changed)
Modified: branches/2018Q1/textproc/elasticsearch5/Makefile
==============================================================================
--- branches/2018Q1/textproc/elasticsearch5/Makefile Thu Feb 22 23:03:41 2018 (r462650)
+++ branches/2018Q1/textproc/elasticsearch5/Makefile Thu Feb 22 23:04:18 2018 (r462651)
@@ -3,7 +3,7 @@
PORTNAME= elasticsearch
PORTVERSION= 5.3.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= textproc java devel
MASTER_SITES= https://artifacts.elastic.co/downloads/${PORTNAME}/ \
http://mirrors.rit.edu/zi/
@@ -51,7 +51,8 @@ ELASTIC_LOGDIR= /var/log/elasticsearch
SUB_LIST= SEARCHUSER=${SEARCHUSER} \
SEARCHGROUP=${SEARCHGROUP} \
- PORTVERSION=${PORTVERSION}
+ PORTVERSION=${PORTVERSION} \
+ JAVA=${JAVA}
SUB_FILES= pkg-message
PLIST_SUB= SEARCHUSER=${SEARCHUSER} \
SEARCHGROUP=${SEARCHGROUP} \
Modified: branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in
==============================================================================
--- branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in Thu Feb 22 23:03:41 2018 (r462650)
+++ branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in Thu Feb 22 23:04:18 2018 (r462651)
@@ -36,12 +36,11 @@ load_rc_config ${name}
required_files="${elasticsearch_config}/elasticsearch.yml"
_pidprefix=/var/run/elasticsearch
pidfile=${_pidprefix}.pid
+procname=%%JAVA%%
extra_commands="console status"
console_cmd=elasticsearch_console
start_precmd=elasticsearch_precmd
-status_cmd=elasticsearch_status
-stop_cmd=elasticsearch_stop
command=%%PREFIX%%/lib/elasticsearch/bin/elasticsearch
command_args="-d --pidfile=${pidfile} -Epath.conf=${elasticsearch_config}"
@@ -59,52 +58,6 @@ elasticsearch_console()
run_rc_command "start"
}
-elasticsearch_stop()
-{
- rc_pid=$(elasticsearch_check_pidfile $pidfile)
-
- if [ -z "$rc_pid" ]; then
- [ -n "$rc_fast" ] && return 0
- echo "${name} not running? (check $pidfile)."
- return 1
- fi
-
- echo "Stopping ${name}."
- kill $sig_stop ${rc_pid}
- wait_for_pids ${rc_pid}
-}
-
-elasticsearch_status()
-{
- rc_pid=$(elasticsearch_check_pidfile $pidfile)
-
- if [ -z "$rc_pid" ]; then
- [ -n "$rc_fast" ] && return 0
- echo "${name} not running? (check $pidfile)."
- return 1
- fi
- echo "${name} is running as pid ${rc_pid}."
-}
-
-elasticsearch_check_pidfile()
-{
- _pidfile=$1
- if [ -z "$_pidfile" ]; then
- err 3 'USAGE: elasticsearch_check_pidfile pidfile'
- fi
- if [ ! -f $_pidfile ]; then
- debug "pid file ($_pidfile): not readable."
- return
- fi
- read _pid _junk < $_pidfile
- if [ -z "$_pid" ]; then
- debug "pid file ($_pidfile): no pid in file."
- return
- fi
- if [ -n "`%%PREFIX%%/bin/jps -l | grep -e "^$_pid"`" ]; then
- echo -n $_pid
- fi
-}
if [ -n "$2" ]; then
profile="$2"
if [ "x${elasticsearch_profiles}" != "x" ]; then
More information about the svn-ports-branches
mailing list