Zaiming (Stone) Shi
46877e979b
chore: update copyright-year
2024-02-23 08:21:06 +01:00
Andrew Mayorov
21780e2126
feat(emqx-conf): manage mria tables explicitly during startup
2024-02-13 20:36:21 +01:00
Zaiming (Stone) Shi
1e3500ffd2
fix(emqx_conf_app): ensure log data fields
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-11-08 21:19:22 +01:00
Zaiming (Stone) Shi
f9e9748cec
fix(cluster-rpc): boot from local config if table loaded
...
When EMQX boots up, it tries to get latest config from peer (core type)
nodes, if none of the nodes are replying, the node will decide
to boot with local config (and replay the committed changes) if
the commit table is loaded from disk locally (an indication of the
data being latest), otherwise it will sleep for 1-2 seconds and
retry.
This lead to a race condition, e.g. in a two nodes cluster:
1. node1 boots up
2. node2 boots up and copy mnesia table from node1
3. node1 restart before node2 can sync cluster.hocon from it
4. node1 boots up and copy mnesia table from node2
Now that both node1 and node2 has the mnesia `load_node` pointing
to each other (i.e. not a local disk load).
Prior to this fix, the nodes would wait for each other in a dead loop.
This commit fixes the issue by allowing node to boot
with local config if it does not have a lagging.
2023-11-08 15:06:47 +01:00
zhongwencool
402f75592e
chore: move rpc call from emqx_management_proto to emqx_conf_proto
2023-07-19 11:05:14 +08:00
zhongwencool
802a50601a
chore: add comment for init_loader_done
2023-07-10 12:03:36 +08:00
zhongwencool
c4ba558ee3
fix: unset config_loader in emqx's env when stop emqx app
2023-07-10 11:06:08 +08:00
zhongwencool
f7513b900a
fix: set load config done after update tnx_id
2023-07-07 12:25:34 +08:00
zhongwencool
221f6eba06
fix: bad tnx-id when rejoin cluster
2023-07-07 12:25:34 +08:00
Andrew Mayorov
fe0b8cfbaf
test(conf): respect `init_config_load_done` in emqx_conf itself
...
This should make task of configuring various applications (emqx_conf
/ emqx) during testsuites setup much simpler.
2023-07-04 13:20:02 +02:00
Zaiming (Stone) Shi
5f47649d4d
chore: downgrade log severity level of 'not_ready' nodes to info
2023-06-21 09:45:45 +02:00
Zaiming (Stone) Shi
045ed340dd
fix(emqx_conf_app): fix release version detect during cluster conf sync
2023-06-21 09:28:46 +02:00
Zaiming (Stone) Shi
f95787d229
test: make possible to test core/replica locally
2023-06-20 12:42:00 +02:00
Zaiming (Stone) Shi
ee697831f6
Merge pull request #10926 from zmstone/0602-add-enable-as-an-alias-for-enabled
...
0602 add enable as an alias for enabled
2023-06-09 08:44:20 +02:00
Zaiming (Stone) Shi
1e0b2de0ea
chore: refine data sync debug log messages
2023-06-07 20:19:48 +02:00
Zaiming (Stone) Shi
760de7becf
chore: imporve logging message
2023-06-01 08:26:53 +02:00
Zaiming (Stone) Shi
cb2be1811e
docs: fix function doc annotation
2023-06-01 08:17:36 +02:00
Zaiming (Stone) Shi
332daabcc5
fix(config): Do not sync cluster config from nodes running new version
2023-05-31 20:34:25 +02:00
Zaiming (Stone) Shi
856129984b
refactor: remove raw_with_default config load option
...
This option was previously only in tests to avoid
emqx_conf app overwriting previously set configs with default values.
After a03f2dd64b
, the issue for
test cases had been resolved.
This commit is to get rid of the option all together
2023-05-04 09:48:28 +02:00
Zaiming (Stone) Shi
43c80ba635
chore: always init_load config wiht defaults populated
...
this effectively eliminates the need for raw_with_default
because it's now always set to true everywhere.
will remove it in a followup.
2023-04-30 21:24:46 +02:00
Zaiming (Stone) Shi
7a81b96be0
fix(emqx_conf_app): print init_load failure to standard_error
...
logger may not get the chance to spit out the logs before the vm
dies, no matter how long sleep is added before init:stop(1)
2023-04-28 22:23:30 +02:00
Zhongwen Deng
3f689d0fdf
feat: don't do rpc call to check deprecated file
2023-04-25 10:10:56 +08:00
某文
b4c16d37c7
chore: make static_check happy
2023-04-23 18:09:51 +08:00
某文
e0fd861863
chore: make static_check happy
2023-04-23 17:24:34 +08:00
某文
5593e38ed3
fix: copy cluster-override.conf from old version
2023-04-23 17:24:24 +08:00
Zhongwen Deng
c0e6e79bcd
feat: don't remove default value when save config
2023-04-14 21:17:34 +08:00
Zhongwen Deng
5f4ea3b6d8
feat: deprecated cluster-override.conf
2023-04-14 20:51:58 +08:00
Zaiming (Stone) Shi
68c15ffd48
Merge remote-tracking branch 'origin/release-50' into 0403-sync-release-50-back-to-master
2023-04-04 16:42:58 +02:00
Zaiming (Stone) Shi
196ca43fbb
fix(emqx_conf_app): call the right API to retrieve core nodes
2023-04-04 14:19:48 +02:00
Zaiming (Stone) Shi
8fd9dd741e
fix(emqx_conf_app): wait for tables ready beofre starting apps
2023-04-04 13:50:50 +02:00
Zaiming (Stone) Shi
429b3d9efd
Merge remote-tracking branch 'origin/master' into 0403-sync-release-50-back-to-master
2023-04-03 20:32:33 +02:00
JimMoen
53712e6146
fix: running nodes should not include replica nodes
2023-04-03 20:01:37 +08:00
Zaiming (Stone) Shi
494e4b639a
chore: exit with non-zero status if config initialization failed
2023-03-30 12:52:51 +02:00
Zaiming (Stone) Shi
c302405408
fix: fail fast if not able to load config
2023-03-28 14:29:24 +02:00
Zhongwen Deng
9cbad5297c
fix: primary logger level not update
2023-02-01 11:16:30 +08:00
Zaiming (Stone) Shi
dbc10c2eed
chore: update copyright year 2023
2023-01-02 09:22:27 +01:00
Zhongwen Deng
9b37837c9c
fix: don't save cert/authz zip on disk when emqx start
2022-12-05 16:12:21 +08:00
Zhongwen Deng
0241185225
chore: Add test coverage for listeners API
2022-09-19 18:25:25 +08:00
Zhongwen Deng
386110ae1e
fix: /listeners API crash when some nodes still in init configuration
2022-09-19 15:24:36 +08:00
Zhongwen Deng
cbf467ee3d
chore: update emqx_conf.appup.src
2022-07-01 16:44:29 +08:00
Zhongwen Deng
3d6f98e5f6
fix: filter data's dir
2022-07-01 15:32:12 +08:00
Zhongwen Deng
aabdb07447
chore: always delete data zip file
2022-07-01 14:18:03 +08:00
Zhongwen Deng
8ba2b6cc18
fix: bpapi chekc failed
2022-07-01 14:08:16 +08:00
Zhongwen Deng
740ff3587c
fix: sync data's authz and certs
2022-07-01 12:01:32 +08:00
Zhongwen Deng
c3cd36f610
fix: elvis warning
2022-06-28 15:29:26 +08:00
Zhongwen Deng
130d1f7d9c
chore: choose core node's max tnxid as source conf
2022-06-28 10:11:52 +08:00
Zhongwen Deng
6c9b959651
fix: ct failed
2022-05-31 19:20:27 +08:00
Thales Macedo Garitezi
67ed7ba7b8
refactor: do not differentiate node roles
2022-04-26 12:14:38 -03:00
Thales Macedo Garitezi
8519948742
refactor: use macro to denote initial transaction id
2022-04-26 12:03:53 -03:00
Thales Macedo Garitezi
6b969c5c84
fix(emqx_conf): avoid crash/deadlock depending on node startup order
...
Depending on the order that a cluster of core nodes might be stopped
and then restarted, there might be a deadlock or crash during the
configuration loading. The nodes try to check with each other which
has the latest cluster overrides and copy that info. However, in some
cases, Mnesia on node A might still think that it needs to consult
another node C that is still down, so that this node proceeds with its
boot sequence but `mnesia:wait_for_tables` in `emqx_cluster_rpc` is
stuck. Meanwhile, a node B can come up, try to copy from the sole
online node A, and fail because it's not ready yet.
2022-04-26 12:03:53 -03:00