Thales Macedo Garitezi
1eb47d0c16
perf(ds): inherit only LTS paths containing wildcards when adding a new generation
...
Fixes https://github.com/emqx/emqx/pull/12338#discussion_r1462139499
2024-01-23 09:20:28 -03:00
Thales Macedo Garitezi
d122340c13
Merge pull request #12338 from thalesmg/ds-message-gc-20240115
...
feat(ds): add message GC
2024-01-22 16:57:26 -03:00
Thales Macedo Garitezi
db710c4be5
feat(lts): inherit previous generation's lts when possible
2024-01-22 14:53:17 -03:00
Thales Macedo Garitezi
75b08b525b
feat(ds): add `list_generations` and `drop_generation` APIs
2024-01-22 14:53:17 -03:00
Thales Macedo Garitezi
57074015c6
feat(ds): allow customizing the data directory
...
The storage expectations for the RocksDB DB may be different from our usual data
directory. Also, it may consume a lot more storage than other data.
This allows customizing the data directory for the builtin DS storage backend.
Note: if the cluster was already initialized using a directory path, changing that config
will have no effect. This path is currently persisted in mnesia and used when reopening
the DB.
2024-01-19 13:07:24 -03:00
Thales Macedo Garitezi
7763b0fd34
chore: bump app vsns
2024-01-08 17:42:56 -03:00
Thales Macedo Garitezi
756980837c
Merge branch 'release-54' into sync-r54-m-20240108
2024-01-08 17:39:42 -03:00
ieQu1
caf461fdf6
fix(ds): Don't start the supervision tree when feature is not in use
2024-01-08 17:59:19 +01:00
Ilya Averyanov
9e0f3ce53b
feat(ds): restore original add_generation/update_db_config callback semantics
2023-12-29 13:12:15 +03:00
JimMoen
5e100f52b8
style: erlfmt all `rebar.config` files and `bin/nodetool`
2023-12-29 09:08:03 +08:00
Zaiming (Stone) Shi
23ded313ec
chore: update app versions
2023-12-22 15:29:22 +01:00
Zaiming (Stone) Shi
20543d55ef
chore: bump app vsn
2023-12-22 13:13:30 +01:00
Zaiming (Stone) Shi
322b7bb7d2
chore: bump app vsn
2023-12-22 13:00:37 +01:00
firest
612be8e280
fix(ds): make dialyzer happy
2023-12-20 22:09:03 +08:00
firest
ed38ca67d5
fix(ds): Unified the names of the `add_generation` API
2023-12-20 18:58:03 +08:00
firest
31060733a5
feat(ds): add an API for making new generations
2023-12-15 16:08:52 +08:00
Zaiming (Stone) Shi
c22a3686ae
fix(emqx_durable_storage): fix type specs
2023-12-14 17:35:32 +01:00
Zaiming (Stone) Shi
c1f2287b86
Merge remote-tracking branch 'origin/release-54'
2023-12-14 15:26:49 +01:00
Thales Macedo Garitezi
dbc8141930
Merge pull request #12125 from thalesmg/ds-cache-m-20231206
...
chore(ds): return DS key from `next` and add `update_iterator` callback
2023-12-14 10:23:25 -03:00
Zaiming (Stone) Shi
d560366c14
test: fix some compile warnings
2023-12-11 09:43:13 +01:00
Zaiming (Stone) Shi
50f4aba5cd
fix(dialyzer): batch 3
2023-12-09 15:50:09 +01:00
Thales Macedo Garitezi
66d043becd
feat(ds): introduce `update_iterator` callback
2023-12-08 15:04:18 -03:00
Zaiming (Stone) Shi
ddbb8560fa
fix(dialyzer): batch 2
2023-12-08 17:59:55 +01:00
Thales Macedo Garitezi
2a6d72878f
chore(ds): return DS message key along with batch
2023-12-07 11:36:08 -03:00
ieQu1
c43b3eb535
fix(sessds): Add debug logs for the session garbage collection
2023-12-06 15:37:23 +01:00
Andrew Mayorov
130a5a5442
fix(ds): pass topics to `emqx_topic:words/1` before feeding LTS tree
...
So that empty levels in topics will be properly mapped into `''` atoms.
2023-12-04 13:39:01 +03:00
ieQu1
e238602533
fix(ds): Update README
2023-12-01 08:27:05 +01:00
ieQu1
0ae618d010
fix(ds): Use emqx_rpc for calls that work with large binaries
2023-12-01 08:27:05 +01:00
Ivan Dyachkov
9fd2fa95a8
chore: bump apps versions
2023-11-30 20:01:12 +01:00
ieQu1
05e47254e2
fix(ds): Fixes related to the shards table
2023-11-28 12:59:09 +01:00
ieQu1
e8d18b0e09
Merge pull request #12014 from ieQu1/ds-qos0
...
Support QoS0 messages in persistent_session_ds
2023-11-23 23:43:18 +01:00
ieQu1
449bafc27e
fix(ds): LTS trie handles empty topic levels
2023-11-23 22:16:38 +01:00
ieQu1
c5bb86db67
feat(ds): Support QoS 0
2023-11-23 22:16:38 +01:00
ieQu1
1da9ec1d7d
Merge pull request #12015 from ieQu1/ds-lts-dont-store-message
...
feat(ds): Don't store #message record in the DB
2023-11-23 18:56:45 +01:00
ieQu1
c69b82455e
feat(ds): Don't store #message record in the DB
2023-11-23 17:56:35 +01:00
Ilya Averyanov
29d42506d5
fix(ds): impose more flexible types for ds implementations
2023-11-23 17:16:11 +03:00
Ilya Averyanov
a1b9a14fa1
feat(ds): allow fdb implementation for durable storage
2023-11-22 14:49:38 +03:00
ieQu1
3165b4f645
fix(ds): Abort application startup when rocksdb is not avialable
2023-11-21 20:27:07 +01:00
ieQu1
3d823beb11
fix(ds): Apply review remarks
2023-11-21 19:37:01 +01:00
ieQu1
f5c71e8068
refactor(ds): Add a wrapper to the store batch API
2023-11-21 19:37:01 +01:00
ieQu1
2a1f7d946a
feat(ds): Shard messages by publisher client ID
2023-11-21 19:37:01 +01:00
ieQu1
62542e5844
feat(ds): Metadata storage for the replication layer
2023-11-21 19:37:01 +01:00
Ivan Dyachkov
28a577ad09
chore: bump apps versions
2023-11-14 11:02:26 +01:00
Thales Macedo Garitezi
088de9476c
fix(ds): use integer for tag values
...
Follow up to https://github.com/emqx/emqx/pull/11906#discussion_r1389115973
2023-11-10 11:26:32 -03:00
ieQu1
2ade6da7a6
fix(ds): Remove redundand type
2023-11-10 12:53:30 +01:00
ieQu1
feef23fc08
feat(ds): Pass store_batch through RPC
2023-11-10 12:16:39 +01:00
ieQu1
8dc8237331
feat(ds): Introduce emqx_ds behavior
2023-11-10 12:16:39 +01:00
Thales Macedo Garitezi
42536bb5f7
chore(ds): avoid using records in persistence / rpc
...
Fixes https://emqx.atlassian.net/browse/EMQX-11279
2023-11-09 12:00:25 -03:00
ieQu1
a1cdbaa76d
fix(ds): Address code review remarks
2023-11-08 04:31:27 +01:00
ieQu1
c030188eb7
chore(ds): Add rebar.config file to app/emqx_durable_storage
2023-11-08 03:04:19 +01:00