Commit Graph

15911 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi
0b87ea4cdc
Merge pull request #10929 from zmstone/0602-ci-pin-otp-25.3.2-1-elixir-1.14.5
ci: upgrade to otp 25.3.2-1 and elixir 1.14.5
2023-06-02 21:46:08 +02:00
Zaiming (Stone) Shi
aa46c0a484
Merge pull request #10928 from zmstone/0602-sync-release-51-to-master
0602 sync release 51 to master
2023-06-02 21:45:21 +02:00
Thales Macedo Garitezi
33aa879ad4
Merge pull request #10910 from thalesmg/unify-restart-interval-v50
feat(resource): deprecate `auto_restart_interval` in favor of `health_check_interval`
2023-06-02 16:20:36 -03:00
Zaiming (Stone) Shi
e6fb27b3c7 fix(emqx_telemetry): make dialyzer happy 2023-06-02 18:02:46 +02:00
Zaiming (Stone) Shi
9c1f77d733 ci: upgrade to otp 25.3.2-1 and elixir 1.14.5 2023-06-02 18:01:09 +02:00
Zaiming (Stone) Shi
3cfa13b343 docs: add changelog for #10929 2023-06-02 18:01:09 +02:00
Zaiming (Stone) Shi
28c564d15b Merge remote-tracking branch 'origin/master' into release-51 2023-06-02 16:25:48 +02:00
Thales Macedo Garitezi
90d862cad9
Merge pull request #10915 from thalesmg/fvt-retry-plugin-v50
ci(fvt): add `pytest-retry` plugin
2023-06-02 09:26:43 -03:00
Thales Macedo Garitezi
74ffd9ef96
Merge pull request #10918 from thalesmg/fix-ecpool-empty-unrecoverable-v50
fix(ecpool,bridge): treat `{error, ecpool_empty}` as a retriable error
2023-06-02 09:21:00 -03:00
Zaiming (Stone) Shi
367fc95976
Merge pull request #10923 from zmstone/0602-fix-channel-data-registration-race-condition
fix(emqx_cm): fix channel data registration race-condition
2023-06-02 14:20:18 +02:00
Thales Macedo Garitezi
940353cc52 docs: add changelog 2023-06-02 09:13:47 -03:00
Thales Macedo Garitezi
0790c88aaf
refactor: use default's type as first union member
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-06-02 09:08:11 -03:00
Thales Macedo Garitezi
2d7c1da901
Merge pull request #10913 from thalesmg/fix-plugin-proto-multicall-v50
fix(plugins): use `emqx:running_nodes` for multicall operations
2023-06-02 09:03:42 -03:00
Stefan Strigler
5f24526ab2
Merge pull request #10914 from sstrigler/EMQX-9954-broken-openapi-spec-in-swagger-json
fix broken openapi spec in swagger json
2023-06-02 13:35:07 +02:00
Zaiming (Stone) Shi
c75e9bbe0d fix(emqx_cm): fix channel data registration race-condition
when clustered, there are chances the a mqtt client process
get killed (e.g. holding the channel registeration lock for too long),
if the channel data inserts happen before casting out the message
for channel process monitoring, there is a chance for the
stale message left in the ets tables indefinitely.

this commit changes the order of the non-atomic operations:
it casts out the monitor request message before inserting
channel data.
2023-06-02 11:43:35 +02:00
Stefan Strigler
c9ef1ccacd fix: headers is array not object 2023-06-02 10:24:33 +02:00
Stefan Strigler
c7f177054c fix(emqx_authn): verify_claims is list(), therefor default must match 2023-06-02 10:24:33 +02:00
Stefan Strigler
15c7c281ca fix: don't convert empty list default 2023-06-02 10:03:01 +02:00
Stefan Strigler
190e44f8be fix: brackets not allowed in swagger schema for component names 2023-06-02 10:03:01 +02:00
Stefan Strigler
8fdc9de9e9 fix: empty properties as empty map so it ends up as a json object 2023-06-02 10:03:01 +02:00
Stefan Strigler
e62bd63199 fix: don't add summary, remove it instead 2023-06-02 10:03:01 +02:00
Stefan Strigler
ef2581d13b fix: remove unsupported schema properties 2023-06-02 10:03:01 +02:00
Stefan Strigler
12a4e48727 fix: add definition for bearerAuth 2023-06-02 10:03:01 +02:00
zhongwencool
8d8efe449e
Merge pull request #10896 from zhongwencool/api-keys-hot-conf-update
feat: api_key conf support hot conf
2023-06-02 15:58:45 +08:00
zhongwencool
dd85c981cd
Merge pull request #10783 from zhongwencool/improve-authn
feat: load changes to the authentication configuration from command line
2023-06-02 15:58:13 +08:00
zhongwencool
9d8a5716ec
Merge pull request #10822 from zhongwencool/authz-improve
feat: support emqx_config:update([authrization],Conf) update
2023-06-02 15:43:09 +08:00
lafirest
0f8824b40f
Merge pull request #10921 from lafirest/test/rocketmq_acl
test(rocketmq): add an ACL test case
2023-06-02 15:37:46 +08:00
Stefan Strigler
1e1003e4e6
Merge pull request #10912 from sstrigler/EMQX-9966-remove-set-the-online-client-keepalive-by-seconds-from-doc
remove set the online client keepalive by seconds from doc
2023-06-02 09:08:57 +02:00
Ivan Dyachkov
1761e669f0
Merge pull request #10916 from id/0601-add-ui-tests-in-ci
ci: add ui(dashboard) tests based on pytest and selenium
2023-06-02 09:07:41 +02:00
firest
ea9b1e13d5 test(rocketmq): add an ACL test case 2023-06-02 11:19:06 +08:00
某文
367a0e312a chore: remove config_path() function 2023-06-02 07:09:08 +08:00
Thales Macedo Garitezi
e47e2c9c12 ci(fvt): add pytest-retry plugin 2023-06-01 18:05:27 -03:00
Andrew Mayorov
76e5243211
Merge pull request #10901 from fix/EMQX-9985/ft-fin-checksum
fix(ft): respect checksum in `fin` packets
2023-06-01 23:49:55 +03:00
Thales Macedo Garitezi
7055bd8564
Merge pull request #10535 from thalesmg/spellcheck-assert-file-exists-v50
ci: check if given schema.json exists before running spellcheck
2023-06-01 17:18:38 -03:00
Thales Macedo Garitezi
0072f4a598 fix(ecpool,bridge): treat {error, ecpool_empty} as a retriable error
Example from flaky CI test:

