Skip to content

Commit 9eba0e3

Browse files
jefftLagoja
andauthored
Expose the real mysqld exit code to process-compose, so it can report any errors. Fixes #2518 (#2519)
## Summary The old code used shell '&' to background mysqld, then captured its pid with MYSQL_PID=$!, in doing so obscuring the mysqld exit code. I can't see any sane way of both propagating the exit code *and* setting MYSQL_PID. I also can't see any point in MYSQL_PID, given that process-compose is a TUI and the pid is readily available in $MYSQL_PID_FILE. So to fix the bug, I've made mysqld no longer backgrounded (hence `is_daemon` becomes 'false'). ## How was it tested? Testing is as in the description of #2518: set up mysqld to fail (e.g. claim port 3306) and `devbox services up`. The mysqld process *ought* to go into a failure loop, toggling between status 'Restarting' and 'Running' and setting exit code 1. (It's not related to this patch, but I suggest also limiting these infinite restarts by setting `max_restarts`, e.g.: ``` availability: restart: "always" max_restarts: 5 ``` ) --------- Co-authored-by: John Lago <[email protected]>
1 parent 25ea082 commit 9eba0e3

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

plugins/mariadb/process-compose.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ version: "0.5"
22

33
processes:
44
mariadb:
5-
command: "mysqld --log-error=$MYSQL_HOME/mysql.log & MYSQL_PID=$! && echo 'Starting mysqld... check mariadb_logs for details'"
6-
is_daemon: true
5+
command: "echo 'Starting mysqld... check mariadb_logs for details'; mysqld --log-error=$MYSQL_HOME/mysql.log"
6+
is_daemon: false
77
shutdown:
88
command: "mysqladmin -u root shutdown"
99
availability:

plugins/mysql/process-compose.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ version: "0.5"
22

33
processes:
44
mysql:
5-
command: "mysqld --log-error=$MYSQL_HOME/mysql.log & MYSQL_PID=$! && echo 'Starting mysqld... check mysql_logs for details'"
6-
is_daemon: true
5+
command: "echo 'Starting mysqld... check mysql_logs for details'; mysqld --log-error=$MYSQL_HOME/mysql.log"
6+
is_daemon: false
77
shutdown:
88
command: "mysqladmin -u root shutdown"
99
availability:

0 commit comments

Comments
 (0)