Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.2.27, 10.3.18, 10.4.8
-
None
Description
Current mysqld_multi perl script fails due to a syntax error introduced a syntax error due to use of elseif instead of perl elsif
The following one character change fixes this:
diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh
|
index b8730e2624a..748925bef0b 100644
|
--- a/scripts/mysqld_multi.sh
|
+++ b/scripts/mysqld_multi.sh
|
@@ -349,7 +349,7 @@ sub start_mysqlds()
|
$options[$j]= quote_shell_word($options[$j]);
|
$tmp.= " $options[$j]";
|
}
|
- elseif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24))
|
+ elsif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24))
|
{
|
$suffix_found= 1;
|
}
|
But even with this fixed mysqld_multi can't start any server instance, as the new code in 10.3.18 does not pass --defaults-group-suffix as the very first option to mysqld, as required.
The following should fix this for the default case, where mysqld in the [mysqld_multi] section is either given as mysqld or mysqld_multi, as expected. It will fail though if mysqld setting already contains a command line setting by itself ...
@@ -368,7 +368,6 @@ sub start_mysqlds()
|
print "wanted mysqld binary.\n\n";
|
$info_sent= 1;
|
}
|
- $com.= $tmp;
|
|
if (!$suffix_found)
|
{
|
@@ -376,6 +375,8 @@ sub start_mysqlds()
|
$com.= $groups[$i];
|
}
|
|
+ $com.= $tmp;
|
+
|
if ($opt_wsrep_new_cluster) {
|
$com.= " --wsrep-new-cluster";
|
}
|
Both problems were introduced by commit commit 137d8ed3fee14335bd707474bd49f4e43b3bf309
for MDEV-18863
Attachments
Issue Links
- causes
-
MDEV-21039 Server fails to start with mysqld_multi with mysqld_safe options
-
- Closed
-
- is caused by
-
MDEV-18863 Galera SST scripts can't read mysqld_multi's [mysqldN] option groups
-
- Closed
-
- relates to
-
MDEV-20728 /usr/sbin/mysqld: unknown variable 'defaults-group-suffix=mysqld1
-
- Closed
-
-
MDEV-20868 mysqld_multi failed to run due to a basic script syntax error
-
- Closed
-
- links to
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue is caused by |
Description |
Current mysqld_multi perl script fails due to a syntax error introduced a syntax error due to use of +elseif+ instead of perl +elsif+
The following one character change fixes this: {{noformat}} diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index b8730e2624a..748925bef0b 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -349,7 +349,7 @@ sub start_mysqlds() $options[$j]= quote_shell_word($options[$j]); $tmp.= " $options[$j]"; } - elseif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) + elsif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) { $suffix_found= 1; } {{noformat}} But even with this fixed mysqld_multi can't start any server instance, as the new code in 10.3.18 does not pass --defaults-group-suffix as the very first option to mysqld, as required. The following should fix this for the default case, where +mysqld+ in the +[mysqld_multi]+ section is either given as +mysqld+ or +mysqld_multi+, as expected. It will fail though if +mysqld+ setting already contains a command line setting by itself ... {noformat} @@ -368,7 +368,6 @@ sub start_mysqlds() print "wanted mysqld binary.\n\n"; $info_sent= 1; } - $com.= $tmp; if (!$suffix_found) { @@ -376,6 +375,8 @@ sub start_mysqlds() $com.= $groups[$i]; } + $com.= $tmp; + if ($opt_wsrep_new_cluster) { $com.= " --wsrep-new-cluster"; } {noformat} |
Current mysqld_multi perl script fails due to a syntax error introduced a syntax error due to use of +elseif+ instead of perl +elsif+
The following one character change fixes this: {{noformat}} diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index b8730e2624a..748925bef0b 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -349,7 +349,7 @@ sub start_mysqlds() $options[$j]= quote_shell_word($options[$j]); $tmp.= " $options[$j]"; } - elseif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) + elsif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) { $suffix_found= 1; } {{noformat}} But even with this fixed mysqld_multi can't start any server instance, as the new code in 10.3.18 does not pass --defaults-group-suffix as the very first option to mysqld, as required. The following should fix this for the default case, where +mysqld+ in the +[mysqld_multi]+ section is either given as +mysqld+ or +mysqld_multi+, as expected. It will fail though if +mysqld+ setting already contains a command line setting by itself ... {noformat} @@ -368,7 +368,6 @@ sub start_mysqlds() print "wanted mysqld binary.\n\n"; $info_sent= 1; } - $com.= $tmp; if (!$suffix_found) { @@ -376,6 +375,8 @@ sub start_mysqlds() $com.= $groups[$i]; } + $com.= $tmp; + if ($opt_wsrep_new_cluster) { $com.= " --wsrep-new-cluster"; } {noformat} Both problems were introduced by commit commit 137d8ed3fee14335bd707474bd49f4e43b3bf309 for |
Summary | Syntax error in mysqld_multi perl script | Syntax error, and option put in wrong place, in mysqld_multi perl script |
Affects Version/s | 10.4.8 [ 23721 ] |
Description |
Current mysqld_multi perl script fails due to a syntax error introduced a syntax error due to use of +elseif+ instead of perl +elsif+
The following one character change fixes this: {{noformat}} diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index b8730e2624a..748925bef0b 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -349,7 +349,7 @@ sub start_mysqlds() $options[$j]= quote_shell_word($options[$j]); $tmp.= " $options[$j]"; } - elseif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) + elsif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) { $suffix_found= 1; } {{noformat}} But even with this fixed mysqld_multi can't start any server instance, as the new code in 10.3.18 does not pass --defaults-group-suffix as the very first option to mysqld, as required. The following should fix this for the default case, where +mysqld+ in the +[mysqld_multi]+ section is either given as +mysqld+ or +mysqld_multi+, as expected. It will fail though if +mysqld+ setting already contains a command line setting by itself ... {noformat} @@ -368,7 +368,6 @@ sub start_mysqlds() print "wanted mysqld binary.\n\n"; $info_sent= 1; } - $com.= $tmp; if (!$suffix_found) { @@ -376,6 +375,8 @@ sub start_mysqlds() $com.= $groups[$i]; } + $com.= $tmp; + if ($opt_wsrep_new_cluster) { $com.= " --wsrep-new-cluster"; } {noformat} Both problems were introduced by commit commit 137d8ed3fee14335bd707474bd49f4e43b3bf309 for |
Current mysqld_multi perl script fails due to a syntax error introduced a syntax error due to use of +elseif+ instead of perl +elsif+
The following one character change fixes this: {noformat} diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index b8730e2624a..748925bef0b 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -349,7 +349,7 @@ sub start_mysqlds() $options[$j]= quote_shell_word($options[$j]); $tmp.= " $options[$j]"; } - elseif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) + elsif ("--defaults-group-suffix=" eq substr($options[$j], 0, 24)) { $suffix_found= 1; } {noformat} But even with this fixed mysqld_multi can't start any server instance, as the new code in 10.3.18 does not pass --defaults-group-suffix as the very first option to mysqld, as required. The following should fix this for the default case, where +mysqld+ in the +[mysqld_multi]+ section is either given as +mysqld+ or +mysqld_multi+, as expected. It will fail though if +mysqld+ setting already contains a command line setting by itself ... {noformat} @@ -368,7 +368,6 @@ sub start_mysqlds() print "wanted mysqld binary.\n\n"; $info_sent= 1; } - $com.= $tmp; if (!$suffix_found) { @@ -376,6 +375,8 @@ sub start_mysqlds() $com.= $groups[$i]; } + $com.= $tmp; + if ($opt_wsrep_new_cluster) { $com.= " --wsrep-new-cluster"; } {noformat} Both problems were introduced by commit commit 137d8ed3fee14335bd707474bd49f4e43b3bf309 for |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Assignee | Julius Goryavsky [ sysprg ] |
Fix Version/s | 10.1 [ 16100 ] | |
Fix Version/s | 10.2 [ 14601 ] |
Priority | Critical [ 2 ] | Blocker [ 1 ] |
Affects Version/s | 10.2.27 [ 23717 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Fix Version/s | 10.1.45 [ 23913 ] | |
Fix Version/s | 10.2.29 [ 23911 ] | |
Fix Version/s | 10.3.20 [ 23909 ] | |
Fix Version/s | 10.4.10 [ 23907 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.1 [ 16100 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Link |
This issue relates to |
Attachment | screenshot-1.png [ 49086 ] |
Link |
This issue relates to |
Remote Link | This issue links to "PR #1390 (Web Link)" [ 29302 ] |
Remote Link | This issue links to "PR #1388 (Web Link)" [ 29303 ] |
Fix Version/s | 10.1.42 [ 23407 ] | |
Fix Version/s | 10.2.28 [ 23910 ] | |
Fix Version/s | 10.3.19 [ 23908 ] | |
Fix Version/s | 10.4.9 [ 23906 ] | |
Fix Version/s | 10.4.10 [ 23907 ] | |
Fix Version/s | 10.3.20 [ 23909 ] | |
Fix Version/s | 10.2.29 [ 23911 ] | |
Fix Version/s | 10.1.45 [ 23913 ] |
Link |
This issue causes |
Workflow | MariaDB v3 [ 99731 ] | MariaDB v4 [ 156758 ] |
Zendesk Related Tickets | 185982 107273 |
Fixed, https://github.com/MariaDB/server/commit/2fba8f72a8ab560b87578830fafb51bd26c809ab