emqx/apps/emqx_bridge
Kjell Winblad 917474f694 fix: action config update would sometimes not be reflected in connector
Before this commit the following happened sometimes:

1. action status is connected
2. action config is updated to something that should change the status to
   disconnected
3. action status is still connected and the old config is being used by
   the connector even though the config has been correctly updated.

The reason for this bug is that the post_config_hook runs before the
global EMQX config is updated. The post config hook is adding the new
config to the connector. Since the new config causes the action to get
status disconnected, the adding of the action to the connector is
retried when the health check runs but this time the config will be
loaded from the global config which could cause the old config to be
loaded (this happens when the global config has not had time to get
updated).

The above problem has been fixed in this commit by only reading action
configs from the global config when the connector starts/restarts and
instead store the latest configs for the actions in the connector.

Fixes:
https://emqx.atlassian.net/browse/EMQX-12376
2024-05-22 12:15:04 +02:00
..
etc feat: generate a minimized emqx.conf 2022-05-31 19:20:27 +08:00
include chore: update copyright-year 2024-02-23 08:21:06 +01:00
src feat(s3-bridge): meld 2 separate actions into a single one 2024-05-17 09:34:21 +02:00
test fix: action config update would sometimes not be reflected in connector 2024-05-22 12:15:04 +02:00
.gitignore refactor(bridge): rename emqx_data_bridge to emqx_bridge 2021-09-10 11:43:03 +08:00
README.md docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
rebar.config style: erlfmt all rebar.config files and bin/nodetool 2023-12-29 09:08:03 +08:00

emqx_bridge

EMQX Data Bridge is an application that managing the resources (see emqx_resource) used by emqx rule engine.

It provides CRUD HTTP APIs of the resources, and is also responsible for loading the resources at startup, and saving configs of resources to data/ after configs updated.

The application depends on emqx_connector as that's where all the callback modules of connector resources placed.