Thales Macedo Garitezi
32ace85e1c
Merge branch 'release-57' into 20240703-m-sync-r57
2024-07-03 16:03:15 -03:00
Thales Macedo Garitezi
afb65817c4
ci(mix): refactor to avoid conflicts
...
This introduces a refactoring that will hopefully help avoid conflicts with ongoing work
to migrate our build / CI tooling to Mix.
2024-07-03 14:37:25 -03:00
Thales Macedo Garitezi
5532f40d83
Merge branch 'release-57' into 20240702-m-sync-r57-mix-umbrella
2024-07-02 11:52:36 -03:00
Thales Macedo Garitezi
19f3b030f9
chore: preparing to run common tests / eunit with mix
2024-07-02 09:45:45 -03:00
Thales Macedo Garitezi
b74828d7ea
perf: "mixify" project to improve release speed
...
Fixes https://emqx.atlassian.net/browse/EMQX-12527
2024-07-02 09:39:48 -03:00
Andrew Mayorov
30efa1f57e
test(dsrepl): relax crash-recover testcase to tolerate message loss
...
Which is quite an expected occasion for this kind of stress test.
2024-06-26 20:44:34 +02:00
Andrew Mayorov
733751fadd
refactor(dsstore): keep passing `Options` to both prepare + commit
2024-06-26 20:44:34 +02:00
Andrew Mayorov
5b5f33c421
chore(dsstore): resurrect `prepare_batch` entry tracepoint
2024-06-26 20:44:34 +02:00
Andrew Mayorov
8db70b5bbc
test(dsrepl): add crash-restart-recover testcase
...
That verifies nothing is lost in the event of abrupt node failures.
2024-06-26 20:44:33 +02:00
Andrew Mayorov
5fd5fc76e5
fix(dsstore): ensure backward compatibility
2024-06-26 20:44:33 +02:00
Andrew Mayorov
8538a5a5b6
test(dsrepl): anticipate transitionless membership changes
...
E.g. when a membership change is applied twice in a row.
2024-06-26 20:44:33 +02:00
Andrew Mayorov
2180cc7c26
fix(dsstore): avoid storing `cf_refs()` in the RocksDB itself
...
This is both pointless and confusing.
2024-06-26 20:44:33 +02:00
Andrew Mayorov
7895e9cc45
feat(dsstore): make WAL-less mode optional
...
And make the upper layer choose when to use it.
2024-06-26 20:44:32 +02:00
Andrew Mayorov
0c0757b8c2
feat(dsrepl): enable WAL-less batch writes
2024-06-26 20:44:32 +02:00
Andrew Mayorov
b6894c18fa
chore(dsrepl): improve tracepoints usability a bit
2024-06-26 20:44:32 +02:00
ieQu1
d349f84f04
fix(ds): Apply remarks
2024-06-24 20:20:40 +02:00
zmstone
5d1608f34b
chore: minimize oss/platform diff
2024-06-24 15:30:03 +02:00
ieQu1
9a58d71378
fix(ds): Move DS backend supervision trees to their own apps
2024-06-21 18:22:04 +02:00
ieQu1
8aa27488b6
test: Disable certain DS-related suites in CE
2024-06-21 17:16:24 +02:00
ieQu1
1d3b1868fb
test(ds): Use close_db API
2024-06-21 17:16:24 +02:00
ieQu1
3851fc189f
fix(ds): Avoid reverse dependencies from storage to repl. layer
2024-06-21 17:16:24 +02:00
ieQu1
bc915216a0
feat(ds): Support metrics for builtin_local backend
2024-06-21 17:16:24 +02:00
ieQu1
99c9b56cf3
feat(ds_buffer): Add `ls' function to list all local buffers
2024-06-21 17:16:24 +02:00
ieQu1
ecb172b07e
refactor(ds): Rename egress metrics to 'buffer'
2024-06-21 17:16:24 +02:00
ieQu1
09c3ae795d
refactor(ds_raft): Replace egress server with common emqx_ds_buffer
2024-06-21 17:16:24 +02:00
ieQu1
a0fbd37e58
refactor(emqx): Use emqx_ds_backends application
2024-06-21 17:16:24 +02:00
ieQu1
ef09cfcd71
feat(ds): Add `emqx_ds_backends` application
2024-06-21 17:16:24 +02:00
ieQu1
279619fc80
feat(ds): Add `builtin_local' backend
2024-06-21 17:16:24 +02:00
ieQu1
a8ea0ae4e5
refactor(ds): Extract DS replication layer to a separate application
2024-06-21 17:16:24 +02:00
ieQu1
63f1856a2c
feat(ds): Dynamic backend registration
2024-06-21 17:16:24 +02:00
ieQu1
83dc8f4d77
fix(ds): Fix return values of emqx_ds_storage_layer functions
2024-06-21 17:16:23 +02:00
ieQu1
a18d1987a2
test(ds): Add a helper function for diffing messages
2024-06-21 17:16:23 +02:00
zmstone
213e4785e7
Merge remote-tracking branch 'origin/release-57' into 0619-sync-release-57-to-master
2024-06-19 14:54:48 +02:00
Thales Macedo Garitezi
8ce16fd7d9
fix(dsreplmeta): check site status when fetching shard info
...
Fixes https://emqx.atlassian.net/browse/EMQX-12356
2024-06-18 10:40:09 -03:00
Thales Macedo Garitezi
20cffb54d4
Merge branch 'release-57' into sync-r57-m-20240617
2024-06-17 17:10:12 -03:00
Andrew Mayorov
82588fbc35
chore(dsstore): refine module and callback typespecs
2024-06-17 17:53:39 +02:00
Andrew Mayorov
05d97397d3
fix(dsstore): use correct comparison when walking over generations
2024-06-17 17:53:39 +02:00
Andrew Mayorov
22009bcc58
test(dsstore): verify that inherited TLS trie is persisted
2024-06-17 17:53:38 +02:00
Andrew Mayorov
68f6556856
fix(dsstore): persist inherited LTS trie
...
Before this commit, inherited trie was actually only kept in memory
cache.
Also simplify storage backend behaviour around inheriting previous
generation's legacy.
2024-06-17 17:53:38 +02:00
zmstone
41cbfcfaa1
Merge remote-tracking branch 'origin/release-57' into 0527-sync-5.7.0-to-master
2024-05-27 20:10:44 +02:00
ieQu1
830b62d899
fix(dsrepl): Retry sending ra commands to the leader
2024-05-24 19:09:34 +02:00
ieQu1
1ffc7d5d9e
fix(dsrepl): Treat all exceptions from storage layer as recoverable
2024-05-24 19:09:34 +02:00
ieQu1
25721bceba
fix(dsstor): Delete generation metadata before dropping it
2024-05-24 19:09:33 +02:00
ieQu1
3d9837a0b8
test(ds): Add emqx_ds_replication_SUITE:t_drop_generation
2024-05-24 19:09:33 +02:00
ieQu1
c952e46f08
Merge remote-tracking branch 'origin/release-57'
2024-05-23 21:04:03 +02:00
Andrew Mayorov
ba6382adae
fix(dsrepl): trigger "last-resort" pending transitions handler when idle
...
This is a hack to work around the unintended issues causing shard
allocator to become idle even when there are pending transitions.
2024-05-23 14:54:01 +02:00
Andrew Mayorov
bf326acd7b
fix(dsrepl): handle stopping non-yet-running shard supervisor
2024-05-23 14:34:27 +02:00
Andrew Mayorov
398dc97ed6
Merge pull request #13092 from keynslug/fix/dsrepl/site-autoleave
...
fix(dsrepl): properly handle transaction abort during forget site
2024-05-23 10:56:23 +03:00
ieQu1
6eb04f90a3
fix(ds): Allow to write batches to older generations
2024-05-22 20:28:16 +02:00
ieQu1
59a09fb86f
fix(ds): Apply review remarks
2024-05-22 18:01:33 +02:00