From 00f202b22a2b4fcf979107befeda460d2efa30cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Fri, 9 Dec 2022 13:56:43 +0200 Subject: [PATCH] MDEV-30133 MariaDB startup does not validate plugin-wsrep-provider when wsrep_mode=off or wsrep_provider is not set Refuse to start if WSREP_ON=OFF or wsrep_provider is not set or it is set to 'none' if plugin-wsrep-provider is used. --- .../wsrep/r/wsrep_provider_plugin.result | 5 +- .../r/wsrep_provider_plugin_defaults.result | 128 ++++++++++++------ sql/wsrep_plugin.cc | 9 ++ 3 files changed, 98 insertions(+), 44 deletions(-) diff --git a/mysql-test/suite/wsrep/r/wsrep_provider_plugin.result b/mysql-test/suite/wsrep/r/wsrep_provider_plugin.result index 3c2a910afa0..a186d9cf264 100644 --- a/mysql-test/suite/wsrep/r/wsrep_provider_plugin.result +++ b/mysql-test/suite/wsrep/r/wsrep_provider_plugin.result @@ -4,7 +4,7 @@ SHOW VARIABLES LIKE 'wsrep_provider_repl_max_ws_size'; Variable_name Value wsrep_provider_repl_max_ws_size 1 INSERT INTO t1 VALUES (1); -ERROR HY000: Got error 5 "Input/output error" during COMMIT +ERROR HY000: Maximum writeset size exceeded SET GLOBAL wsrep_provider_repl_max_ws_size=DEFAULT; SHOW VARIABLES LIKE 'wsrep_provider_repl_max_ws_size'; Variable_name Value @@ -18,3 +18,6 @@ ERROR HY000: Variable 'wsrep_provider' is a read only variable DROP TABLE t1; CALL mtr.add_suppression("transaction size limit"); CALL mtr.add_suppression("rbr write fail"); +SELECT VARIABLE_NAME,READ_ONLY FROM information_schema.system_variables where VARIABLE_NAME like '%wsrep_provider_options%'; +VARIABLE_NAME READ_ONLY +WSREP_PROVIDER_OPTIONS YES diff --git a/mysql-test/suite/wsrep/r/wsrep_provider_plugin_defaults.result b/mysql-test/suite/wsrep/r/wsrep_provider_plugin_defaults.result index 8d6bdbc096f..9be32ac2308 100644 --- a/mysql-test/suite/wsrep/r/wsrep_provider_plugin_defaults.result +++ b/mysql-test/suite/wsrep/r/wsrep_provider_plugin_defaults.result @@ -1,6 +1,6 @@ SELECT COUNT(*) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_provider%'; COUNT(*) -93 +90 SELECT * FROM INFORMATION_SCHEMA.SYSTEM_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_provider_%' AND VARIABLE_NAME NOT IN ( 'wsrep_provider', @@ -24,6 +24,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_CERT_LOG_CONFLICTS SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -38,6 +39,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_CERT_OPTIMISTIC_PA SESSION_VALUE NULL GLOBAL_VALUE ON @@ -52,20 +54,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED -VARIABLE_NAME WSREP_PROVIDER_DBUG -SESSION_VALUE NULL -GLOBAL_VALUE -GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE -VARIABLE_SCOPE GLOBAL -VARIABLE_TYPE VARCHAR -VARIABLE_COMMENT Wsrep provider option -NUMERIC_MIN_VALUE NULL -NUMERIC_MAX_VALUE NULL -NUMERIC_BLOCK_SIZE NULL -ENUM_VALUE_LIST NULL -READ_ONLY NO -COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_DEBUG SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -80,6 +69,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_AUTO_EVICT SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -94,6 +84,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_CAUSAL_KEEPALIVE_PERIOD SESSION_VALUE NULL GLOBAL_VALUE PT1S @@ -108,6 +99,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_DEBUG_LOG_MASK SESSION_VALUE NULL GLOBAL_VALUE 0x1 @@ -122,6 +114,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_DELAYED_KEEP_PERIOD SESSION_VALUE NULL GLOBAL_VALUE PT30S @@ -136,6 +129,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_DELAY_MARGIN SESSION_VALUE NULL GLOBAL_VALUE PT1S @@ -150,6 +144,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_EVICT SESSION_VALUE NULL GLOBAL_VALUE @@ -164,6 +159,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_INACTIVE_CHECK_PERIOD SESSION_VALUE NULL GLOBAL_VALUE PT0.5S @@ -178,6 +174,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_INACTIVE_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE PT15S @@ -192,6 +189,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_INFO_LOG_MASK SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -206,6 +204,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_INSTALL_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE PT7.5S @@ -220,6 +219,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_JOIN_RETRANS_PERIOD SESSION_VALUE NULL GLOBAL_VALUE PT1S @@ -234,6 +234,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_KEEPALIVE_PERIOD SESSION_VALUE NULL GLOBAL_VALUE PT1S @@ -248,6 +249,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_MAX_INSTALL_TIMEOUTS SESSION_VALUE NULL GLOBAL_VALUE 3 @@ -262,6 +264,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_SEND_WINDOW SESSION_VALUE NULL GLOBAL_VALUE 4 @@ -276,6 +279,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_STATS_REPORT_PERIOD SESSION_VALUE NULL GLOBAL_VALUE PT1M @@ -290,6 +294,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_SUSPECT_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE PT5S @@ -304,6 +309,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_USER_SEND_WINDOW SESSION_VALUE NULL GLOBAL_VALUE 2 @@ -318,6 +324,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_USE_AGGREGATE SESSION_VALUE NULL GLOBAL_VALUE ON @@ -332,6 +339,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_VERSION SESSION_VALUE NULL GLOBAL_VALUE 1 @@ -346,6 +354,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_EVS_VIEW_FORGET_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE P1D @@ -360,20 +369,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED -VARIABLE_NAME WSREP_PROVIDER_GCACHE_DEBUG -SESSION_VALUE NULL -GLOBAL_VALUE 0 -GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE 0 -VARIABLE_SCOPE GLOBAL -VARIABLE_TYPE VARCHAR -VARIABLE_COMMENT Wsrep provider option -NUMERIC_MIN_VALUE NULL -NUMERIC_MAX_VALUE NULL -NUMERIC_BLOCK_SIZE NULL -ENUM_VALUE_LIST NULL -READ_ONLY NO -COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCACHE_KEEP_PAGES_SIZE SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -388,6 +384,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCACHE_KEEP_PLAINTEXT_SIZE SESSION_VALUE NULL GLOBAL_VALUE 134217728 @@ -402,6 +399,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCACHE_MEM_SIZE SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -416,6 +414,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCACHE_NAME SESSION_VALUE NULL GLOBAL_VALUE galera.cache @@ -430,6 +429,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCACHE_PAGE_SIZE SESSION_VALUE NULL GLOBAL_VALUE 134217728 @@ -444,6 +444,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCACHE_RECOVER SESSION_VALUE NULL GLOBAL_VALUE ON @@ -458,6 +459,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCACHE_SIZE SESSION_VALUE NULL GLOBAL_VALUE 10485760 @@ -472,6 +474,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCOMM_THREAD_PRIO SESSION_VALUE NULL GLOBAL_VALUE @@ -486,6 +489,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_FC_DEBUG SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -500,6 +504,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_FC_FACTOR SESSION_VALUE NULL GLOBAL_VALUE 1.000000 @@ -514,6 +519,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_FC_LIMIT SESSION_VALUE NULL GLOBAL_VALUE 16 @@ -528,6 +534,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_FC_MASTER_SLAVE SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -542,6 +549,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_FC_SINGLE_PRIMARY SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -556,6 +564,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_MAX_PACKET_SIZE SESSION_VALUE NULL GLOBAL_VALUE 64500 @@ -570,6 +579,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_MAX_THROTTLE SESSION_VALUE NULL GLOBAL_VALUE 0.250000 @@ -584,6 +594,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_RECV_Q_HARD_LIMIT SESSION_VALUE NULL GLOBAL_VALUE 9223372036854775807 @@ -598,6 +609,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_RECV_Q_SOFT_LIMIT SESSION_VALUE NULL GLOBAL_VALUE 0.250000 @@ -612,6 +624,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_SYNC_DONOR SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -626,6 +639,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GCS_VOTE_POLICY SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -640,6 +654,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_GROUP SESSION_VALUE NULL GLOBAL_VALUE @@ -654,6 +669,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_MCAST_ADDR SESSION_VALUE NULL GLOBAL_VALUE @@ -668,6 +684,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_MCAST_TTL SESSION_VALUE NULL GLOBAL_VALUE 1 @@ -682,6 +699,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_PEER_ADDR SESSION_VALUE NULL GLOBAL_VALUE @@ -696,6 +714,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_PEER_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE PT3S @@ -710,6 +729,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_SEGMENT SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -724,6 +744,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_TIME_WAIT SESSION_VALUE NULL GLOBAL_VALUE PT5S @@ -738,6 +759,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_GMCAST_VERSION SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -752,6 +774,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_IST_RECV_ADDR SESSION_VALUE NULL GLOBAL_VALUE 127.0.0.1 @@ -766,6 +789,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_IST_RECV_BIND SESSION_VALUE NULL GLOBAL_VALUE @@ -780,6 +804,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_ANNOUNCE_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE PT3S @@ -794,6 +819,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_BOOTSTRAP SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -808,6 +834,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_CHECKSUM SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -822,6 +849,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_IGNORE_QUORUM SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -836,6 +864,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_IGNORE_SB SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -850,6 +879,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_LINGER SESSION_VALUE NULL GLOBAL_VALUE PT20S @@ -864,6 +894,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_NPVO SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -878,6 +909,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_RECOVERY SESSION_VALUE NULL GLOBAL_VALUE ON @@ -892,6 +924,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_VERSION SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -906,6 +939,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_WAIT_PRIM SESSION_VALUE NULL GLOBAL_VALUE ON @@ -920,6 +954,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_WAIT_PRIM_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE PT30S @@ -934,6 +969,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PC_WEIGHT SESSION_VALUE NULL GLOBAL_VALUE 1 @@ -948,6 +984,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PROTONET_BACKEND SESSION_VALUE NULL GLOBAL_VALUE asio @@ -962,6 +999,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_PROTONET_VERSION SESSION_VALUE NULL GLOBAL_VALUE 0 @@ -976,6 +1014,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_REPL_CAUSAL_READ_TIMEOUT SESSION_VALUE NULL GLOBAL_VALUE PT30S @@ -990,6 +1029,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_REPL_COMMIT_ORDER SESSION_VALUE NULL GLOBAL_VALUE 3 @@ -1004,6 +1044,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_REPL_KEY_FORMAT SESSION_VALUE NULL GLOBAL_VALUE FLAT8 @@ -1018,6 +1059,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_REPL_MAX_WS_SIZE SESSION_VALUE NULL GLOBAL_VALUE 2147483647 @@ -1032,6 +1074,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_REPL_PROTO_MAX SESSION_VALUE NULL GLOBAL_VALUE 10 @@ -1046,20 +1089,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED -VARIABLE_NAME WSREP_PROVIDER_SIGNAL -SESSION_VALUE NULL -GLOBAL_VALUE -GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE -VARIABLE_SCOPE GLOBAL -VARIABLE_TYPE VARCHAR -VARIABLE_COMMENT Wsrep provider option -NUMERIC_MIN_VALUE NULL -NUMERIC_MAX_VALUE NULL -NUMERIC_BLOCK_SIZE NULL -ENUM_VALUE_LIST NULL -READ_ONLY NO -COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_CHECKSUM SESSION_VALUE NULL GLOBAL_VALUE 2 @@ -1074,6 +1104,7 @@ NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_DYNAMIC SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -1088,6 +1119,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_RECV_BUF_SIZE SESSION_VALUE NULL GLOBAL_VALUE auto @@ -1102,6 +1134,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SEND_BUF_SIZE SESSION_VALUE NULL GLOBAL_VALUE auto @@ -1116,6 +1149,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -1130,6 +1164,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL_CA SESSION_VALUE NULL GLOBAL_VALUE @@ -1144,6 +1179,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL_CERT SESSION_VALUE NULL GLOBAL_VALUE @@ -1158,6 +1194,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL_CIPHER SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -1172,6 +1209,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL_COMPRESSION SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -1186,6 +1224,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL_KEY SESSION_VALUE NULL GLOBAL_VALUE @@ -1200,6 +1239,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL_PASSWORD_FILE SESSION_VALUE NULL GLOBAL_VALUE @@ -1214,6 +1254,7 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST NULL READ_ONLY YES COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL VARIABLE_NAME WSREP_PROVIDER_SOCKET_SSL_RELOAD SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -1228,3 +1269,4 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED +GLOBAL_VALUE_PATH NULL diff --git a/sql/wsrep_plugin.cc b/sql/wsrep_plugin.cc index 54187dfdc23..07371891841 100644 --- a/sql/wsrep_plugin.cc +++ b/sql/wsrep_plugin.cc @@ -276,6 +276,15 @@ void wsrep_destroy_sysvar(struct st_mysql_sys_var *var) static int wsrep_provider_plugin_init(void *p) { WSREP_DEBUG("wsrep_provider_plugin_init()"); + + if (!WSREP_ON_ || !wsrep_provider || + (wsrep_provider && !strncasecmp(wsrep_provider, WSREP_NONE, FN_REFLEN))) + { + WSREP_ERROR("plugin-wsrep-provider can't be enabled if wsrep_on==OFF or wsrep_provider is unset or set to 'none'"); + my_message(ER_WRONG_ARGUMENTS, "plugin-wsrep-provider can't be enabled if wsrep_on==OFF or wsrep_provider is unset or set to 'none'", MYF(0)); + return 1; + } + provider_plugin_enabled= true; // When plugin-wsrep-provider is enabled we set