The following table lists all MySQL system variables and status variables supported by the ML component. Detailed descriptions of these variables can be found in the next two sections.
Table 7.7 Multilingual Engine Component Variable Reference
Name | Cmd-Line | Option File | System Var | Status Var | Var Scope | Dynamic |
---|---|---|---|---|---|---|
mle_heap_status | Yes | Global | No | |||
mle_languages_supported | Yes | Global | No | |||
mle_memory_used | Yes | Global | No | |||
mle_oom_errors | Yes | Global | No | |||
mle_session_resets | Yes | Global | No | |||
mle_sessions | Yes | Global | No | |||
mle_sessions_max | Yes | Global | No | |||
mle_status | Yes | Global | No | |||
mle_stored_functions | Yes | Global | No | |||
mle_stored_procedures | Yes | Global | No | |||
mle_stored_program_bytes_max | Yes | Global | No | |||
mle_stored_program_sql_max | Yes | Global | No | |||
mle_stored_programs | Yes | Global | No | |||
mle_threads | Yes | Global | No | |||
mle_threads_max | Yes | Global | No | |||
mle.memory_max | Yes | Yes | Yes | Global | Yes |
This section provides a description of each system variable specific to the MLE component. For a summary table that lists all system variables supported by the MySQL server, see Section 7.1.5, “Server System Variable Reference”. For general information regarding manipulation of system variables, see Section 7.1.9, “Using System Variables”.
-
Command-Line Format --mle.memory-max=value
System Variable mle.memory_max
Scope Global Dynamic Yes SET_VAR
Hint AppliesNo Platform Specific Linux Type Integer Default Value 1300M
Minimum Value 320M
Maximum Value 64G
Unit bytes Determines the maximum amount of memory to allocate to the MLE component. This variable is dynamic, but can be set only when the component is inactive; you can determine whether this is the case by checking the value of the
mle_status
system status variable.When increasing the value for this variable, you should be bear in mid that you must allow sufficient memory for other uses by the MySQL server such as buffer pools, connection memory, join buffers, and so on. In addition, there must be enough memory to allow system processes to operate correctly.
ImportantSetting this value greater than the amount of memory available on the system causes undefined behavior.
For more information about memory usage by the MLE component, see Section 7.5.8.3, “MLE Component Memory and Thread Usage”.
This section provides a description of each status variable supported by the MLE component. For a summary table that listsall status variables supported by the MySQL server, see Section 7.1.6, “Server Status Variable Reference”. For information about status variables specific to NDB Cluster, see Section 25.4.3.9.3, “NDB Cluster Status Variables”.
The status variables have the following meanings:
Lists the languages supported by the MLE component. In MySQL 9.1, this is always
JavaScript
.Available only if the MLE component is installed. See Section 7.5.8.2, “MLE Component Status and Session Information”, for more information.
Current status of the heap used by the MLE component. The value is one of:
Not Allocated
,Allocated
, orGarbage Collection
. The heap is allocated only if the MLE component is active (that is, ifmle_status
is equal toActive
).Available only if the MLE component is installed. See Section 7.5.8.3, “MLE Component Memory and Thread Usage”, for more information.
Percentage of allocated memory used by the MLE component, rounded up to the nearest whole number.
Available only if the MLE component is installed. See Section 7.5.8.3, “MLE Component Memory and Thread Usage”, for more information.
The total number of out-of-memory errors thrown by MLE stored programs, across all sessions.
Available only if the MLE component is installed. See Section 7.5.8.3, “MLE Component Memory and Thread Usage”, for more information.
The number of times MLE sessions have been cleared using the
mle_session_reset()
function.Available only if the MLE component is installed. See Section 7.5.8.2, “MLE Component Status and Session Information”, for more information.
Current number of active MLE sessions. An MLE session is created within a given MySQL user session once the MySQL user creates or executes a JavaScript stored program. It is dropped when the MySQL user calls
mle_session_reset()
, or when the MySQL session ends.If the MySQL user calls
mle_session_reset()
, then later creates or executes a JavaScript stored program within the same MySQL user session, a new MLE session is created. There can be at most one MLE session per MySQL session.Available only if the MLE component is installed. See Section 7.5.8.2, “MLE Component Status and Session Information”, for more information.
Maximum number of MLE sessions active at any one time since the MLE component became active.
Available only if the MLE component is installed. See Section 7.5.8.2, “MLE Component Status and Session Information”, for more information.
Current status of the MLE component. The value is one of:
Initializing
,Inactive
,Active
, orPending Shutdown
.Available only if the MLE component is installed. See Section 7.5.8.2, “MLE Component Status and Session Information”, for more information.
This is the number of MLE stored functions currently cached across all sessions.
Available only if the MLE component is installed. See Section 7.5.8.4, “MLE Component Stored Program Usage”, for more information.
The number of MLE stored procedures currently cached across all sessions.
Available only if the MLE component is installed. See Section 7.5.8.4, “MLE Component Stored Program Usage”, for more information.
Returns the number of stored programs (stored procedures and stored functions) currently cached across all sessions. An MLE stored program is cached as soon it is executed for the first time, in each session in which it was executed. It is dropped from its session's cache when any of the following happens:
The stored program is explicitly dropped.
The MLE session is dropped (see the description of
mle_sessions
)An out-of-memory error is thrown in a current MLE session.
If the same stored program is executed again after being dropped from the cache, it is cached again as usual.
Available only if the MLE component is installed. See Section 7.5.8.4, “MLE Component Stored Program Usage”, for more information.
The size of the largest MLE stored program, in bytes. This value is equal to the size of the stored program's source text, expressed in bytes.
Available only if the MLE component is installed. See Section 7.5.8.4, “MLE Component Stored Program Usage”, for more information.
The maximum number of SQL statements executed by any MLE stored program.
Available only if the MLE component is installed. See Section 7.5.8.4, “MLE Component Stored Program Usage”, for more information.
Returns the current number of physical threads attached to GraalVM. A physical thread, provided by the MySQL server's thread manager, is attached to GraalVM whenever it starts executing an operation inside GraalVM. Such operations include heap creation, code parsing, code execution, arguments conversion, memory usage queries, and deinitialization of stored programs. A thread is detached from GraalVM after it exits if the number of threads already attached exceeds the number of megabytes of heap allocated to Graal. The number of attached physical threads cannot exceed 1.5 times the number of megabytes of allocated Graal heap.
Available only if the MLE component is installed. See Section 7.5.8.3, “MLE Component Memory and Thread Usage”, for more information.
The maximum number of MLE threads active at any given time, since the MLE component last became active.
Available only if the MLE component is installed. See Section 7.5.8.3, “MLE Component Memory and Thread Usage”, for more information.
Ongoing_anonymous_gtid_violating_transaction_count
This status variable is only available in debug builds. Shows the number of ongoing transactions which use
gtid_next=ANONYMOUS
and that violate GTID consistency.