Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL)
-
None
Description
If I start the server with --skip-grant-tables, then CREATE EVENT doesn't work:
The error message is extremely misleading: "Cannot proceed, because event scheduler is disabled", even if (as in this case) I've explicitly set EVENT_SCHEDULER=ON.
$ ./mariadbd --version
|
./mariadbd Ver 10.6.10-MariaDB for Linux on x86_64
|
|
$ ./mariadbd --no-defaults --socket=$PATH --skip-grant-tables --skip-networking --datadir=$DATADIR --event-scheduler=ON &
|
...
|
|
$ ./mariadb --no-defaults --socket=$PATH \
|
-e 'select @@global.event_scheduler; create event if not exists mysql.test on schedule at current_timestamp + interval 1 minute do select 1;'
|
+--------------------------+
|
| @@global.event_scheduler |
|
+--------------------------+
|
| ON |
|
+--------------------------+
|
ERROR 1577 (HY000) at line 1: Cannot proceed, because event scheduler is disabled
|
This misleading message is a consequence of the fix for MDEV-19262, which changed the previous error message, even though it was more accurate in this case:
From https://github.com/mariadb/server/commit/6c9a6bad4fe90c8bfcfe6dbf46835a39edc95c6f by wlad:
--- a/sql/share/errmsg-utf8.txt
|
+++ b/sql/share/errmsg-utf8.txt
|
@@ -5974,2 +5974,2 @@
|
ER_EVENTS_DB_ERROR
|
- eng "Cannot proceed because system tables used by Event Scheduler were found damaged at server start"
|
+ eng "Cannot proceed, because event scheduler is disabled" |
Ideas:
- There should be ≥2 error messages that actually distinguish the distinct cases:
- Cannot proceed, because event scheduler is disabled (should only be used when EVENT_SCHEDULER=DISABLED, obviously)
- Cannot proceed, because grant tables are disabled ((this case)
- Anything else?
- Is there any reason the event scheduler can't/shouldn't work with grant tables disabled?
- The event scheduler docs say nothing about not working with --skip-grant-tables.
Attachments
Issue Links
- is caused by
-
MDEV-19262 Server error message is unclear if event is created and event_scheduler = DISABLED
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
If I start the server with {{--skip-grant-tables}}, then {{CREATE EVENT}} doesn't work:
{color:red}The error message is extremely misleading: "Cannot proceed, because event scheduler is disabled"{color}, even if (as in this case) I've explicitly set *{{EVENT_SCHEDULER=ON}}*. {noformat} $ ./mariadbd --version ./mariadbd Ver 10.6.10-MariaDB for Linux on x86_64 $ ./mariadbd --no-defaults --socket=$PATH --skip-grant-tables --skip-networking --datadir=$DATADIR --event-scheduler=ON & ... $ ./mariadb --no-defaults --socket=$PATH \ -e 'select @@global.event_scheduler; create event if not exists mysql.test on schedule at current_timestamp + interval 1 minute do select 1;' +--------------------------+ | @@global.event_scheduler | +--------------------------+ | ON | +--------------------------+ ERROR 1577 (HY000) at line 1: Cannot proceed, because event scheduler is disabled {noformat} This misleading message is a consequence of the fix for {code:diff} --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -5974,2 +5974,2 @@ ER_EVENTS_DB_ERROR - eng "Cannot proceed because system tables used by Event Scheduler were found damaged at server start" + eng "Cannot proceed, because event scheduler is disabled" {code} Ideas: # There should be *≥2* error messages that actually distinguish the distinct cases: #* {{Cannot proceed, because event scheduler is disabled}} (should only be used when {{EVENT_SCHEDULER=DISABLED}}, obviously) #* {{Cannot proceed, because grant tables are disabled}} ((this case) #* Anything else? # Is there any reason the event scheduler can't/shouldn't work with grant tables disabled? |
If I start the server with {{--skip-grant-tables}}, then {{CREATE EVENT}} doesn't work:
{color:red}The error message is extremely misleading: "Cannot proceed, because event scheduler is disabled"{color}, even if (as in this case) I've explicitly set *{{EVENT_SCHEDULER=ON}}*. {noformat} $ ./mariadbd --version ./mariadbd Ver 10.6.10-MariaDB for Linux on x86_64 $ ./mariadbd --no-defaults --socket=$PATH --skip-grant-tables --skip-networking --datadir=$DATADIR --event-scheduler=ON & ... $ ./mariadb --no-defaults --socket=$PATH \ -e 'select @@global.event_scheduler; create event if not exists mysql.test on schedule at current_timestamp + interval 1 minute do select 1;' +--------------------------+ | @@global.event_scheduler | +--------------------------+ | ON | +--------------------------+ ERROR 1577 (HY000) at line 1: Cannot proceed, because event scheduler is disabled {noformat} This misleading message is a consequence of the fix for {code:diff} --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -5974,2 +5974,2 @@ ER_EVENTS_DB_ERROR - eng "Cannot proceed because system tables used by Event Scheduler were found damaged at server start" + eng "Cannot proceed, because event scheduler is disabled" {code} Ideas: # There should be *≥2* error messages that actually distinguish the distinct cases: #* {{Cannot proceed, because event scheduler is disabled}} (should only be used when {{EVENT_SCHEDULER=DISABLED}}, obviously) #* {{Cannot proceed, because grant tables are disabled}} ((this case) #* Anything else? # Is there any reason the event scheduler can't/shouldn't work with grant tables disabled? #* The [event scheduler docs|https://mariadb.com/kb/en/event-scheduler] say nothing about not working with {{--skip-grant-tables}}. |
Description |
If I start the server with {{--skip-grant-tables}}, then {{CREATE EVENT}} doesn't work:
{color:red}The error message is extremely misleading: "Cannot proceed, because event scheduler is disabled"{color}, even if (as in this case) I've explicitly set *{{EVENT_SCHEDULER=ON}}*. {noformat} $ ./mariadbd --version ./mariadbd Ver 10.6.10-MariaDB for Linux on x86_64 $ ./mariadbd --no-defaults --socket=$PATH --skip-grant-tables --skip-networking --datadir=$DATADIR --event-scheduler=ON & ... $ ./mariadb --no-defaults --socket=$PATH \ -e 'select @@global.event_scheduler; create event if not exists mysql.test on schedule at current_timestamp + interval 1 minute do select 1;' +--------------------------+ | @@global.event_scheduler | +--------------------------+ | ON | +--------------------------+ ERROR 1577 (HY000) at line 1: Cannot proceed, because event scheduler is disabled {noformat} This misleading message is a consequence of the fix for {code:diff} --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -5974,2 +5974,2 @@ ER_EVENTS_DB_ERROR - eng "Cannot proceed because system tables used by Event Scheduler were found damaged at server start" + eng "Cannot proceed, because event scheduler is disabled" {code} Ideas: # There should be *≥2* error messages that actually distinguish the distinct cases: #* {{Cannot proceed, because event scheduler is disabled}} (should only be used when {{EVENT_SCHEDULER=DISABLED}}, obviously) #* {{Cannot proceed, because grant tables are disabled}} ((this case) #* Anything else? # Is there any reason the event scheduler can't/shouldn't work with grant tables disabled? #* The [event scheduler docs|https://mariadb.com/kb/en/event-scheduler] say nothing about not working with {{--skip-grant-tables}}. |
If I start the server with {{--skip-grant-tables}}, then {{CREATE EVENT}} doesn't work:
{color:red}The error message is extremely misleading: "Cannot proceed, because event scheduler is disabled"{color}, even if (as in this case) I've explicitly set *{{EVENT_SCHEDULER=ON}}*. {noformat} $ ./mariadbd --version ./mariadbd Ver 10.6.10-MariaDB for Linux on x86_64 $ ./mariadbd --no-defaults --socket=$PATH --skip-grant-tables --skip-networking --datadir=$DATADIR --event-scheduler=ON & ... $ ./mariadb --no-defaults --socket=$PATH \ -e 'select @@global.event_scheduler; create event if not exists mysql.test on schedule at current_timestamp + interval 1 minute do select 1;' +--------------------------+ | @@global.event_scheduler | +--------------------------+ | ON | +--------------------------+ ERROR 1577 (HY000) at line 1: Cannot proceed, because event scheduler is disabled {noformat} This misleading message is a consequence of the fix for From https://github.com/mariadb/server/commit/6c9a6bad4fe90c8bfcfe6dbf46835a39edc95c6f by [~wlad]: {code:diff} --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -5974,2 +5974,2 @@ ER_EVENTS_DB_ERROR - eng "Cannot proceed because system tables used by Event Scheduler were found damaged at server start" + eng "Cannot proceed, because event scheduler is disabled" {code} Ideas: # There should be *≥2* error messages that actually distinguish the distinct cases: #* {{Cannot proceed, because event scheduler is disabled}} (should only be used when {{EVENT_SCHEDULER=DISABLED}}, obviously) #* {{Cannot proceed, because grant tables are disabled}} ((this case) #* Anything else? # Is there any reason the event scheduler can't/shouldn't work with grant tables disabled? #* The [event scheduler docs|https://mariadb.com/kb/en/event-scheduler] say nothing about not working with {{--skip-grant-tables}}. |
Link |
This issue is caused by |
Affects Version/s | 10.3 [ 22126 ] | |
Affects Version/s | 10.4 [ 22408 ] | |
Affects Version/s | 10.5 [ 23123 ] | |
Affects Version/s | 10.6 [ 24028 ] | |
Affects Version/s | 10.7 [ 24805 ] | |
Affects Version/s | 10.8 [ 26121 ] | |
Affects Version/s | 10.9 [ 26905 ] |
Assignee | Daniel Black [ danblack ] |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Fix Version/s | 10.8 [ 26121 ] | |
Fix Version/s | 10.9 [ 26905 ] |
Description |
If I start the server with {{--skip-grant-tables}}, then {{CREATE EVENT}} doesn't work:
{color:red}The error message is extremely misleading: "Cannot proceed, because event scheduler is disabled"{color}, even if (as in this case) I've explicitly set *{{EVENT_SCHEDULER=ON}}*. {noformat} $ ./mariadbd --version ./mariadbd Ver 10.6.10-MariaDB for Linux on x86_64 $ ./mariadbd --no-defaults --socket=$PATH --skip-grant-tables --skip-networking --datadir=$DATADIR --event-scheduler=ON & ... $ ./mariadb --no-defaults --socket=$PATH \ -e 'select @@global.event_scheduler; create event if not exists mysql.test on schedule at current_timestamp + interval 1 minute do select 1;' +--------------------------+ | @@global.event_scheduler | +--------------------------+ | ON | +--------------------------+ ERROR 1577 (HY000) at line 1: Cannot proceed, because event scheduler is disabled {noformat} This misleading message is a consequence of the fix for From https://github.com/mariadb/server/commit/6c9a6bad4fe90c8bfcfe6dbf46835a39edc95c6f by [~wlad]: {code:diff} --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -5974,2 +5974,2 @@ ER_EVENTS_DB_ERROR - eng "Cannot proceed because system tables used by Event Scheduler were found damaged at server start" + eng "Cannot proceed, because event scheduler is disabled" {code} Ideas: # There should be *≥2* error messages that actually distinguish the distinct cases: #* {{Cannot proceed, because event scheduler is disabled}} (should only be used when {{EVENT_SCHEDULER=DISABLED}}, obviously) #* {{Cannot proceed, because grant tables are disabled}} ((this case) #* Anything else? # Is there any reason the event scheduler can't/shouldn't work with grant tables disabled? #* The [event scheduler docs|https://mariadb.com/kb/en/event-scheduler] say nothing about not working with {{--skip-grant-tables}}. |
If I start the server with {{--skip-grant-tables}}, then {{CREATE EVENT}} doesn't work:
The error message is extremely misleading: "Cannot proceed, because event scheduler is disabled", even if (as in this case) I've explicitly set *{{EVENT_SCHEDULER=ON}}*. {noformat} $ ./mariadbd --version ./mariadbd Ver 10.6.10-MariaDB for Linux on x86_64 $ ./mariadbd --no-defaults --socket=$PATH --skip-grant-tables --skip-networking --datadir=$DATADIR --event-scheduler=ON & ... $ ./mariadb --no-defaults --socket=$PATH \ -e 'select @@global.event_scheduler; create event if not exists mysql.test on schedule at current_timestamp + interval 1 minute do select 1;' +--------------------------+ | @@global.event_scheduler | +--------------------------+ | ON | +--------------------------+ ERROR 1577 (HY000) at line 1: Cannot proceed, because event scheduler is disabled {noformat} This misleading message is a consequence of the fix for From https://github.com/mariadb/server/commit/6c9a6bad4fe90c8bfcfe6dbf46835a39edc95c6f by [~wlad]: {code:diff} --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -5974,2 +5974,2 @@ ER_EVENTS_DB_ERROR - eng "Cannot proceed because system tables used by Event Scheduler were found damaged at server start" + eng "Cannot proceed, because event scheduler is disabled" {code} Ideas: # There should be *≥2* error messages that actually distinguish the distinct cases: #* {{Cannot proceed, because event scheduler is disabled}} (should only be used when {{EVENT_SCHEDULER=DISABLED}}, obviously) #* {{Cannot proceed, because grant tables are disabled}} ((this case) #* Anything else? # Is there any reason the event scheduler can't/shouldn't work with grant tables disabled? #* The [event scheduler docs|https://mariadb.com/kb/en/event-scheduler] say nothing about not working with {{--skip-grant-tables}}. |
Fix Version/s | 10.7 [ 24805 ] |
issue.field.resolutiondate | 2023-04-27 05:31:32.0 | 2023-04-27 05:31:32.499 |
Component/s | Events [ 10102 ] | |
Fix Version/s | 11.1.1 [ 28704 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.8 [ 26121 ] | |
Fix Version/s | 10.9 [ 26905 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Attachment | screenshot-1.png [ 70830 ] |
Attachment | screenshot-2.png [ 70831 ] |
I am working on a PR for this.