Kamil Braun
b912eeade5
Merge 'merge raft commands to group0 before applying them whenever possible' from Gleb
...
Since most group0 commands are just mutations it is easy to combine them
before passing them to a subsystem they destined to since it is more
efficient. The logic that handles those mutations in a subsystem will
run once for each batch of commands instead of for each individual
command. This is especially useful when a node catches up to a leader and
gets a lot of commands together.
The patch here does exactly that. It combines commands into a single
command if possible, but it preserves an order between commands, so each
time it encounters a command to a different subsystem it flushes already
combined batch and starts a new one. This extra safety assumes that
there are dependencies between subsystems managed by group0, so the order
matters. It may be not the case now, but we prefer to be on a safe side.
Broadcast table commands are not mutations, so they are never combined.
* 'raft-merge-cmds' of https://github.com/gleb-cloudius/scylla :
test: add test for group0 raft command merging
service: raft: respect max mutation size limit when persisting raft entries
group0_state_machine: merge commands before applying them whenever possible
2023-06-28 17:21:07 +02:00
..
2023-03-07 17:54:53 +08:00
2023-05-02 11:04:05 +03:00
2023-04-07 20:32:28 +08:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-03-22 13:48:50 +02:00
2023-02-01 20:14:51 -03:00
2023-05-04 02:37:29 +02:00
2023-06-06 13:29:16 +03:00
2023-02-15 11:01:50 +02:00
2023-02-14 11:19:03 +02:00
2023-02-01 20:14:51 -03:00
2023-05-07 17:17:36 +03:00
2023-02-15 11:01:50 +02:00
2023-03-21 13:15:12 +02:00
2023-02-19 12:58:22 +08:00
2023-02-01 20:14:51 -03:00
2023-06-21 13:02:40 +03:00
2023-02-01 20:14:51 -03:00
2023-06-21 00:58:24 +02:00
2023-02-15 11:01:50 +02:00
2023-02-01 20:14:51 -03:00
2023-04-19 05:20:42 -04:00
2023-05-24 22:58:43 +02:00
2023-05-23 08:52:56 +03:00
2023-06-26 11:29:36 +03:00
2023-02-15 11:01:50 +02:00
2023-05-07 17:17:36 +03:00
2023-02-15 11:01:50 +02:00
2023-05-30 15:10:12 +03:00
2023-04-17 14:08:37 +03:00
2023-06-26 11:20:27 +03:00
2023-02-01 20:14:51 -03:00
2023-04-27 10:24:46 +03:00
2023-02-15 11:09:04 +02:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-06-22 14:21:03 +03:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-06-06 13:29:16 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-15 11:01:50 +02:00
2023-02-28 21:56:53 +08:00
2023-06-27 14:59:55 +03:00
2023-06-06 08:36:09 +03:00
2023-02-01 20:14:51 -03:00
2023-04-24 14:06:43 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-19 21:05:45 +02:00
2023-02-19 21:05:45 +02:00
2023-02-01 20:14:51 -03:00
2023-05-23 10:40:55 +03:00
2023-02-01 20:14:51 -03:00
2023-06-21 00:58:25 +02:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-04-17 14:08:37 +03:00
2023-06-06 13:29:16 +03:00
2023-06-06 13:29:16 +03:00
2023-06-21 00:58:24 +02:00
2023-06-06 13:29:16 +03:00
2023-06-06 13:29:16 +03:00
2023-06-27 14:37:29 +02:00
2023-06-20 10:10:39 +03:00
2023-06-06 13:29:16 +03:00
2023-05-04 03:35:15 +02:00
2023-06-21 00:58:25 +02:00
2023-02-15 11:01:50 +02:00
2023-06-21 00:58:24 +02:00
2023-06-21 00:58:24 +02:00
2023-06-06 13:29:16 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-15 11:01:50 +02:00
2023-02-14 11:19:03 +02:00
2023-04-26 09:00:25 +03:00
2023-02-28 21:56:53 +08:00
2023-06-21 00:58:24 +02:00
2023-02-03 19:04:32 +01:00
2023-02-28 21:56:53 +08:00
2023-06-07 12:12:19 +03:00
2023-02-28 21:56:53 +08:00
2023-04-26 22:09:17 +02:00
2023-02-01 20:14:51 -03:00
2023-06-26 15:29:01 +02:00
2023-06-07 20:25:49 +03:00
2023-05-23 08:52:56 +03:00
2023-06-26 11:24:07 +03:00
2023-05-23 08:52:56 +03:00
2023-06-21 00:58:24 +02:00
2023-06-21 00:58:24 +02:00
2023-04-21 09:43:53 +03:00
2023-05-11 16:31:23 +03:00
2023-04-27 10:24:46 +03:00
2023-04-27 10:24:46 +03:00
2023-02-28 21:56:53 +08:00
2023-06-21 00:58:24 +02:00
2023-06-26 21:58:20 -03:00
2023-06-27 14:37:25 +02:00
2023-06-26 22:30:39 -03:00
2023-06-21 13:02:40 +03:00
2023-06-21 13:02:40 +03:00
2023-06-19 13:51:04 +03:00
2023-06-21 00:58:24 +02:00
2023-02-17 17:58:26 +03:00
2023-06-21 00:58:24 +02:00
2023-05-17 11:31:07 +03:00
2023-05-23 10:40:54 +03:00
2023-03-22 13:59:47 +02:00
2023-04-23 21:34:02 +03:00
2023-06-22 14:21:03 +03:00
2023-06-21 10:08:27 +03:00
2023-05-29 23:03:24 +03:00
2023-06-26 11:23:43 +03:00
2023-06-21 00:58:24 +02:00
2023-05-15 10:19:39 +03:00
2023-05-21 13:17:42 +04:00
2023-04-17 14:08:37 +03:00
2023-02-15 11:09:04 +02:00
2023-06-15 09:48:54 +02:00
2023-02-01 20:14:51 -03:00
2023-02-19 21:05:45 +02:00
2023-03-09 17:51:15 +01:00
2023-05-23 08:52:56 +03:00
2023-04-26 14:09:58 +08:00
2023-06-06 13:29:16 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-05-17 15:38:03 +02:00
2023-03-06 13:17:21 +03:00
2023-06-06 13:29:16 +03:00
2023-02-01 20:14:51 -03:00
2023-06-06 08:36:09 +03:00
2023-06-06 08:36:09 +03:00