Merge branch '2.3' into 2.4
This commit is contained in:
commit
8ce6a679be
@ -974,6 +974,22 @@ Note that you need to specify with `retain_last_statements` how many statements
|
||||
MaxScale should retain for each session. Unless it has been set to another value
|
||||
than `0`, this configuration setting will not have an effect.
|
||||
|
||||
### `session_trace`
|
||||
|
||||
How many log entries are stored in the session specific trace log. This log is
|
||||
written to disk when a session ends abnormally and can be used for debugging
|
||||
purposes. It would be good to enable this if a session is disconnected and the
|
||||
log is not detailed enough. In this case the info log might reveal the true
|
||||
cause of why the connection was closed.
|
||||
|
||||
```
|
||||
session_trace=20
|
||||
```
|
||||
Default is `0`.
|
||||
|
||||
The session trace log is also exposed by REST API and is shown with
|
||||
`maxctrl show sessions`.
|
||||
|
||||
### `writeq_high_water`
|
||||
|
||||
High water mark for network write buffer. Controls when network traffic
|
||||
|
@ -191,6 +191,7 @@ extern const char CN_SERVICE[];
|
||||
extern const char CN_SERVICES[];
|
||||
extern const char CN_SESSION_TRACK_TRX_STATE[];
|
||||
extern const char CN_SESSIONS[];
|
||||
extern const char CN_SESSION_TRACE[];
|
||||
extern const char CN_SKIP_PERMISSION_CHECKS[];
|
||||
extern const char CN_SOCKET[];
|
||||
extern const char CN_SSL_CA_CERT[];
|
||||
|
@ -4642,6 +4642,7 @@ json_t* config_maxscale_to_json(const char* host)
|
||||
|
||||
json_object_set_new(param, CN_RETAIN_LAST_STATEMENTS, json_integer(session_get_retain_last_statements()));
|
||||
json_object_set_new(param, CN_DUMP_LAST_STATEMENTS, json_string(session_get_dump_statements_str()));
|
||||
json_object_set_new(param, CN_SESSION_TRACE, json_integer(session_get_session_trace()));
|
||||
json_object_set_new(param, CN_LOAD_PERSISTED_CONFIGS, json_boolean(cnf->load_persisted_configs));
|
||||
json_object_set_new(param, CN_MAX_AUTH_ERRORS_UNTIL_BLOCK,
|
||||
json_integer(cnf->max_auth_errors_until_block));
|
||||
|
@ -943,6 +943,23 @@ bool runtime_alter_maxscale(const char* name, const char* value)
|
||||
config_runtime_error("Invalid value for '%s': %s", CN_MAX_AUTH_ERRORS_UNTIL_BLOCK, value);
|
||||
}
|
||||
}
|
||||
else if (key == CN_SESSION_TRACE)
|
||||
{
|
||||
char* endptr;
|
||||
long intval = strtol(value, &endptr, 10);
|
||||
|
||||
if (*endptr == '\0' && intval >= 0)
|
||||
{
|
||||
session_set_session_trace(intval);
|
||||
mxb_log_set_session_trace(true);
|
||||
rval = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
rval = false;
|
||||
config_runtime_error("Invalid value for '%s': %s", CN_SESSION_TRACE, value);
|
||||
}
|
||||
}
|
||||
else if (config_can_modify_at_runtime(key.c_str()))
|
||||
{
|
||||
config_runtime_error("Global parameter '%s' cannot be modified at runtime", name);
|
||||
|
Loading…
x
Reference in New Issue
Block a user