Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View


Categories: connectors experimental galera main
Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

connectors experimental galera main
Marko Mäkelä
Correct some comments

In commit aae3f921adec9b9d1bff093c9a75a94e44f5c8d4
recv_apply_hashed_log_recs() was replaced by recv_sys_t::apply().
Marko Mäkelä
MDEV-12353 fixup: Correct a comment

Several EXTENDED type records have already been implemented.
Marko Mäkelä
MDEV-27160 Out of memory in main.long_unique

A part of the test main.long_unique attempts to insert records
with two 60,000,001-byte columns. Let us move that test into
a separate file main.long_unique_big, declared as big test,
so that it can be skipped in environments with limited memory.
Marko Mäkelä
Merge
Rucha Deodhar
Implementation complete.
Todo: Add commit message
Jan Lindström
Fix bad galera tests

* galera_kill_applier : we should make sure that node has
  correct number of wsrep appliers
* galera_bad_wsrep_new_cluster: This test restarts both nodes,
so it is bad on mtr. Make sure it is run alone
* galera_update_limit : Make sure we have PK when needed
galera_as_slave_replay : bf abort was not consistent
* galera_unicode_pk : Add wait_conditions so that all nodes
are part of cluster and DDL and INSERT has replicated before
any further operations are done.
* galera_bf_abort_at_after_statement : Add wait_conditions
to make sure all nodes are part of cluster and that DDL
and INSERT has replicated. Make sure we reset DEBUG_SYNC.
Marko Mäkelä
Merge 10.4 into 10.5
Sergei Krivonos
MDEV-27036: re-enable my_json_writer-t unit test
Rucha Deodhar
MDEV-22224: Support JSON Path negative index

This patch can be viewed as combination of two parts:
1) Enabling '-' in the path so that the parser does not give out a warning.
2) Setting the negative index to a correct value and returning the
  appropriate value.

1) To enable using the negative index in the path:
To make the parser not return warning when negative index is used in path
'-' needs to be allowed in json path characters. P_NEG is added
to enable this and is made recognizable by setting the 45th index of
json_path_chr_map[] to P_NEG (instead of previous P_ETC)
because 45 corresponds to '-' in unicode.
When the path is being parsed and '-' is encountered, the parser should
recognize it as parsing '-' sign, so a new json state PS_NEG is required.
When the state is PS_NEG, it means that a negative integer is
going to be parsed so set is_negative_index of current step to 1 and
n_item is set accordingly when integer is encountered after '-'.
Next proceed with parsing rest of the path and get the correct path.
Next thing is parsing the json and returning correct value.

2) Setting the negative index to a correct value and returning the value:
While parsing json if we encounter array and the path step for the array
is a negative index (n_item < 0), then we can count the number of elements
in the array and set n_item to correct corresponding value. This is done in
json_skip_array_and_count(for implementation details see comment).
Once the correct index is set for n_item, we continue to
parse the json, reach the path and return appropriate value.
Sergei Krivonos
Improve LibFMT detection

Signed-off-by: Sergei Krivonos <sergei.krivonos@mariadb.com>
Marko Mäkelä
MDEV-14425 WIP: Redo log format with arbitrary block size

FIXME: Fix and enable ./mtr --suite=mariabackup

FIXME: Many tests fail, possibly fixable by MDEV-27111

FIXME: When reading or writing log blocks, use the file system
block size instead of using arbitrary byte offsets.

FIXME: Move the checkpoint information to byte offsets 4096 and 8192,
and start the circular log at 12288, for O_DIRECT compatibility.

FIXME: Implement log padding by using a FILE_CHECKPOINT record
with all-NUL payload.
Aleksey Midenkov
MDEV-17554 Auto-create new partition for system versioned tables with history partitioned by INTERVAL/LIMIT

== Syntax change ==

Keyword AUTO enables partition auto-creation.

create table t1 (x int) with system versioning
partition by system_time interval 1 hour auto;

create table t1 (x int) with system versioning
partition by system_time interval 1 month
starts '2021-01-01 00:00:00' auto partitions 12;

create table t1 (x int) with system versioning
partition by system_time limit 1000 auto;

Or with explicit partitions:

create table t1 (x int) with system versioning
partition by system_time interval 1 hour auto
(partition p0 history, partition pn current);

== Description ==

Before executing history-generating DML command add N history
partitions, so that N would be sufficient for potentially generated
history. N > 1 may be required when history is rotated by INTERVAL and
timestamp was jumped to future further than interval value.

If last history partition exceeds LIMIT records before DML command
then new history partition is created and the history filling is
switched to the new partition. Thus LIMIT does not carry strict
limitation and the history partition size must be planned as LIMIT
records plus average number of history one DML generates.

Auto-creation is implemented by synchronous
fast_alter_partition_table() call from the thread of the executed DML
command before the command itself (by the fallback and retry mechanism
similar to Discovery feature, see Open_table_context).

The name for newly added partitions are generated like default
partition names with extension of MDEV-22155 (which avoids name
clashes by extending assignment counter to next free-enough gap).

These DML commands trigger auto-creation:

* DELETE (including multi-delete, excluding DELETE HISTORY)
* UPDATE (including multi-update)
* REPLACE (including REPLACE .. SELECT)
* INSERT .. ON DUPLICATE KEY UPDATE
* LOAD DATA .. REPLACE

MDEV-23642 Locking timeout caused by auto-creation affects original DML

The reasons for this are:

- Do not disrupt main business process (the history is auxiliary
service);

- Consequences are non-fatal (history is not lost, but comes into wrong
partition; fixed by partitioning rebuild);

- There is more freedom for application to fail in this case or
not: it may read warning info and find corresponding error number.

- While non-failing command is easy to handle by an application and
fail it, the opposite is hard to handle: there is no automatic
actions to fix failed command and retry, DBA intervention is
required and until then application is non-functioning.

MDEV-23639 Auto-create does not work under LOCK TABLES or inside triggers

Don't do tdc_remove_table() for OT_ADD_HISTORY_PARTITION because it is
not possible in locked tables mode.

LTM_LOCK_TABLES mode (and LTM_PRELOCKED_UNDER_LOCK_TABLES) works out
of the box as fast_alter_partition_table() can reopen tables via
locked_tables_list.

In LTM_PRELOCKED we reopen and relock table manually.

More fixes

* some_table_marked_for_reopen flag fix

some_table_marked_for_reopen affets only reopen of
m_locked_tables. I.e. Locked_tables_list::reopen_tables() reopens only
tables from m_locked_tables.

* Unused can_recover_from_failed_open() condition

Is recover_from_failed_open() can be really used after
open_and_process_routine()?
Marko Mäkelä