```
/emqx/apps/emqx_resource/src/emqx_resource_buffer_worker.erl:716 2023-06-01T19:30:37.119862+00:00 [buffer_worker_flush_ack] #{batch_or_query => [{query,undefined,{send_message,#{payload => <<"-576460752303420927">>,timestamp => 1668602148000,topic => <<"t_write_failure">>}},false,-576460614954536809}],queue_count => 0,result => {async_return,{error,{unrecoverable_error,ecpool_empty}}},'~meta' => #{gl => <0.3883.5>,node => 'test@127.0.0.1',pid => <0.4724.5>}}.
```
2023-06-01 17:13:06 -03:00
Paulo Zulato
364601c3aa
Merge pull request #10892 from paulozulato/block-oracle-default-database-connection
fix(oracle): require either sid or service name
2023-06-01 15:04:03 -03:00
Ivan Dyachkov
8cdb1458c7 ci: add ui(dashboard) tests based on pytest and selenium 2023-06-01 20:01:24 +02:00
Thales Macedo Garitezi
7d3ce14835 test: rm unused var warning 2023-06-01 14:00:43 -03:00
Thales Macedo Garitezi
648b8231ef fix(plugins): avoid crashing when fetching error reason 2023-06-01 14:00:43 -03:00
Thales Macedo Garitezi
64258120d7 fix(plugins): use emqx:running_nodes for multicall operations
Fixes https://emqx.atlassian.net/browse/EMQX-10079
2023-06-01 14:00:43 -03:00
某文
2e5401f3cb fix: delete rule_engine failed 2023-06-02 00:30:07 +08:00
Thales Macedo Garitezi
d320497d0c
Merge pull request #10904 from thalesmg/fix-global-gc-config-get-v50
test(global_gc): fix flaky test
2023-06-01 13:23:16 -03:00
Thales Macedo Garitezi
3e4790edd4 test(pulsar_producer): fix flaky test 2023-06-01 13:01:58 -03:00
Thales Macedo Garitezi
99796224d8 refactor(resource): rename request_timeout -> request_ttl
See
https://emqx.atlassian.net/wiki/spaces/P/pages/612368639/open+e5.1+remove+auto+restart+interval+from+buffer+worker+resource+options
2023-06-01 13:01:53 -03:00
某文
c27d844244 feat: improve authz/bridge/rule_engine/schema_registry config update 2023-06-01 23:20:56 +08:00
Stefan Strigler
9c76aa901e fix(emqx_mgmt_api_clients): hide set_keepalive_seconds from swagger 2023-06-01 16:57:19 +02:00
某文
94b86f01a5 chore: reformat SUITE case 2023-06-01 22:32:31 +08:00
zhongwencool
21df321d89
Merge branch 'master' into improve-authn 2023-06-01 22:24:59 +08:00
Thales Macedo Garitezi
f42ccb6262 feat(resource): increase default request timeout to 45 s
See
https://emqx.atlassian.net/wiki/spaces/P/pages/612368639/open+e5.1+remove+auto+restart+interval+from+buffer+worker+resource+options
2023-06-01 11:20:06 -03:00
Thales Macedo Garitezi
10425eb925 feat(resource): deprecate auto_restart_interval in favor of health_check_interval
See:
https://emqx.atlassian.net/wiki/spaces/P/pages/612368639/open+e5.1+remove+auto+restart+interval+from+buffer+worker+resource+options

Current problem:

In 5.0.x, we have two timer options that control the state changing of buffer worker
resources: auto_restart_interval and health_check_interval.

- auto_restart_interval controls how often the resource attempts to transition from
disconnected to connected.

- health_check_interval controls how often the resource is checked and potentially moved
from connected to disconnected or connecting.

The existence of two independent timers for very similar purposes is confusing to users,
QA and even developers.  Also, an intimately related configuration is request_timeout,
which can interact badly with auto_restart_interval if the latter is poorly configured:
requests may always expire if request_timeout < auto_restart_interval and if the resource
enters the disconnected state.  For health_check_interval, we attempt to derive a sane
default that gives requests a chance to retry (if request timeout is finite, then the
resource retries requests with a period of min(health_check_interval, request_timeout /
3).

Another problem with the separate auto_restart_interval is that its default value (60 s)
is too high when compared to the default request timeout and health check, leading to the
problems described above if not tuned.

Proposed solution:

We propose to drop auto_restart_interval in favor of health_check_interval, which will be
used for both disconnected -> connected and connected -> {disconnected, connecting}
transition checks.  With that, the resource will attempt to reconnect at the same interval
as the health check, which currently is 15 s.

Also, as two smaller changes to accompany this one:

- Increase the default request_timeout from 15 s to 45 s.
- Rename request_timeout to request_ttl.
2023-06-01 11:20:06 -03:00