[MDEV-14455] rocksdb.2pc_group_commit failed in buildbot Created: 2017-11-21 Updated: 2023-11-29 Resolved: 2023-11-29 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - RocksDB, Tests |
| Affects Version/s: | 10.2 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Alice Sherepa | Assignee: | Sergei Petrunia |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
http://buildbot.askmonty.org/buildbot/builders/kvm-deb-xenial-amd64/builds/2392/steps/mtr/logs/stdio
|
| Comments |
| Comment by Elena Stepanova [ 2018-04-25 ] | |||||||||||||||||||||||||||
|
And still fails | |||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2018-10-16 ] | |||||||||||||||||||||||||||
|
Now with numbers:
| |||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2019-07-11 ] | |||||||||||||||||||||||||||
|
One can use settings like
and this will produce more SQL-level commit groups. That is, Binlog_group_commits will show less groups (=more grouping), even when running on a RAM disk. But these settings have no effect on Rocksdb_wal_synced. | |||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2019-07-11 ] | |||||||||||||||||||||||||||
|
Added a code to hook to test sync point With rocksdb_write_policy=write_prepared, this achieves the desired effect: Doesn't have much effect for rocksdb_write_policy=write_committed, though. | |||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2019-07-11 ] | |||||||||||||||||||||||||||
|
The upstream doesn't watch rocksdb_wal_syncs. They check rocksdb_wal_group_syncs instead. rocksdb_wal_group_syncs is a MyRocks-level (not RocksDB's) counter, it counts rocksdb_flush_wal() calls that the SQL layer's group commit makes. | |||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2019-07-11 ] | |||||||||||||||||||||||||||
|
fbmysql-2pc_group_commit-xpl.diff
(both write_committed and write_prepared produce similar results) | |||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2019-07-11 ] | |||||||||||||||||||||||||||
|
The upstream has smaller WAL_SYNCED with binlog ON (because the SQL layer calls FlushWAL() once per group). with 2PC disabled, they also got 10K WAL_SYNCED even for concurrent workload. | |||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2019-07-11 ] | |||||||||||||||||||||||||||
|
Re-running test on the current MariaDB. Using the workload from 2pc_group_commit test: 10K queries, concurrency=50 log_bin=OFFwrite_committed
with write_prepared it's similar:
log_bin=ONwrite_committed:
write_prepared:
|