William Yang
c38cec77a7
Merge pull request #10417 from qzhuyan/perf/william/no-make-ref-in-get-config
...
perf(config): eliminate make_ref() calls in config get calls
2023-05-03 16:56:44 +02:00
William Yang
2ded8e3836
Merge pull request #10577 from qzhuyan/dev/william/importance-mark-quic-listener
...
chore(schema): mark deprecated quic listener fields ?IMPORTANCE_HIDDEN
2023-05-03 13:23:32 +02:00
Andrew Mayorov
754045173e
chore: bump `snabbkaffe` to 1.0.8
2023-05-03 11:16:51 +03:00
Zaiming (Stone) Shi
66112fceed
Merge pull request #10572 from zmstone/0502-merge-release-50-back-to-master
...
0502 merge release 50 back to master
2023-05-03 09:01:35 +02:00
Ilya Averyanov
0272cf4473
Merge pull request #10571 from savonarola/0502-do-not-pullute-logs-on-metrics-stop
...
Do not complain on nonexisting ets while `emqx_topic_metrics` stops
2023-05-03 09:44:25 +03:00
William Yang
b418cc766d
test: update emqx_gateway_conf_SUITE
...
for error return messages
2023-05-02 22:59:24 +02:00
William Yang
a4a5599636
chore(schema): mark deprecated quic listener fields ?IMPORTANCE_HIDDEN
2023-05-02 22:20:39 +02:00
Thales Macedo Garitezi
8aa7c014e7
perf(buffer_worker): avoid calling `ets:info/2`
...
(Almost?) fixes https://emqx.atlassian.net/browse/EMQX-9637
During the course of performance tests comparing the performance of
e5.0.3 and e4.4.16 regarding the webhook bridge in sync mode, we
observed that the throughput in e5.0.3 (sync) was much lower than in
e4.4.16: ~ 9 k msgs / s vs. ~ 50 k msgs / s, respectively.
Analyzing `observer_cli` output, we noticed that a lot of the time
both buffer workers and ehttpc processes was spent in `ets:info/2`.
That function was called to check the size of the inflight table when
updating metrics and checking if the inflight table was full. Other
uses of `ets:info/2` were contained inside the arguments to some
`?tp/2` macro usages (https://github.com/kafka4beam/snabbkaffe/pull/60 ).
By using a specific record to track the size of the table, we managed
to improve the bridge performance to ~ 45 k msgs / s in sync mode.
2023-05-02 17:05:32 -03:00
William Yang
c7af43bd72
chore: bump app vsn emqx 5.0.25
2023-05-02 21:51:43 +02:00
William Yang
e5884e0e87
chore: remove unused mqtt cap 'subscription_identifiers'
2023-05-02 21:50:36 +02:00
William Yang
be6cd5705f
fix(mqtt-cap): use global config as defaults
...
Don't use default values in module, use global mqtt config as default
2023-05-02 21:50:36 +02:00
William Yang
df0911be6e
Revert "perf: keep defaults of zone.mqtt"
...
This reverts commit 6184bc02ee30aa2d022793762e626893a8a32599.
2023-05-02 21:50:36 +02:00
William Yang
77405d9cd7
perf: keep defaults of zone.mqtt
2023-05-02 21:50:36 +02:00
William Yang
265c9ea668
chore: bump emqx app vsn to 5.0.25
2023-05-02 21:50:36 +02:00
William Yang
3d7201502b
perf(config): avoid build new map in emqx_mqtt_caps:get_caps
2023-05-02 21:50:36 +02:00
William Yang
77f67a9d07
perf(config): get_raw with 'binary' root key
2023-05-02 21:49:55 +02:00
William Yang
ce6343a4f3
perf(config): ensure root keys of 'conf' config is atom
2023-05-02 21:49:55 +02:00
Zaiming (Stone) Shi
a4bc15cfa1
Merge remote-tracking branch 'origin/master' into 0502-merge-release-50-back-to-master
2023-05-02 18:59:31 +02:00
Thales Macedo Garitezi
f6da18dc1b
fix(webhook): consider `{shutdown, closed}` return as recoverable
2023-05-02 13:12:03 -03:00
Zaiming (Stone) Shi
d5f5f35787
Merge remote-tracking branch 'origin/release-50' into 0502-merge-release-50-back-to-master
2023-05-02 18:08:04 +02:00
Andrew Mayorov
90cf1ade74
chore: bump application versions
...
* emqx_connector 0.1.22
* emqx_bridge_gcp_pubsub 0.1.1
* emqx_bridge_kafka 0.1.2
* emqx_bridge_pulsar 0.1.1
* emqx_ee_connector 0.1.12
2023-05-02 17:29:22 +03:00
Andrew Mayorov
670709f746
feat(resource): ensure uniqueness through `gproc`
...
Also use it instead of a custom ETS table for simplicity and
better consistency. This has drawbacks though: expect slightly
increased load on gproc gen_server due to how `gproc:set_value/2`
works.
2023-05-02 17:29:22 +03:00
Andrew Mayorov
4575167607
feat(resource): drop `manager_id()` type
2023-05-02 17:29:20 +03:00
Andrew Mayorov
aaef95b1da
feat(resman): stop adding uniqueness to manager ids
...
Before this change, a separate `manager_id` / `instance_id` was used
as resource manager id, which made connector interface somewhat
inconsistent: part of function calls to connector implementation
used instance id as first argument while the rest used resource id
itself.
2023-05-02 17:28:26 +03:00
Thales Macedo Garitezi
2c4fd98ce5
Merge pull request #10559 from thalesmg/pulsar-more-tests-v50
...
test(pulsar): add more test cases for Pulsar Producer bridge
2023-05-02 10:16:17 -03:00
Thales Macedo Garitezi
654d274039
Merge pull request #10562 from thalesmg/fix-webhook-async-shutdown-normal-reply-r50
...
fix(webhook): treat `{shutdown, normal}` and `{closed, _}` async replies as retriable
2023-05-02 10:08:18 -03:00
Zaiming (Stone) Shi
0fd5fee4ca
Merge pull request #10547 from zmstone/0427-default-listeners-in-schema
...
0427 default configs in schema
2023-05-02 15:03:49 +02:00
Ilya Averyanov
791010a65c
chore(topic_metrics): do not complain on nonexisting ets while topic metrics stop
2023-05-02 15:59:50 +03:00
Zaiming (Stone) Shi
4d60b0da1d
Merge pull request #10459 from zmstone/0420-delete-old-code
...
0420 delete old code
2023-05-02 13:27:51 +02:00
Zaiming (Stone) Shi
cad4144773
Merge pull request #10536 from zmstone/0118-for-better-test-coverage
...
0118 for better test coverage
2023-05-02 13:26:22 +02:00
Zaiming (Stone) Shi
2dd9191718
refactor: use different terms for config tombstone
...
there are 3 different kind of Erlang terms for tombstone related configs
1. the schema type (must be an atom)
2. the config value (must be a binary)
3. the config change comamnd (request) which is only used
in the code, but never persisted
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
b1dfbf7984
refactor: move shared macros to header file
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
674f837f36
refactor(emqx_listeners): better variable names
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
29c9edeb4c
test(emqx_delayed_SUITE): fix flaky test
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
37bf12c29e
test(emqx_telemetry_SUITE): fix flakyness
2023-05-02 13:24:59 +02:00
Zaiming (Stone) Shi
c825102bed
fix(authz): ensure acl.conf path template rendered
2023-05-02 09:10:04 +02:00
Zaiming (Stone) Shi
a3b1664c06
test: allow inter-test case config dependency for emqx_exhook_SUITE
2023-05-01 20:15:47 +02:00
Zaiming (Stone) Shi
b65a71b498
test: allow emqx_ws_connection_SUITE to run without erasing configs
2023-05-01 19:37:12 +02:00
Zaiming (Stone) Shi
95cb262067
test: fix authn test cases
2023-05-01 18:42:45 +02:00
Zaiming (Stone) Shi
a03f2dd64b
test: allow pre-load configs before emqx_conf app
2023-05-01 15:35:33 +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
475dee32ee
test(emqx_dashboard): refine spec error
2023-04-30 17:28:41 +02:00
Zaiming (Stone) Shi
57cc854a4a
test(bridge): fix bridge map type filed converters
...
now the converters on map type fields only work at the wrapping map
level but not the values
2023-04-30 10:45:11 +02:00
Zaiming (Stone) Shi
03ae61569f
test(authn): fix test case after authentication default value added
2023-04-30 10:18:18 +02:00
Zhongwen Deng
2ab0e30489
chore: seperate avail and default tls version
2023-04-30 10:48:54 +08:00
Zhongwen Deng
d8c4c6637b
feat: mark ssl_options.password as low level
2023-04-30 10:48:54 +08:00
Zhongwen Deng
cc2d529562
feat: remove tlsv1.1,tlsv1,dtlsv1 from default ssl version
2023-04-30 10:48:54 +08:00
Zhongwen Deng
b0eca5bc00
feat: aliases etcd.ssl to etcd.ssl_options
2023-04-30 10:48:54 +08:00
Zaiming (Stone) Shi
2e9dca280c
refactor(listener-schema): use a tombstone for deleted listeners
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
c13a972bf0
test(emqx_management): add test group for listener API
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
b3c0abf494
test(emqx_management): fix listeners api test cases
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
dbf9bae7dc
test(statsd): fix raw config default value
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
4d705817d8
refactor(log): move default values to schema
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
41f13330ba
refactor: export EMQX_LOG_DIR
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
a1551213c8
test: EMQX_ETC_DIR for test is app's etc dir
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
e0dc5645ab
fix(config): always fill defautls for all roots
...
prior to this commit, if a root existed in config files
it skips populating default values in raw config,
this made impossible to add default values for authz sources.
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
5acf0e281e
refactor: delete default authz config from emqx.conf
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
7c5a9e0e20
refactor: move the env interpolation function to emqx_schema
...
also added test cases
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
b0f3a654ee
refactor: delete default listeners from default config
...
The new config overriding rule is very much confusing for
people who wants to persist listener config changes made from
dashboard
This commit moves the default values from default config file
to schema source code.
In order to support build-time cert path at runtime, there
is also a naive environment variable interplation feature added.
2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi
c58ffce75f
fix(hocon): pin 0.38.2 with the map type value converter fixed
2023-04-29 22:10:19 +02:00
Thales Macedo Garitezi
a19621e533
fix(webhook): treat `{shutdown, normal}` and `{closed, _}` async reply as retriable
...
Apparently, the async reply returned by ehttpc can be `{shutdown,
normal}` or `{closed, "The connection was lost."}`, in which case the
request should be retried.
```
Apr 28 17:40:41 emqx-0.int.thales bash[48880]: 17:40:41.803 [error] [id: "bridge:webhook:webhook", msg: :unrecoverable_error, reason: {:shutdown, :normal}]
Apr 28 18:36:37 emqx-0.int.thales bash[53368]: 18:36:37.605 [error] [id: "bridge:webhook:webhook", msg: :unrecoverable_error, reason: {:closed, 'The connection was lost.'}]
```
2023-04-28 18:07:32 -03: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
Zaiming (Stone) Shi
d3a26b45be
docs: update config note
2023-04-28 22:23:30 +02:00
Thales Macedo Garitezi
633eacad3b
test(pulsar): add more test cases for Pulsar Producer bridge
...
Fixes https://emqx.atlassian.net/browse/EMQX-8400
2023-04-28 10:47:03 -03:00
Andrew Mayorov
bd9f129bb8
test(ft-api): also run testcases under cluster setup
2023-04-28 13:50:23 +03:00
Andrew Mayorov
a9866fede4
feat(ft-api): support paging in S3 storage exporter
2023-04-28 13:49:17 +03:00
Andrew Mayorov
75cceffa06
fix(ft-test): rename testcases for consistency
2023-04-28 13:49:17 +03:00
Andrew Mayorov
ed3756ea09
feat(ft-api): add paging support through cursors
2023-04-28 13:49:15 +03:00
Andrew Mayorov
573bb22ada
feat(ft-fs): introduce fs iterators concept + forward seeks
...
In order to support paging over filesystem contents, to serve REST
APIs effectively.
2023-04-28 13:47:50 +03:00
Andrew Mayorov
a79cf681f7
fix(s3): drop default from `acl` config field
2023-04-28 10:54:21 +03:00
Andrew Mayorov
811e449357
feat(ft-conf): provide global killswitch
2023-04-28 10:54:21 +03:00
Zaiming (Stone) Shi
6e36139a17
chore: bump to e5.0.3-alpha.5
2023-04-27 22:56:34 +02:00
Thales Macedo Garitezi
270fa5d19d
Merge pull request #10550 from thalesmg/fix-ocsp-disabled-r50
...
fix(ocsp): disable periodic refresh when listener or stapling are disabled
2023-04-27 17:22:44 -03:00
Thales Macedo Garitezi
928ca7d565
Merge pull request #10538 from thalesmg/rel-e503-alpha4
...
chore: bump release version to `e5.0.3-alpha.4`
2023-04-27 16:37:08 -03:00
Paulo Zulato
5f835627f9
Merge pull request #10498 from paulozulato/master
...
feat(oracle): Oracle Database integration
2023-04-27 16:05:23 -03:00
Thales Macedo Garitezi
2bb40787f7
Merge pull request #10552 from thalesmg/fix-flaky-banned-test-v50
...
test(banned): attempt to fix flaky test
2023-04-27 15:47:37 -03:00
Thales Macedo Garitezi
0bd4beae6e
Merge pull request #10549 from thalesmg/tests-is-ci-var-v50
...
ci: set `IS_CI=yes` when running tests
2023-04-27 14:12:31 -03:00
Thales Macedo Garitezi
d845c4807d
fix(ocsp): disable periodic refresh when listener or stapling are disabled
...
Fixes https://emqx.atlassian.net/browse/EMQX-9773
2023-04-27 14:02:55 -03:00
Thales Macedo Garitezi
d0c4c70f74
test(banned): attempt to fix flaky test
...
Example failure:
https://github.com/emqx/emqx/actions/runs/4821105856/jobs/8587006829#step:8:4495
```
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
emqx_common_test_helpers:wait_for_down failed on line 434
Reason: {{t_session_taken,178,timeout},[{emqx_common_test_helpers,...},{...}|...]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Testing lib.emqx.emqx_banned_SUITE: *** FAILED test case 4 of 5 ***
%%% emqx_banned_SUITE ==> t_session_taken: FAILED
%%% emqx_banned_SUITE ==> {{t_session_taken,178,timeout},
[{emqx_common_test_helpers,wait_for_down,6,
[{file,"/__w/emqx/emqx/source/apps/emqx/test/emqx_common_test_helpers.erl"},
{line,434}]},
{emqx_banned_SUITE,t_session_taken,1,
[{file,"/__w/emqx/emqx/source/apps/emqx/test/emqx_banned_SUITE.erl"},
{line,176}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1782}]},
{test_server,run_test_case_eval1,6,[{file,"test_server.erl"},{line,1291}]},
{test_server,run_test_case_eval,9,[{file,"test_server.erl"},{line,1223}]}]}
```
2023-04-27 13:19:26 -03:00
Paulo Zulato
43bb6f00ca
fix(oracle): drop support for async queries
...
jamdb_oracle does not provide interface for performing async queries and
ecpool does not monitor the worker which calls jamdb_oracle, so it's
safer to keep support for sync queries only.
2023-04-27 13:07:20 -03:00
Paulo Zulato
dd90b2f498
feat(oracle): Oracle Database integration
2023-04-27 13:07:20 -03:00
Thales Macedo Garitezi
c984449bad
Merge pull request #10530 from thalesmg/fix-wait-ssl-crl-test-v50
...
test(crl): ensure ssl_manager is ready to avoid flakiness
2023-04-27 11:59:34 -03:00
Thales Macedo Garitezi
521b549049
test(peer): define cookie when using `ct_slave` module
2023-04-27 11:58:40 -03:00
Thales Macedo Garitezi
7853a4c36e
chore: bump app vsns
2023-04-27 11:58:28 -03:00
Thales Macedo Garitezi
567413389c
Merge pull request #10519 from thalesmg/fix-flaky-res-test-v50
...
test(resource): fix flaky test
2023-04-27 09:33:40 -03:00
Thales Macedo Garitezi
99448151e9
test(crl): ensure ssl_manager is ready to avoid flakiness
...
Example failure: https://github.com/emqx/emqx/actions/runs/4806430125/jobs/8555021522?pr=10524#step:8:49138
2023-04-27 09:12:40 -03:00
Zhongwen Deng
e789e57b65
chore: change node.data_dir from hidden to low
2023-04-27 14:41:23 +08:00
firest
ce2f2217ee
chore: bump versions
2023-04-27 10:36:50 +08:00
firest
262f0e8dd9
chore: update README
2023-04-27 10:31:19 +08:00
Thales Macedo Garitezi
7e24b35bb3
chore: bump release version to `e5.0.3-alpha.4`
2023-04-26 17:09:39 -03:00
Zaiming (Stone) Shi
0c284ce5fe
chore: bump app versions
2023-04-26 20:50:06 +02:00
Zaiming (Stone) Shi
d89975c6ee
test: add a test case for emqx_machine:node_status
2023-04-26 20:48:53 +02:00
Zaiming (Stone) Shi
51cd83e70f
refactor: delete dead code
2023-04-26 20:48:53 +02:00
Ivan Dyachkov
31e54d0598
Merge pull request #10532 from id/0426-v5.0.24
...
0426 v5.0.24
2023-04-26 19:21:22 +02:00
Zaiming (Stone) Shi
75294a4f73
Merge pull request #10513 from zmstone/0424-EMQX-9689-stop-providing-desc-and-label-in-schemas-api
...
0424 emqx 9689 stop providing desc and label in schemas api (part 1)
2023-04-26 19:04:33 +02:00
Thales Macedo Garitezi
c53741a08c
fix(buffer_worker): avoid sending late reply messages to callers
...
Fixes https://emqx.atlassian.net/browse/EMQX-9635
During a sync call from process `A` to a buffer worker `B`, its call
to the underlying resource `C` can be very slow. In those cases, `A`
will receive a timeout response and expect no more messages from `B`
nor `C`. However, prior to this fix, if `B` is stuck in a long sync
call to `C` and then gets its response after `A` timed out, `B` would
still send the late response to `A`, polluting its mailbox.
2023-04-26 13:18:28 -03:00
Ivan Dyachkov
35c48ef009
chore: v5.0.24
2023-04-26 18:02:44 +02:00
Zaiming (Stone) Shi
ed7a8659d2
feat: add a json format support for the /status API
2023-04-26 14:41:33 +02:00
Zaiming (Stone) Shi
9260b5ec6c
test(emqx_dashboard): add test case for api/v5/schemas API
2023-04-26 14:41:33 +02:00
Zaiming (Stone) Shi
55c488fa95
refactor: stop generating static hot-conf and bridges schema files
2023-04-26 14:41:33 +02:00
Zaiming (Stone) Shi
28a68a0ec7
refactor: stop i18n support in hotconf and bridges
...
frontend team has decided to deal with translations all by themselves
2023-04-26 14:41:33 +02:00
Thales Macedo Garitezi
d78312e10e
test(resource): fix flaky test
2023-04-26 09:25:33 -03:00
William Yang
15fe445c66
Merge pull request #10527 from qzhuyan/test/william/test-use-os-selected-port
...
fix(test): avoid port collision
2023-04-26 13:39:36 +02:00
William Yang
abf150518c
fix(test): avoid port collision
...
Use OS selected free port to avoid port collision among the test runs.
2023-04-26 12:16:16 +02:00
William Yang
5ed3c3a92c
perf(config): eliminate make_ref() calls in config get calls
2023-04-26 10:58:08 +02:00
SergeTupchiy
d398276852
Merge pull request #10518 from SergeTupchiy/upgrade-ekka-to-0.15.1-mria-0.5.2
...
chore: bump ekka to 0.15.1
2023-04-26 11:03:23 +03:00
zhongwencool
c78004001c
Merge pull request #10481 from HJianBo/hidden-bad-link
...
chore: hide bad links in README files
2023-04-26 15:22:30 +08:00
zhongwencool
62e1dbdb4e
Merge pull request #10521 from zhongwencool/sync-release-50-to-master
...
Sync release 50 to master
2023-04-26 14:27:51 +08:00
zhongwencool
713e050a79
Merge pull request #10512 from zhongwencool/hocon-0.39.3
...
feat: improved the storage format of Unicode characters in data files
2023-04-26 13:59:51 +08:00
zhongwencool
9d893b49eb
Merge branch 'master' into sync-release-50-to-master
2023-04-26 10:54:46 +08:00
Thales Macedo Garitezi
79cf5cad19
Merge pull request #10378 from thalesmg/pulsar-producer-e50
...
feat: implement Pulsar Producer bridge (e5.0)
2023-04-25 18:01:43 -03:00
Serge Tupchii
19b5ebff81
chore: bump ekka to 0.15.1
...
ekka 0.15.1 uses mria 0.5.2, which includes the following changes:
- fix(mria_membership): call `mria_rlog:role/1` safely
- feat: add extra field to ?rlog_sync table (for future use)
2023-04-25 23:21:07 +03:00
Thales Macedo Garitezi
b56a158a54
fix(pulsar): fix function return typespec
2023-04-25 14:29:40 -03:00
Thales Macedo Garitezi
f69ebdcd1a
test(pulsar): teardown tls group
2023-04-25 14:27:24 -03:00
Thales Macedo Garitezi
4cc4c4ffaa
style: format rebar.config file
2023-04-25 14:26:19 -03:00
Thales Macedo Garitezi
a703707803
chore: tag e5.0.3-alpha.3
2023-04-25 10:51:34 -03:00
Thales Macedo Garitezi
fe1c3cd1a7
Merge pull request #10503 from thalesmg/fix-kconsumer-flaky-test-v50
...
test: attempt to fix flaky test
2023-04-25 09:33:58 -03:00
Thales Macedo Garitezi
3138e2b3a1
chore: un-hide ocsp stapling config
...
Undoing https://github.com/emqx/emqx/pull/10160
2023-04-25 09:33:24 -03:00
Zhongwen Deng
308056f0fc
feat: improved the storage format of Unicode characters in data files
2023-04-25 18:08:34 +08:00
Zhongwen Deng
d6208d8847
test: add test for depreated config file
2023-04-25 14:47:05 +08:00
JianBo He
699bd4b85b
Merge pull request #10451 from HJianBo/update-conf-plugin-readme
...
chore: update README files
2023-04-25 14:43:55 +08:00
Zhongwen Deng
f84fc6f8b9
fix: can't update authentication when cluster-override.conf
2023-04-25 11:59:06 +08:00
zhongwencool
79a235f8b5
Merge pull request #10491 from zhongwencool/rename-etcd-ssl-to-ssl_options
...
feat: rename etcd.ssl to etcd.ssl_options
2023-04-25 10:49:09 +08:00
Zhongwen Deng
3f689d0fdf
feat: don't do rpc call to check deprecated file
2023-04-25 10:10:56 +08:00
zhongwencool
996d5eee45
Merge pull request #10493 from zhongwencool/remove-dashboard-default-username-conf
...
chore: remove dashboard's default username from emqx.conf
2023-04-25 09:45:30 +08:00
lafirest
29d3afd692
Merge pull request #10487 from lafirest/fix/limiter_instance
...
fix(limiter): optimize the instance of limiter
2023-04-25 09:43:04 +08:00
Andrew Mayorov
a420c92d28
fix(ft): fix typing issue
2023-04-24 21:51:54 +03:00
Andrew Mayorov
5efd590ca4
feat(ft): properly propagate config updates
...
Ensure that:
* Storage config might be removed.
* Local FS GC process is set up when Local FS storage is configured.
* Local FS GC process gets its timer reset on config updates.
* Storage / exporter gets chosen based on `type` only.
* Exporter config updates propagated as before.
Also employ `emqx_ft_schema:translate/1` instead of duplicating
defaults where applicable.
2023-04-24 21:51:54 +03:00
Thales Macedo Garitezi
e9fde12913
test: attempt to fix flaky test
...
Example failure: https://github.com/emqx/emqx/actions/runs/4789177314/jobs/8517116154#step:7:503
2023-04-24 15:19:33 -03:00
Serge Tupchii
99e892b5c4
chore: bump ekka to 0.15.0
...
ekka 0.15.0 uses mria 0.5.0, which adds several fixes, enhancements and features:
- protect `mria:join/1,2` with a global lock
- implement new function `mria:sync_transaction/4,3,2`, which waits for
a transaction replication to be ready on the local node
(if the local node is a replicant)
- optimize `mria:running_nodes/0`
- optimize `mria:ro_transaction/2` when called on a replicant node.
Fixes: EMQX-9588 (#10380 ), EMQX-9102, EMQX-9152, EMQX-9213
2023-04-24 20:52:20 +03:00
Thales Macedo Garitezi
377b143325
refactor: split `parse_server` into smaller functions, improve return type to use map
2023-04-24 14:17:29 -03:00
lafirest
2845469c48
Merge pull request #10490 from lafirest/fix/rmv_def_conn_limit
...
fix(limiter): remove the default limit of connect rate
2023-04-24 22:04:29 +08:00
Thales Macedo Garitezi
4f2262129b
refactor: rename `{first_,}key_dispatch` partition strategy option
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
4af6e3eb6e
refactor: rm unused modules
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
120d3e70ea
chore: bump app vsns
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
1e8dd70a11
chore: fix error message and rename variable
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
180b6acd9e
docs: remove auto-generated comment
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
f4a3affd6f
docs: change phrasing after review
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
ad4be08bb2
feat: implement Pulsar Producer bridge (e5.0)
...
Fixes https://emqx.atlassian.net/browse/EMQX-8398
2023-04-24 10:28:26 -03:00
Thales Macedo Garitezi
f6da118ebd
test: fix flaky test
2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
dc48032309
feat(schema): add support for schemes in server parser/validator
2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
4bcfbea056
refactor(kafka_consumer): follow up refactoring requested from previous pull request
...
Follow up from https://github.com/emqx/emqx/pull/10273
2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
26883eec02
test(kafka): fix innocuous test assertion
2023-04-24 09:28:36 -03:00
Thales Macedo Garitezi
8cfb24b5b4
docs(kafka_bridge): minor fixes to license and readme
...
Fixes https://emqx.atlassian.net/browse/EMQX-9481
2023-04-24 09:28:36 -03:00
lafirest
0e96b5d01e
Merge pull request #10483 from lafirest/fix/resource_aovid_crash
...
fix(resource): make sure resource will not crash when stopping
2023-04-24 20:16:01 +08:00
firest
6110aad23f
chore: bump version && update changes
2023-04-24 18:17:23 +08:00
firest
feeb3df994
fix(api): add limiter API back which deleted by mistake
2023-04-24 18:09:17 +08:00
zhongwencool
22d6a2eaee
Merge pull request #10484 from zhongwencool/fix-copy-conf
...
fix: copy cluster-override.conf from old version
2023-04-24 17:06:07 +08:00
Zhongwen Deng
275967a49f
chore: remove dashboard's default username from emqx.conf
2023-04-24 16:13:42 +08:00
Zaiming (Stone) Shi
366aa53c80
Merge pull request #10462 from zmstone/0430-EMQX-8434-shared-dispatch-ack-deprecated
...
chore: Hide config shared_dispatch_ack_enabled
2023-04-24 09:42:09 +02:00
Zhongwen Deng
db0c951e30
feat: don't do rpc call to check deprecated file
2023-04-24 15:31:02 +08:00
Ivan Dyachkov
988e4ec1aa
Merge pull request #10476 from id/e5.0.3-alpha.2
...
chore: e5.0.3-alpha.2
2023-04-24 09:08:29 +02:00
Zhongwen Deng
0b1a2dd193
feat: rename etcd.ssl to etcd.ssl_options
2023-04-24 14:40:30 +08:00
firest
7b51a49f84
fix(limiter): remove the default limit of connect rate
2023-04-24 14:09:23 +08:00
firest
c2e35a42b0
fix(limiter): optimize the instance of limiter
...
We can reduce a limiter container with all types are `infinity` to just a `infinity` atom
2023-04-24 10:43:55 +08:00
某文
8bfee90322
chore: make static_check happy
2023-04-23 20:06:51 +08:00
某文
6dcecfed40
chore: make static_check happy
2023-04-23 19:47:57 +08:00
某文
b4c16d37c7
chore: make static_check happy
2023-04-23 18:09:51 +08:00
某文
f96c1630e1
chore: pin emqx_conf to 0.17.0
2023-04-23 17:30:07 +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
某文
7af9c18caa
fix: copy cluster-override.conf from old version
2023-04-23 15:43:18 +08:00
firest
7d2c336ab7
fix(resource): make sure resource will not crash when stopping
2023-04-23 15:31:08 +08:00
firest
5ad5d7ee8d
fix(opents): adjust code structure
2023-04-23 14:28:14 +08:00
JianBo He
6e1d6f1991
chore: hide bad links in README files
2023-04-23 11:27:59 +08:00
firest
540518eac3
chore: add README for OpenTSDB bridge
2023-04-23 11:22:48 +08:00
firest
0b46acda87
test(opents): add test cases for OpenTSDB
2023-04-23 11:03:20 +08:00
firest
5074825075
feat(opents): OpenTSDB integration
2023-04-23 09:56:24 +08:00
Ilya Averyanov
69c4ba2a62
feat(ft): use new utils application
2023-04-22 22:50:19 +03:00
Ivan Dyachkov
6beb9e00b6
chore: e5.0.3-alpha.2
2023-04-22 20:09:40 +02:00
Zaiming (Stone) Shi
ceafc52ad6
refactor: use emqx_utils_ets for ets table creation
2023-04-22 09:07:15 +02:00
Ilya Averyanov
ebb75b275e
feat(ft): update app versions
2023-04-21 17:52:13 +03:00
Ilya Averyanov
0211bcf030
Merge branch 'master' into file-transfer
...
* master: (279 commits)
chore: shorten ct/run.sh script
chore: rename cassandra_impl to cassandra_connector
chore: fix mix.exs checking
refactor(cassandra): move cassandra bridge into its own app
chore: apply review suggestions
chore: update changes/ce/fix-10449.en.md
test: add a test for authn {}
chore: add changlog for authn_http validation
fix: always check authn_http's header and ssl_option
chore: apply suggestions from code review
fix(emqx_bridge): validate Webhook bad URL and return 'BAD_REQUEST' if it's invalid
fix(emqx_alarm): add safe call API to activate/deactivate alarms and use it in resource_manager
perf(emqx_alarm): use dirty Mnesia operations to activate an alarm
ci: simplify find-apps.sh for ee apps
perf(emqx_resource): don't reactivate alarms on reoccurring errors
ci: check if Elixir files are formatted in pre-commit hook
fix(dynamo): fix field name errors
chore: remove *_collector for prometheus api's example
chore: make plugins config to low level
chore: re-split dynamo i18n file
...
2023-04-21 17:37:17 +03:00
某文
df31a8a342
test: conf_schema_tests failed
2023-04-21 20:29:14 +08:00
Zaiming (Stone) Shi
701a1f65f9
chore: Hide config shared_dispatch_ack_enabled
2023-04-21 13:59:55 +02:00
JianBo He
b270623c46
chore: rename cassandra_impl to cassandra_connector
2023-04-21 16:49:25 +08:00
JianBo He
cea0502160
chore: update apps/emqx_conf/README.md
...
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-04-21 16:23:47 +08:00
Zhongwen Deng
1db38de71f
chore: apply review suggestions
2023-04-21 15:32:16 +08:00
Zhongwen Deng
dc92b4f63f
test: add a test for authn {}
2023-04-21 15:30:17 +08:00
Zhongwen Deng
397e28f5a4
chore: add changlog for authn_http validation
2023-04-21 15:30:05 +08:00
Zhongwen Deng
c1000ccaed
fix: always check authn_http's header and ssl_option
2023-04-21 15:29:51 +08:00
JianBo He
5cc28a7b45
chore: fix mix.exs checking
2023-04-21 14:46:09 +08:00
JianBo He
bdce32e713
refactor(cassandra): move cassandra bridge into its own app
2023-04-21 14:45:38 +08:00
JianBo He
6532cfb337
Merge pull request #10452 from thalesmg/refactor-gcp-pubsub-bridge-v50
...
refactor(gcp_pubsub): move GCP PubSub Bridge to its own app
2023-04-21 14:42:00 +08:00
Zhongwen Deng
fdf9b2a383
chore: apply review suggestions
2023-04-21 12:19:38 +08:00
Zhongwen Deng
1e54d23d31
test: add a test for authn {}
2023-04-21 11:54:45 +08:00
Zhongwen Deng
2aef9ca215
chore: add changlog for authn_http validation
2023-04-21 11:54:45 +08:00
Zhongwen Deng
8e8ba6ce7e
fix: always check authn_http's header and ssl_option
2023-04-21 11:54:45 +08:00
SergeTupchiy
0b105dcb8d
Merge pull request #10463 from SergeTupchiy/EMQX-9310-webhook-port-validation
...
fix(emqx_bridge): validate Webhook bad URL
2023-04-20 20:48:12 +03:00
Ilya Averyanov
8c4b32580e
Merge pull request #10420 from savonarola/0417-authn-authz-fix-path-quoting
...
Fix path joining and quoting in authn/authz
2023-04-20 18:03:04 +03:00
SergeTupchiy
b38ae7f78f
Merge pull request #10407 from SergeTupchiy/EMQX-9529-resource-manager-crash-on-alarm-timeout
...
fix(emqx_resource): call emqx_alarm safely and don't reactivate alarm on reoccurring errors
2023-04-20 17:53:56 +03:00
Zaiming (Stone) Shi
82e6ce53be
Merge pull request #10460 from zmstone/0420-sync-release-50-to-masteer
...
0420 sync release 50 to masteer
2023-04-20 16:41:50 +02:00
JianBo He
de8da7dc37
Merge pull request #10434 from HJianBo/improve-modules-promethues-readme
...
Improve modules promethues readme
2023-04-20 22:37:54 +08:00
JianBo He
5a7685a341
chore: apply suggestions from code review
...
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-20 22:26:29 +08:00
Serge Tupchii
45254d7d85
fix(emqx_bridge): validate Webhook bad URL and return 'BAD_REQUEST' if it's invalid
...
Fixes: EMQX-9310
2023-04-20 17:21:43 +03:00
Serge Tupchii
423a30fbb3
fix(emqx_alarm): add safe call API to activate/deactivate alarms and use it in resource_manager
...
Don't let 'emqx_resource_manager' crash because of emqx_alarm timeouts.
Fixes: EMQX-9529/#10357
2023-04-20 17:15:13 +03:00
Serge Tupchii
b960d2ecb3
perf(emqx_alarm): use dirty Mnesia operations to activate an alarm
...
Alarms are stored in a local content shard and all 'activate' operations
are serialized as they are called by one process ('emqx_alarm' gen_server), so
using dirty operations gives performance gain without sacrificing consistency.
Fixes: EMQX-9529/#10357
2023-04-20 17:15:13 +03:00
Serge Tupchii
b5eda9f0d1
perf(emqx_resource): don't reactivate alarms on reoccurring errors
...
Avoid unnecessary calls to activate an alarm if it has been already activated.
Fixes: EMQX-9529/#10357
2023-04-20 16:37:33 +03:00
Thales Macedo Garitezi
3f18c5e2e3
Merge pull request #10455 from thalesmg/fix-late-gen-server-replies-buf-worker-v50
...
fix(buffer_worker): avoid sending late reply messages to callers
2023-04-20 10:19:06 -03:00
Zhongwen Deng
4464a31fab
chore: remove *_collector for prometheus api's example
2023-04-20 18:01:27 +08:00
Zhongwen Deng
bcc8f4313b
chore: make plugins config to low level
2023-04-20 18:00:19 +08:00
zhongwencool
72685beb72
Merge pull request #10457 from HJianBo/hide-statsd
...
chore: deprecate statsd
2023-04-20 17:19:33 +08:00
Zaiming (Stone) Shi
415830a0a2
Merge remote-tracking branch 'origin/release-50' into 0420-sync-release-50-to-masteer
2023-04-20 11:03:39 +02:00
Kjell Winblad
7d3367467a
Merge pull request #10408 from kjellwinblad/kjell/rule_engine/add_missing_mongo_date_functions/EMQX-9244
...
feat: add mongo_date functions to the rule engine
2023-04-20 09:46:45 +02:00
JianBo He
794ddd8d73
chore: update changes
2023-04-20 14:23:55 +08:00
JianBo He
712f7b7454
chore: deprecate statsd
2023-04-20 14:15:09 +08:00
Thales Macedo Garitezi
cb995e2033
fix(buffer_worker): avoid sending late reply messages to callers
...
Fixes https://emqx.atlassian.net/browse/EMQX-9635
During a sync call from process `A` to a buffer worker `B`, its call
to the underlying resource `C` can be very slow. In those cases, `A`
will receive a timeout response and expect no more messages from `B`
nor `C`. However, prior to this fix, if `B` is stuck in a long sync
call to `C` and then gets its response after `A` timed out, `B` would
still send the late response to `A`, polluting its mailbox.
2023-04-19 18:27:10 -03:00
Thales Macedo Garitezi
a9bd91fcff
refactor(gcp_pubsub): move GCP PubSub Bridge to its own app
...
Fixes https://emqx.atlassian.net/browse/EMQX-9536
Note: since GCP PubSub is not shared by any authn/authz backend,
there's no need to separate its connector into another app.
2023-04-19 13:24:32 -03:00
Andrew Mayorov
f06300cbed
fix(s3): mark S3 secrets as `sensitive` in schema
2023-04-19 19:05:12 +03:00
Andrew Mayorov
04523b3f81
fix(ft): restrict max filename length in transfers
...
Reject transfers with too long filenames right away, during `init`
handling, to avoid having to deal with filesystem errors later.
2023-04-19 18:48:40 +03:00
lafirest
8ccfbe9e16
Merge pull request #10448 from lafirest/fix/limiter_compatibility
...
fix(limiter): fix compatibility problem of configuration
2023-04-19 23:19:19 +08:00
JianBo He
eda2f0819d
chore: apply suggestions from code review
2023-04-19 21:22:01 +08:00
JianBo He
bd935e34e6
chore: update apps/emqx_modules/README.md
2023-04-19 21:12:24 +08:00
JianBo He
13f50b2ba9
chore: update README files
2023-04-19 21:05:10 +08:00
Thales Macedo Garitezi
cb3ef65775
Merge pull request #10439 from thalesmg/unhide-ocsp-config-v50
...
chore: un-hide ocsp stapling config
2023-04-19 09:21:10 -03:00
firest
4f0c891aa6
chore: bump version && update changes
2023-04-19 15:45:31 +08:00
firest
5455500647
fix(limiter): fix compatibility problem of configuration
2023-04-19 15:12:55 +08:00
lafirest
4591020ac3
Merge pull request #10435 from lafirest/fix/slow_subs_readme
...
chore: add README for slow subscriptions
2023-04-19 10:06:03 +08:00
JianBo He
d947b66327
chore: update apps/emqx_slow_subs/README.md
2023-04-19 09:51:19 +08:00
JianBo He
628a5e6eaf
Merge pull request #10402 from HJianBo/prepared-bridges-apps
...
chore: create dirs and README template for all ee bridges
2023-04-19 09:37:53 +08:00
Thales Macedo Garitezi
6a1ef5e68a
Merge pull request #10422 from thalesmg/fix-plugin-sync-single-node-v50
...
fix(plugins): attempt to extract plugin from current node on startup
2023-04-18 14:39:02 -03:00
Thales Macedo Garitezi
199cbc60d9
chore: un-hide ocsp stapling config
...
Undoing https://github.com/emqx/emqx/pull/10160
2023-04-18 14:38:03 -03:00
Zaiming (Stone) Shi
f361870ca7
refactor: hide sysmon.top config
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
12e549a3a2
refactor: change exhook config importance level from hidden to low
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
be70c7d385
refactor: change rule_engine config importance level from hidden to low
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
30fd9b10f7
refactor: change bridges config importance level from hidden to low
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
d51cc750de
refactor: hide psk user_lookup_fun
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
4d67312bab
refactor: set authz config at 'high' importance level
...
and authorization.sources at 'low' level
prior to this commit, the root was set to 'hidden'
which is not ideal because some may still want to configure
the sources from files
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
6bc33e86be
refactor: set rpc config at 'low' importance level instead of 'hidden'
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
a30e08d06a
refactor: set authn config at 'low' prio instead of 'hidden'
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi
9efbb71ae8
Merge pull request #10441 from zmstone/0418-fix-flakyness
...
test: pick random port number for gcp pubsub mock server
2023-04-18 19:11:30 +02:00
Ivan Dyachkov
c858fba9d4
chore: v5.0.23
2023-04-18 17:34:28 +02:00
Ivan Dyachkov
dc78ecb41c
chore: merge upstream/master
2023-04-18 17:33:32 +02:00
JianBo He
7de6c5b392
chore: update prometheus README
2023-04-18 22:47:26 +08:00
JianBo He
acea64790b
chore: add README for emqx_modoules
2023-04-18 22:47:26 +08:00
JianBo He
46bbcf93f4
Merge pull request #10426 from zhongwencool/conf-changelog
...
chore: update config's changelog and emqx_conf.template
2023-04-18 22:16:45 +08:00
Thales Macedo Garitezi
89cd6cfede
fix(plugins): attempt to extract plugin from current node on startup
...
Fixes https://emqx.atlassian.net/browse/EMQX-9605
Fixes https://github.com/emqx/emqx-elixir-plugin/issues/25
If an user happens to configure a plugin in a lone-node cluster via
environment variables, it would fail to start up as there are no other
nodes to copy the plugin from. Here, we attempt to check if the
package is present in the current node but not yet extracted.
2023-04-18 11:10:23 -03:00
Andrew Mayorov
75813683be
Merge pull request #10371 from ft/EMQX-9257/resource-pool-switch
...
feat(respool): switch to `emqx_resource_pool`
2023-04-18 16:58:17 +03:00
Zaiming (Stone) Shi
97b8f00508
test: pick random port number for gcp pubsub mock server
2023-04-18 15:07:57 +02:00
zhongwencool
59182ee0fc
chore: update apps/emqx_conf/etc/emqx_conf.conf
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-18 21:07:16 +08:00
zhongwencool
9ca09383ba
chore: remove desc from emqx.conf
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-18 21:07:02 +08:00
某文
444196922c
chore: update emqx.conf's note
2023-04-18 20:18:46 +08:00
某文
fbadfc06e4
feat: change exhook, rule_engine, bridge to low importance level instead of hidden
2023-04-18 20:15:19 +08:00
Zhongwen Deng
22a1d05d7b
feat: hide ssl_options.user_lookup_fun
2023-04-18 20:13:44 +08:00
Zhongwen Deng
e3d6fa1f21
chore: update config's changelog and emqx_conf.template
2023-04-18 20:13:44 +08:00
Zaiming (Stone) Shi
d0a7e7c406
Merge pull request #10421 from zmstone/0417-refine-authn-schema-namespace
...
0417 refine authn schema namespace
2023-04-18 14:04:20 +02:00
ieQu1
c0d8e9c402
Merge pull request #10369 from ieQu1/fix-stats-api
...
fix(emqx_management): Ignore results from the nodes that are down
2023-04-18 12:36:55 +02:00
Andrew Mayorov
21e19a33ce
feat(respool): switch to `emqx_resource_pool`
...
Which was previously known as `emqx_plugin_libs_pool`. This is part
of the effort to get rid of `emqx_plugin_libs` application.
2023-04-18 12:51:14 +03:00
zhongwencool
4240720753
Merge pull request #10431 from zhongwencool/delete-trace-limiter-api
...
feat: delete trace/limiter config's hot update api
2023-04-18 17:40:39 +08:00
firest
69e334a77d
chore: reorganize the README to follow template
2023-04-18 17:25:11 +08:00
firest
f3614b2c65
chore: add README for slow subscriptions
2023-04-18 17:13:06 +08:00
ieQu1
a6688ed07a
refactor(emqx_management): Use emqx:running_node function
2023-04-18 10:24:39 +02:00
Zhongwen Deng
d0f30d2f7c
feat: delete trace/limiter config's hot update api
2023-04-18 16:13:17 +08:00
Kjell Winblad
29584ca721
feat: add mongo_date functions to the rule engine
...
This commit adds mong_date built-in functions to the rule engine
SQL-like language. Corresponding functions already existed in EMQX 4.4
and this commit makes sure that EMQX 5.X also has these functions.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9244
2023-04-18 10:01:35 +02:00
Zaiming (Stone) Shi
cd1197925f
test: fix unit tests after type names changed
2023-04-18 09:48:28 +02:00
Zaiming (Stone) Shi
6dd7befaab
refactor: unify authn authz type names
2023-04-18 09:48:28 +02:00
firest
721125a9f6
fix(retainer): mark `flow-control` as non-importance field
2023-04-18 15:34:42 +08:00
ieQu1
282bfee8ff
feat(emqx): Add an API that returns the list of running nodes
2023-04-18 09:22:58 +02:00
ieQu1
a947df1ea3
fix(emqx_management): Ignore results from the nodes that are down
2023-04-18 09:22:56 +02:00
JianBo He
c53ccfea61
chore: fix typos
2023-04-18 13:48:55 +08:00
JianBo He
8cb9389d21
chore: apply suggestions from code review
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-18 09:36:42 +08:00
JianBo He
ec8d8b805f
chore: add ee bridge apps
2023-04-18 09:36:41 +08:00
JianBo He
7eacbffae9
chore: create dirs and README template for all ee bridges
2023-04-18 09:36:41 +08:00
zhongwencool
ad3e529994
chore: update changes/ce/feat-10389.en.md
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-18 09:34:01 +08:00
某文
933e6727ba
feat: node array support array(atom()) and comma_separated_atoms
2023-04-18 09:28:36 +08:00
Ilya Averyanov
88ca94b417
fix(auth): fix uri path handling
...
Fix uri path handling `emqx_connector_http`,
HTTP authentication and authorization backends.
2023-04-17 23:57:56 +03:00
Kjell Winblad
0c727fc9b2
Merge pull request #10392 from kjellwinblad/kjell/rule_engine/add_missing_datetime_function/EMQX-9245
...
freat: add date_to_unix_ts/3 function to the rule engine
2023-04-17 18:09:44 +02:00
Ivan Dyachkov
c03a94bae9
chore: e5.0.3-alpha.1
2023-04-17 16:48:07 +02:00
Zaiming (Stone) Shi
466a28daf2
test: fix test cases to work with new exctption
2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
373e7b33f9
test: allow tests to run without desc cache
2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
6969c2a670
refactor: not leagal -> invalid
2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
1aa5b528e9
feat: generate hotconf and bridge schema on the fly
2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
56b9667436
refactor(emqx_conf): prepare for dynamic api schema generation
2023-04-17 13:58:14 +02:00
Zaiming (Stone) Shi
18974a8e11
refactor: make schema dump and swagger spec work with split desc files
2023-04-17 13:58:11 +02:00
JianBo He
f2fae16d3b
fix(gw): load emqx applications before hocon configs checking
2023-04-17 13:56:39 +02:00
Ivan Dyachkov
9712aad7a8
Merge pull request #10413 from id/0416-e5.0.3-code-freeze
...
0416 e5.0.3 code freeze
2023-04-17 13:51:58 +02:00
zhongwencool
35c36e8872
Merge pull request #10415 from zhongwencool/authz-rule-and-or-improve
...
chore: short-circuit expressions on authz‘s and/or rules.
2023-04-17 18:21:04 +08:00
Kjell Winblad
37f42a486c
test: improve proper test so it generates more cases
2023-04-17 12:03:13 +02:00
JianBo He
19eda3bc5f
Merge pull request #10410 from HJianBo/fix-load-gw-from-confs
...
fix(gw): load emqx applications before hocon configs checking
2023-04-17 18:01:31 +08:00
某文
e9e0ae7f0a
chore: When matching authz's and/or rules, check the simple ones first to improve efficiency
2023-04-17 17:23:39 +08:00
Ivan Dyachkov
9fc8a498f8
chore: bump apps versions
2023-04-17 09:09:08 +02:00
firest
02f8d073f8
test(limiter): fix test errors and make spellcheck happy
2023-04-17 10:06:43 +08:00
firest
55376144ce
fix(limiter): simplify the configuration of the limiter
2023-04-17 10:06:36 +08:00
zhongwencool
69d1a35c90
Merge pull request #10156 from zhongwencool/conf-refactor
...
feat: configuration priority ENV > emqx.conf > API
2023-04-16 13:45:35 +08:00
zhongwencool
bcbeae1da5
Merge pull request #10405 from zhongwencool/hide-dashboard-conf
...
feat: hide dashboard's default_username/default_password conf
2023-04-16 13:35:34 +08:00
Zhongwen Deng
98e8287260
fix: hidden password in dashboard https's shema
2023-04-16 13:30:12 +08:00
Zhongwen Deng
ad65fefac2
fix: rename emqx_misc to emqx_utils
2023-04-16 10:27:23 +08:00
Zhongwen Deng
782649020b
Merge remote-tracking branch 'upstream/master' into deprecated-stats-conf
2023-04-16 10:17:38 +08:00
zhongwencool
3510ac63b9
Merge pull request #10406 from zhongwencool/hide-node
...
feat: hide node advance config
2023-04-16 09:57:42 +08:00
JianBo He
3a511c6229
fix(gw): load emqx applications before hocon configs checking
2023-04-15 19:41:07 +08:00
Zhongwen Deng
8461551f51
test: rename module from emqx_map_lib to emqx_utils_maps
2023-04-15 06:56:33 +08:00
zhongwencool
a00daa4d97
Merge branch 'master' into deprecated-stats-conf
2023-04-15 06:47:28 +08:00
zhongwencool
494ffe86ad
Merge branch 'master' into conf-refactor
2023-04-15 06:40:38 +08:00
Stefan Strigler
7df0493312
Merge pull request #10390 from sstrigler/EMQX-9549-new-emqx-utils-app-to-collect-utility-modules
...
New emqx_utils app to collect utility modules
2023-04-14 20:33:11 +02:00
Thales Macedo Garitezi
0e3a6d7f22
Merge pull request #10404 from thalesmg/buffer-mem-only-v50
...
feat(buffer_worker): set default queue mode to `memory_only`
2023-04-14 15:18:12 -03:00
Stefan Strigler
17d84fb5e0
Merge branch 'EMQX-9549-new-emqx-utils-app-to-collect-utility-modules' of github.com:sstrigler/emqx into EMQX-9549-new-emqx-utils-app-to-collect-utility-modules
2023-04-14 18:53:47 +02:00
Stefan Strigler
9ccfa643ce
style: fix wording
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-14 18:51:51 +02:00
Stefan Strigler
a20797160e
style: remove unnecessary ifdef(TEST)
2023-04-14 18:45:25 +02:00
Zhongwen Deng
97a936ad4f
test: fix failed test
2023-04-14 23:46:05 +08:00
Zhongwen Deng
8948be49e7
feat: hide node advance config
2023-04-14 23:29:41 +08:00
Stefan Strigler
16c49b2cc1
fix: undo wrong thinking about returned types from decode
2023-04-14 17:21:38 +02:00
Zhongwen Deng
8facd130f6
chore: update cluster_hocon_file/0 function
2023-04-14 23:19:38 +08:00
Stefan Strigler
24df1045de
fix: test not updated after rebase
2023-04-14 16:40:25 +02:00
Thales Macedo Garitezi
e073bc90bc
refactor(buffer_worker): rename `s/queue/buffer/g`
2023-04-14 11:37:19 -03:00
Thales Macedo Garitezi
14ed4a7ada
feat(buffer_worker): set default queue mode to `memory_only`
...
Fixes https://emqx.atlassian.net/browse/EMQX-9367
For better user experience and performance for the average bridge, we
should change the default queue mode to `memory_only`, as was the
behavior of most bridges in e4.x. This leads to better performance
when message rate is high enough and the remote resource is not
keeping up with EMQX.
Also, we set the default segment size to equal max queue bytes.
2023-04-14 11:37:19 -03:00
zhongwencool
7c5dead03a
chore: update cluster_hocon_file doc
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-14 22:30:35 +08:00
Stefan Strigler
53871e3a2c
fix: stale ref to emqx_json after rebase
2023-04-14 16:30:27 +02:00
zhongwencool
bcce989906
chore: update has_deprecated_file doc
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-04-14 22:30:11 +08:00
Stefan Strigler
a9976287b5
fix: force proper calling decode to return proplist
2023-04-14 16:26:32 +02:00
Zhongwen Deng
99d6c5e179
feat: hide dashboard's default_username/default_password conf
2023-04-14 21:57:09 +08:00
Zhongwen Deng
3789ca2622
chore: revert stats desc
2023-04-14 21:31:34 +08:00
Zhongwen Deng
7934a1cea1
feat: hide overload_protection,conn_congestion,flapping_detect
2023-04-14 21:29:27 +08:00
某文
e5b85916b6
feat: hidden stats config
2023-04-14 21:29:27 +08:00
Zhongwen Deng
c0e6e79bcd
feat: don't remove default value when save config
2023-04-14 21:17:34 +08:00
Zhongwen Deng
c21744c260
fix: hocon_pp crash when atom_key
2023-04-14 20:51:58 +08:00
Zhongwen Deng
fa753cf333
fix: failed ct test
2023-04-14 20:51:58 +08:00
Zhongwen Deng
7f870257b2
test: fix failed ct
2023-04-14 20:51:58 +08:00
Zhongwen Deng
a271ba5ff9
feat: don't check_permission on local.conf
2023-04-14 20:51:58 +08:00
Zhongwen Deng
5f4ea3b6d8
feat: deprecated cluster-override.conf
2023-04-14 20:51:58 +08:00
Zhongwen Deng
180f571765
feat: configuration priority ENV > emqx.conf > API
2023-04-14 20:51:58 +08:00
zhongwencool
57e8e2dae2
Merge pull request #10401 from zhongwencool/hide-conf-04-14
...
feat: hide shared_subscription_group,rpc,slow_subs
2023-04-14 20:36:10 +08:00
Thales Macedo Garitezi
4de13d2800
feat(buffer_worker): change default max queue bytes to 256 MB
2023-04-14 09:31:33 -03:00
Stefan Strigler
a295d0f134
fix: add rebar3_path_deps plugin
2023-04-14 14:29:25 +02:00
Stefan Strigler
1bad6ca67d
fix: jiffy pretty print is a bit different from jsx
2023-04-14 13:41:34 +02:00
Stefan Strigler
92ca2f66f5
style: add original copyright header
2023-04-14 13:41:34 +02:00
Stefan Strigler
0f162fb50a
test: add tests for emqx_utils_binary from original site
2023-04-14 13:41:34 +02:00
Stefan Strigler
badf962800
fix: stale call to emqx_misc
2023-04-14 13:41:34 +02:00
Stefan Strigler
d98f7222ff
style: add comment to binary_string/1
2023-04-14 13:41:34 +02:00
Stefan Strigler
90520a5382
docs: add an actual README
2023-04-14 13:41:34 +02:00
Stefan Strigler
4f80690162
fix: byebye jsx
2023-04-14 13:41:34 +02:00
Stefan Strigler
19981757ae
fix: add is_json
2023-04-14 13:41:34 +02:00
Stefan Strigler
062ce5f819
refactor: rename emqx_map_lib to emqx_utils_maps
2023-04-14 13:41:34 +02:00
Stefan Strigler
6e8665365b
refactor: rename emqx_tables to emqx_utils_ets
2023-04-14 13:41:33 +02:00
Stefan Strigler
d0df086c80
refactor: rename emqx_api_lib to emqx_utils_api
2023-04-14 13:41:33 +02:00
Stefan Strigler
9c11bfce80
refactor: rename emqx_misc to emqx_utils
2023-04-14 13:41:27 +02:00
Stefan Strigler
1880da0a2e
refactor: move binary_util to emqx_utils_binary
2023-04-14 13:35:15 +02:00
Stefan Strigler
f8e9e54393
refactor: move emqx_json to emqx_utils_json
2023-04-14 13:31:27 +02:00
JianBo He
a0cfac3a1a
Merge pull request #10386 from HJianBo/refactor-directoires
...
refactor(gw): rename all gateway application name
2023-04-14 19:26:53 +08:00
Kjell Winblad
a66d01d6f0
style: remove code duplication
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-14 12:48:03 +02:00
JimMoen
790d841697
Merge pull request #10363 from JimMoen/feat-mssqlserver-birdge
...
feat: implement Microsoft SQL Server bridge (e5.0)
2023-04-14 17:55:48 +08:00
Andrew Mayorov
5e92ba6fa9
Merge pull request #10359 from ft/EMQX-9136/no-ask-metrics
...
feat(resource): ask for metrics only when needed
2023-04-14 12:28:52 +03:00
Zhongwen Deng
be35ae2132
feat: hide shared_subscription_group,rpc,slow_subs
2023-04-14 17:14:11 +08:00
zhongwencool
1e07f37ab0
Merge pull request #10354 from zhongwencool/straightforward-log-info
...
feat: more straightforward log for force_shutdown reason
2023-04-14 10:15:32 +08:00
JimMoen
5841969877
feat: implement Microsoft SQL Server bridge (e5.0)
2023-04-14 10:02:45 +08:00
JimMoen
8ceeafb0de
chore: fix file license in lib-ee
2023-04-14 09:56:59 +08:00
zhongwencool
0553facfca
Merge pull request #10391 from zhongwencool/04-13-hide-conf
...
feat: hide ex_hook/rewrite/topic_metric/persistent_session_store
2023-04-14 09:39:29 +08:00
zhongwencool
626e814e9a
Merge pull request #10385 from zhongwencool/hide-conf
...
feat: hide data items from configuration files and documentation.
2023-04-14 09:38:34 +08:00
zhongwencool
835f66a8d2
Merge pull request #10375 from zhongwencool/trace-conf
...
feat: deprecated trace config
2023-04-14 09:22:12 +08:00
Ilya Averyanov
92ff2b7d6e
feat(ft): make timeouts configurable
2023-04-14 01:58:14 +03:00
ieQu1
c5ad3c8f41
docs(emqx_machine): Improve README
2023-04-13 22:57:30 +02:00
Ilya Averyanov
e22c1c01ec
feat(s3): make acl optional
2023-04-13 19:47:12 +03:00
JianBo He
9f99a72594
chore: refine tests
2023-04-14 00:45:22 +08:00
Thales Macedo Garitezi
9acfe00498
Merge pull request #10347 from thalesmg/refactor-kafka-bridge-dirs-v50
...
refactor(kafka_bridge): move kafka bridge into its own app
2023-04-13 13:26:36 -03:00
JianBo He
1759dd1157
Merge pull request #10368 from HJianBo/improve-gateway-readme
...
docs: update gateway README
2023-04-14 00:14:01 +08:00
Kjell Winblad
d3ccd8a65d
feat: add date_to_unix_ts/3 function to the rule engine
...
Fixes:
https://emqx.atlassian.net/browse/EMQX-9245
2023-04-13 16:14:03 +02:00
zhongwencool
2334917e35
chore: apply suggestions from code review
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-13 21:59:26 +08:00
某文
58e31d5efd
feat: hide ex_hook/rewrite/topic_metric/persistent_session_store/overload_protection
2023-04-13 21:52:35 +08:00
某文
c1163d1952
chore: share emqx_trace.hrl between code and test
2023-04-13 20:51:14 +08:00
某文
dd7dcfe373
fix: fix dialyzer warning
2023-04-13 20:04:03 +08:00
JianBo He
c7054886b1
chore: refine test cases
2023-04-13 17:50:58 +08:00
JianBo He
4dd0080e82
chore: fix unreachable links
2023-04-13 17:19:47 +08:00
JianBo He
40e4419a62
chore: update apps/emqx_gateway/README.md
...
Co-authored-by: Stefan Strigler <stefan@strigler.de>
2023-04-13 16:18:46 +08:00
JianBo He
aa9292e37e
chore: update apps/emqx_gateway/README.md
...
Co-authored-by: Stefan Strigler <stefan@strigler.de>
2023-04-13 16:18:34 +08:00
JianBo He
0a62d6c556
refactor(gw): rename all gateway application name
2023-04-13 14:53:47 +08:00
zhongwencool
cf2f00c937
Merge pull request #10381 from zhongwencool/hiden-auto-subscribe-conf
...
feat: hiden auto_subscribe conf
2023-04-13 14:42:59 +08:00
Zhongwen Deng
cc2beda37a
feat: hiden rule_engine/bridge/authz/authn from doc/example
2023-04-13 14:42:21 +08:00
Zhongwen Deng
4ba4c6bf62
chore: only hiden root keys
2023-04-13 14:23:25 +08:00
Zhongwen Deng
a70930fed0
feat: hiden auto_subscribe conf
2023-04-13 09:26:16 +08:00
Thales Macedo Garitezi
871ee90b3e
refactor(kafka_bridge): move kafka bridge into its own app
...
Fixes https://emqx.atlassian.net/browse/EMQX-9481
2023-04-12 13:54:45 -03:00
Ivan Dyachkov
1e33600190
chore: bump version to v5.0.22
2023-04-12 17:33:53 +02:00
Ivan Dyachkov
f01e2f358b
Merge pull request #10367 from id/0411-sync-release-50-back-to-master
...
0411 sync release 50 back to master
2023-04-12 17:23:17 +02:00
Ivan Dyachkov
bdffa925db
chore: merge upstream/master release-50
2023-04-12 15:30:20 +02:00
Andrew Mayorov
9c9f39d0f7
feat(resman): also move out metrics collection for debugging
...
Now `emqx_resource:list_instances_verbose/0` will populate the metrics
for each instance, for the sake of simplicity.
2023-04-12 16:14:42 +03:00
JianBo He
d16b5c40d6
Merge pull request #10356 from HJianBo/async-batch-cassa
...
feat: support async and batch callback for cassandra connector
2023-04-12 20:59:36 +08:00
JianBo He
9774ad2cdd
chore: update apps/emqx_gateway/README.md
2023-04-12 20:54:08 +08:00
Zhongwen Deng
45254c5936
chore: add changelog for create trace
2023-04-12 17:59:14 +08:00
Stefan Strigler
f668ad7b9e
Merge pull request #10336 from sstrigler/EMQX-8507-rule-engine-need-a-new-api-to-crud-rule-engines-setting-configs
...
feat: add `/rule_engine` API endpoint
2023-04-12 11:44:42 +02:00
Zhongwen Deng
f161399bcc
feat: deprecated trace config
2023-04-12 17:07:45 +08:00
lafirest
a49eea5838
Merge pull request #10355 from lafirest/fix/auto_sub_doc
...
chore: update README for auto subscribe
2023-04-12 15:47:58 +08:00
JianBo He
80f964bdbe
chore: update apps/emqx_gateway/README.md
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-12 10:44:37 +08:00
Thales Macedo Garitezi
914184697e
Merge pull request #10337 from thalesmg/schema-registry-v50
...
feat: implement schema registry for 5.0 (avro)
2023-04-11 16:46:27 -03:00
Stefan Strigler
e6f8682c47
fix: ensure we don't return 'rules' in rule_engine
2023-04-11 15:42:56 +02:00
ieQu1
bc463a1b1c
Merge pull request #10343 from ieQu1/emqx-machine-readme
...
doc(emqx_machine): Add readme
2023-04-11 15:15:32 +02:00
Stefan Strigler
8ef36f29ce
fix: add 'rule_engine' as possible tag() value for spec
2023-04-11 12:03:42 +02:00
Stefan Strigler
b48fb17f4a
fix: CHECK_PARAMS macro defines unused var
2023-04-11 12:03:42 +02:00
JianBo He
945c6bc757
docs: update gateway README
2023-04-11 17:26:33 +08:00
Andrew Mayorov
e70deae1c3
feat(resource): ask for metrics only when needed
2023-04-11 12:00:19 +03:00
JianBo He
aee85dc328
chore: fix flaky tests
2023-04-11 14:49:07 +08:00
JianBo He
d501c1ee9c
chore: update changes
2023-04-11 14:04:41 +08:00
Ivan Dyachkov
a711ce6b93
chore: bump version to e5.0.2
2023-04-10 18:10:31 +02:00
Andrew Mayorov
37a520d797
fix(i18n): relocate i18n files to rel/i18n
2023-04-10 16:02:34 +03:00
firest
5a58dfc3a4
chore: update README for auto subscribe
2023-04-10 14:39:13 +08:00
Zhongwen Deng
c68909767a
feat: more straightforward log for force_shutdown reason
2023-04-10 11:21:07 +08:00
ieQu1
c2ca9089ca
docs(emqx_machine): Add readme
2023-04-08 13:22:52 +02:00
JianBo He
e186477531
Merge pull request #10278 from HJianBo/refactor-gw-dir
...
Refactor gateway application dirs
2023-04-08 09:42:14 +08:00
Andrew Mayorov
8daa38ef06
feat(ft-s3): store metadata in ASCII-safe format
...
Also ensure consistent encoding and decoding filenames throughout
the `emqx_ft` application.
2023-04-07 22:20:20 +03:00
Andrew Mayorov
0d86ef8d3a
fix(ft-s3): use AWS4 signed urls for S3 export URIs
...
This will ensure that the S3 export URIs are valid in all AWS regions.
2023-04-07 22:15:01 +03:00
Ilya Averyanov
b2fd2dcbc1
fix(ft): make configs user friendlier
2023-04-07 17:36:47 +03:00
Ilya Averyanov
7eeba32619
fix(s3): fix typings
2023-04-07 17:36:47 +03:00
Ilya Averyanov
52f3189779
fix(ft): fix default ft config
2023-04-07 17:36:47 +03:00
Ilya Averyanov
eae2478678
fix(ft): add descriptions for missing ft schema fields
2023-04-07 17:36:47 +03:00
Ilya Averyanov
bd7250cb13
fix(s3): fix hash pool type
2023-04-07 17:36:47 +03:00
Ilya Averyanov
4a144044b7
fix(ft): set default ft config in tests
2023-04-07 17:36:47 +03:00
Ilya Averyanov
918bdcae7d
fix(ft): fix schema descriptions
2023-04-07 17:36:47 +03:00
Ilya Averyanov
8b13d249eb
fix(ft): fix detection of ee apps in mix
2023-04-07 17:36:47 +03:00
Ilya Averyanov
7bcb60a84a
fix(ft): fix config update tests
2023-04-07 17:36:47 +03:00
Ilya Averyanov
6e50b168a0
fix(ft): add empty strings for zh translations
2023-04-07 17:36:47 +03:00
Ilya Averyanov
f6461fe287
fix(ft): fix typings
2023-04-07 17:36:47 +03:00
Ilya Averyanov
2f1970adbc
fix(ft): make ee schema aware of ee fields
2023-04-07 17:36:47 +03:00
Ilya Averyanov
18aa39f892
fix(ft): add emqx_ft_schema to ee schemas
2023-04-07 17:36:47 +03:00
Ilya Averyanov
d333187c5a
docs(s3): update readme
2023-04-07 17:36:47 +03:00
Ilya Averyanov
820e06d756
fix(ft-s3): make controllable use of max_retries and request_timeout arguments
2023-04-07 17:36:47 +03:00
Ilya Averyanov
be99242e32
fix(ft-s3): fix review comments
2023-04-07 17:36:47 +03:00
Ilya Averyanov
d7a85242de
fix(ft-s3): fix s3 listing
2023-04-07 17:36:47 +03:00
Ilya Averyanov
7d13862da5
fix(ft-s3): use uploader specific headers only for object creation
2023-04-07 17:36:47 +03:00
Ilya Averyanov
c7865e5eae
fix(ft-s3): fix dependency dependencies
2023-04-07 17:36:45 +03:00
Ilya Averyanov
4fbabe5a76
fix(ft-s3): fix atom and variable naming
2023-04-07 17:27:01 +03:00
Ilya Averyanov
07ae50a54b
fix(ft-s3): fix release settings
2023-04-07 17:25:23 +03:00
Ilya Averyanov
3ffa01e160
feat(ft-s3): fix logging level
2023-04-07 17:25:23 +03:00
Ilya Averyanov
ca22f11161
feat(ft-s3): fix logging
2023-04-07 17:25:23 +03:00
Ilya Averyanov
9bb72ee020
feat(ft-s3): fix behaviour specification
2023-04-07 17:25:23 +03:00
Ilya Averyanov
43f9737420
feat(ft-s3): integrate list API
2023-04-07 17:25:23 +03:00
Ilya Averyanov
5ac3543a76
feat(ft-s3): integrate exporter configs
2023-04-07 17:25:22 +03:00
Ilya Averyanov
8361223648
feat(ft-s3): extract checksum verification
2023-04-07 17:25:22 +03:00
Ilya Averyanov
818a5cacf2
feat(ft-s3): add initial integration
2023-04-07 17:25:22 +03:00
Ilya Averyanov
31b441a46e
feat(s3): add S3 client application
2023-04-07 17:25:22 +03:00
Andrew Mayorov
28d87ca62d
fix(ft-fs): move default config to the backend impl
2023-04-07 17:25:22 +03:00
Andrew Mayorov
258fabbf8b
fix(fs-exp): reply with error when listing failed everywhere
2023-04-07 17:25:22 +03:00
Andrew Mayorov
11edfc1c6a
fix(ft): comment out some clauses as "unreachable"
2023-04-07 17:25:22 +03:00
Andrew Mayorov
bef5cc9c0f
fix(fs-fold): avoid folding through symlinked directories
...
Also a testsuite that verifies multilevel fold behaviour.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
6ad7ce55d2
fix(ft-conf): separate local segments storage settings
...
To make things less ambiguous.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
45e3b62dc4
refactor(ft): prefer plain `files` over `exports` in generic APIs
...
So there's no more `exports` magically becomings `files` in the
REST API which was slightly confusing.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
c24c7eca34
fix(ft-test): unbreak testcase by inhibiting local fs storage GC
2023-04-07 17:25:22 +03:00
Andrew Mayorov
23cd78b8d6
refactor(ft-asm): turn state data record into a map
...
Which should be more future-proof.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
b6b044f429
feat(ft): move out exporter concept into dedicated modules
2023-04-07 17:25:22 +03:00
Andrew Mayorov
54e54cc63d
feat(api): provide utility to qualify API URIs
2023-04-07 17:25:22 +03:00
Andrew Mayorov
64f15f1fdb
fix(ft-gc): ensure directories of complete transfers are GCed
2023-04-07 17:25:22 +03:00
Andrew Mayorov
2707b4500f
feat(ft-fs): ensure filsystem-safe handling of client input
...
Also restrict the filenames clients may specify in a filemeta to some
safe subset, as a future proofing measure.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
9aec01e7a3
fix(ft-asm): use regular map for meta fragments
...
There's actually no need to use an ordered data structure at all.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
4132f5a5fb
feat(ft): introduce exporter concept in local storage backend
...
The exporter is responsible for keeping fully transferred and
successfully assembled files. This was on the local storage itself
before. This abstraction is needed to give us an ability to
support S3 destinations more easily, just by swapping the storage
exporter.
Also implement local filesystem exporter and reimplement parts of
the `emqx_ft` API on top of it.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
2880c8f4eb
fix(ft): unwrap error details when reader fails to start
2023-04-07 17:25:22 +03:00
Andrew Mayorov
45f00e14a9
feat(ft): ensure that clientid is always binary
...
For the sake of simplicity (e.g. transfer ids are now easier to
compare).
2023-04-07 17:25:22 +03:00
Andrew Mayorov
4f2600b9f1
feat(ft-gc): treat all transfer as incomplete
...
Since the concept of _complete transfers_ is being split out into
the _export_ concept, we lose knowledge of completeness in the GC.
Instead of asking exporters for transfer statuses we just treat all
transfer as incomplete when GCing.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
0d39546080
feat(wdgraph): add `fold/3` which folds over graph edges
2023-04-07 17:25:22 +03:00
Andrew Mayorov
0c821cd3bd
test(ft): inject configs through hocon subsystem
...
So that relevant parts of config would be initialized with defaults.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
e1dc48fa2b
feat(fs-gc): wire gc up with emqx config
2023-04-07 17:25:22 +03:00
Andrew Mayorov
50c6eef2bc
fix(fs-gc): do not hide `enoent`s
...
Also use `file:read_link_info/2`, it actually fetches any file info
while also not following symlinks automatically, which is better for
GC usecases.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
bcd2099ce1
fix(fs-gc): make deletion empty transfer directories safer
2023-04-07 17:25:22 +03:00
Andrew Mayorov
344799f100
fix(fs-gc): add testcase on incomplete transfers GC
...
And fix logic that made GC delete incomplete segments prematurely.
2023-04-07 17:25:22 +03:00
Ilya Averyanov
15dc7c3e84
fix(test): fix node helper usage
2023-04-07 17:25:22 +03:00
Andrew Mayorov
715816e67b
feat(ft): add GC logic and process for the FS storage backend
2023-04-07 17:25:22 +03:00
Andrew Mayorov
e9f98adca2
test: make content_gen emit meta with each chunk
...
Which will also contain total content size, to increase this tool's
utility.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
788e76ed2d
test: make assembly proptests waste less memory
2023-04-07 17:25:22 +03:00
Andrew Mayorov
8e6f960c09
refactor(ft): employ `emqx_wdgraph` for coverage computation
...
Also describe how coverage problem maps to shortest path problem.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
b189ee463c
feat: add weighted directional graph ADT with shortest path
...
Basically, separate what abstraction was in `emqx_ft_assembly` into
dedicated module with a compact interface and a basic testsuite.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
130601376a
perf(ft-asm): express coverage through shortest path on graph
...
Coverage becomes the shortest path problem on graph where nodes are
offsets and edges are nodes' segments. Implement a simple Dijkstra
algorithm to find one.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
0c84fc28b0
perf(asm-ft): tradeoff optimality for computational complexity
...
Through squashing segments table into consecutive "runs".
2023-04-07 17:25:22 +03:00
Andrew Mayorov
97cfdf8eef
test(ft-asm): add property tests for file assembly
2023-04-07 17:25:22 +03:00
Andrew Mayorov
0af7e2a002
perf(ft-asm): optimize away remote segments identical to local
2023-04-07 17:25:22 +03:00
Andrew Mayorov
15d967459c
feat(ft): add segment checksum validation
...
Also downgrade validation errors to mere info messages.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
5998961f9f
fix(ft): log errors where they might get lost
2023-04-07 17:25:22 +03:00
Andrew Mayorov
5014cc15f4
test(ft): do not rely on fs backend implementation details
2023-04-07 17:25:22 +03:00
Andrew Mayorov
93865a79e9
fix(ft): disallow empty fileids
2023-04-07 17:25:22 +03:00
Andrew Mayorov
75070102ec
fix(ft): improve typespecs
2023-04-07 17:25:22 +03:00
Andrew Mayorov
2b925aa60b
fix(ft): drop unrelated TODO
2023-04-07 17:25:22 +03:00
Andrew Mayorov
7ff253e80d
test(ft): attempt to avoid `gen_rpc` config reset hacks
2023-04-07 17:25:22 +03:00
Andrew Mayorov
a3f47641f3
test(ft): describe the complex test case with comments
...
In order to make the test client model and behavior clearer.
2023-04-07 17:25:22 +03:00
Andrew Mayorov
10d4c4305a
feat(maybe): add basic tests for the new module
2023-04-07 17:25:22 +03:00
Andrew Mayorov
2cf2a2d952
fix(ft): make `fin` packet parser stricter + safer
2023-04-07 17:25:22 +03:00
Andrew Mayorov
58115715dd
fix(ft): require final size in `fin` packet
...
Otherwise there are situations when it's not entirely clear if a
transfer is really ready to be assembled. Since the `size` field
in a filemeta is not required (and rightly so), we need client to
tell us the final transfer size at the end of the process.
Also synthesize a testcase to show why it's needed.
Also worth noting that right now `fin` packets require final size,
even if a client already told us the size through filemeta. The
latter is regarded as serving informational purposes only (which
means that, for example, it might differ from the final size, or
some tranfer progress might show >100% somewhere because of that).
2023-04-07 17:25:22 +03:00
Ilya Averyanov
c073914f75
chore(ft): fix gen_rpc flakyness
2023-04-07 17:25:22 +03:00
Ilya Averyanov
228bf1a0ce
chore(ft): fix typing issues
2023-04-07 17:25:22 +03:00
Ilya Averyanov
2c9cd1397d
chore(ft): fix `?tp` calls
2023-04-07 17:25:22 +03:00
Ilya Averyanov
1c61165a91
fix(ft): fix emqx_cm takover
2023-04-07 17:25:22 +03:00
Ilya Averyanov
c6b3f2c2ca
feat(ft): add schema descriptions
2023-04-07 17:25:21 +03:00
Ilya Averyanov
bc0a15afd7
feat(ft): fix test for CI
2023-04-07 17:25:21 +03:00
Ilya Averyanov
16fa55e19a
feat(ft): add API tests
2023-04-07 17:25:21 +03:00
Andrew Mayorov
6d9f780313
chore: remove unused code
2023-04-07 17:25:21 +03:00
Andrew Mayorov
f896fefa59
feat(ft): make storage backend fully async-aware
...
Introduce an ad-hoc concept of tasks that need to be kicked off
manually. Rework filesystem backend to accomodate for this change.
Adapt responder logic for that "kickoff" protocol.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
2cdf486bf4
feat(ft): simplify responder mechanism
...
Make responder short-lived process responsible for a single task, and
manage them with supervisor + gproc.
2023-04-07 17:25:21 +03:00
Ilya Averyanov
f6a0598f27
feat(ft): add file transfer tests
2023-04-07 17:25:21 +03:00
Ilya Averyanov
2e889f4ac7
feat(ft): add emqx_ft tests and fixes
2023-04-07 17:25:21 +03:00
Ilya Averyanov
1d48a97fd2
feat(ft): fix remote reader handling of gen_rpc errors
2023-04-07 17:25:21 +03:00
Ilya Averyanov
c44fe92ef1
feat(ft): add assembler tests
2023-04-07 17:25:21 +03:00
Ilya Averyanov
eae3dc7b4b
feat(ft): update BPAPI
2023-04-07 17:25:21 +03:00
Ilya Averyanov
bcfa22f343
fix(ft): use correct supervison strategy for emqx_ft_sup
2023-04-07 17:25:21 +03:00
Ilya Averyanov
9e4a37a398
fix(ft): fix typespecs
2023-04-07 17:25:21 +03:00
Ilya Averyanov
836ec213c9
feat(ft): add responder tests
2023-04-07 17:25:21 +03:00
Ilya Averyanov
8038a3fd4a
feat(ft): add tests for remote reader
2023-04-07 17:25:21 +03:00
Ilya Averyanov
b7d0bad970
feat(ft): improve remote reader
2023-04-07 17:25:21 +03:00
Ilya Averyanov
0aefd4a8c7
feat(ft): add streaming of file content when downloading
2023-04-07 17:25:21 +03:00
Ilya Averyanov
197ce32669
feat(ft): add proxy module for emqx_ft_storage_fs
2023-04-07 17:25:21 +03:00
Ilya Averyanov
04e5378bda
feat(ft): add API
2023-04-07 17:25:21 +03:00
Andrew Mayorov
92670bfe3d
feat(ft): add fs storage bpapi and use it in assembler
2023-04-07 17:25:21 +03:00
Andrew Mayorov
7ed06b0a2a
feat(ft-fs): allow to list all transfers in storage
...
This is rather simplistic and thus, temporary solution.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
429eeaf029
feat(ft-fs): make `list` / `read` more generic
...
And usable in wider contexts as a consequence, for example querying and
fetching resulting files from remote nodes.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
1308fa0e6b
fix(ft-fs): put fragments into separate directories
...
In order to avoid potential filename collisions.
2023-04-07 17:25:21 +03:00
Andrew Mayorov
8298236908
refactor(ft): bring back userdata to filemeta schema
2023-04-07 17:25:21 +03:00
Ilya Averyanov
b4a42a447c
feat(ft): removed replicated data
2023-04-07 17:25:21 +03:00
Ilya Averyanov
72e3eee6c9
feat(ft): add config & backend behaviour
2023-04-07 17:25:21 +03:00
Andrew Mayorov
97b831a160
fix(ft-fs): add missing `read_segment/5` + fix atomic write
2023-04-07 17:25:21 +03:00
Andrew Mayorov
14b2a1013b
fix(ft-asm): follow proper `segment` fragment type
2023-04-07 17:25:21 +03:00
Andrew Mayorov
1fedae8a16
fix(ft-asm): ensure module follows statem behaviour
2023-04-07 17:25:21 +03:00
Andrew Mayorov
7b77e96ab9
test(ft): add some basic assembler tests
2023-04-07 17:25:21 +03:00
Ilya Averyanov
cbff2e2309
feat(ft): improve robustness of asynchronous acks
...
* add auto ack after timeout
* add fin file transfer packet registration to avoid
duplication and multiple acks
2023-04-07 17:25:21 +03:00
Ilya Averyanov
d36ca18bff
feat(ft): tie file transfer frontend and backend together
2023-04-07 17:25:21 +03:00
Andrew Mayorov
81e04ce93a
feat(ft): introduce simple filesystem storage backend + assembler
2023-04-07 17:25:21 +03:00
Ilya Averyanov
aaaef30be6
feat(ft): add file transfer app and bootstrap replicated ft data structure
2023-04-07 17:25:21 +03:00
Ilya Averyanov
d976943f99
feat(ft): add basic hooks
2023-04-07 17:25:21 +03:00
JianBo He
502cc2b8b8
chore: fix common tests
2023-04-07 15:34:16 +08:00
Thales Macedo Garitezi
7c05304ff4
chore: bump version to e5.0.2-rc.6
2023-04-06 16:53:55 -03:00
Thales Macedo Garitezi
33100ecca6
feat: implement schema registry for 5.0 (avro)
...
Part of https://emqx.atlassian.net/browse/EMQX-9251
This ports part of the Schema Registry app from 4.x to 5.0. Here,
only support for Avro is added. Subsequent PRs will follow to add
support for other formats.
2023-04-06 16:28:45 -03:00
Thales Macedo Garitezi
4c24b08244
fix(rule_action): fix metrics for bridges returning `async_return`
...
Kafka Producer, when called asynchronously, will return
`{async_return, {ok, pid()}}`, which currently counts as an unknown failure.
2023-04-06 16:00:01 -03:00
Zaiming (Stone) Shi
11a7770d16
chore: bump version to e5.0.2-rc.5
2023-04-06 11:57:39 +02:00
JimMoen
bbb3fdb49e
fix: make emqx_api_lib compatible
2023-04-06 17:03:39 +08:00
Kjell Winblad
1938882f16
Merge pull request #10318 from kjellwinblad/kjell/feat/rule_engine_from_clause_support_both_string_types
...
feat(rule engine sql): enable both ' and " strings in FROM clause
2023-04-06 09:19:44 +02:00
JimMoen
ab807fba51
Merge pull request #10329 from kjellwinblad/kjell/EMQX-9138-e-5-0-2-ensure-that-the-error-messages-returned-are-consistent
...
fix: create consistent interface 'with_node' for API access
2023-04-06 14:47:42 +08:00
JianBo He
702ecbcb6e
Merge remote-tracking branch 'upstream/master' into refactor-gw-dir
2023-04-06 10:44:59 +08:00
Stefan Strigler
b799af1f71
fix: don't create virtual type "rule_engine_api"
2023-04-05 16:46:19 +02:00
Stefan Strigler
9cfe9cc709
fix: don't allow `rules` to be set from `/rule_engine`
2023-04-05 16:28:54 +02:00
Serge Tupchii
9810c9f7e3
refactor(rule_engine): test 'ok' results in one dedicated function
2023-04-05 16:55:43 +03:00
Stefan Strigler
5cd8865a93
fix: deprecate and hide jq_implementation_module
2023-04-05 15:34:42 +02:00
Stefan Strigler
aea870f319
feat: add `/rule_engine` API endpoint
2023-04-05 15:19:31 +02:00
Stefan Strigler
f3446c48f7
Merge pull request #10315 from sstrigler/EMQX-8945-crash-for-bad-param-value-to-mqtt-delayed-messages-api-call
...
EMQX 8945 crash for bad param value to mqtt delayed messages api call
2023-04-05 13:44:22 +02:00
JianBo He
a3262486e5
chore: delete all LICENSE files under gateway dirs
2023-04-05 15:25:08 +08:00
Stefan Strigler
a39312e892
Merge pull request #10292 from sstrigler/EMQX-9253-readme-refine-emqx-management
...
EMQX Management README
2023-04-05 09:00:34 +02:00
Zaiming (Stone) Shi
a9bf633e03
Merge pull request #10320 from zmstone/0403-sync-release-50-back-to-master
...
0403 sync release 50 back to master
2023-04-04 23:31:24 +02:00
Thales Macedo Garitezi
5d5b7ea215
Merge pull request #10306 from thalesmg/enable-async-buffer-workers-all-bridges-v50
...
feat(bridges): enable async query mode for all bridges with buffer workers
2023-04-04 17:10:46 -03:00
Ivan Dyachkov
9d1a16aae1
feat: add emqx_rpc:multicall_on_running
...
also move emqx:is_running multicall to emqx_proto_v2:are_running
2023-04-04 20:40:47 +02:00
Ivan Dyachkov
3d7ceb01a0
fix(mgmt): fix stats api by applying filter to running_nodes
2023-04-04 19:58:43 +02:00
Ivan Dyachkov
c20da5ffa6
fix(emqx_dashboard): fix monitor_current api
2023-04-04 19:58:43 +02:00
Stefan Strigler
04626ce9cc
fix: create consistent interface 'with_node' for API access
2023-04-04 16:54:14 +02: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
d25db3ace4
chore: bump version to e5.0.2-rc.4
2023-04-04 16:38:25 +02:00
Zaiming (Stone) Shi
9e17064e47
Merge pull request #10325 from zmstone/0404-delay-config-change-replay-until-handler-is-ready
...
0404 delay config change replay until handler is ready
2023-04-04 16:37:35 +02:00
SergeTupchiy
877b828d4a
Merge pull request #10327 from SergeTupchiy/EMQX-8786-fix-unknown-counter-inc-on-unrecoverable-err
...
fix(rule_engine): don't increment unknown counter on unrecoverable er…
2023-04-04 16:51:34 +03:00
Zaiming (Stone) Shi
5925ff07c2
test(emqx_cluster_rpc): fix test cases
2023-04-04 15:20:30 +02:00
Zaiming (Stone) Shi
eeb7b32bc8
Merge pull request #10317 from zmstone/0403-refactor-hide-listener-level-authentication
...
0403 refactor hide listener level authentication
2023-04-04 15:04:35 +02:00
Serge Tupchii
aca65ca2d4
fix(rule_engine): don't increment unknown counter on unrecoverable errors
...
Closes: EMQX-8786
2023-04-04 15:59:53 +03: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
Thales Macedo Garitezi
0b6fd7fe14
fix(buffer_worker): check request timeout and health check interval
...
Port of https://github.com/emqx/emqx/pull/10154 for `release-50`
Fixes https://emqx.atlassian.net/browse/EMQX-9099
Originally, the `resume_interval`, which is what defines how often a
buffer worker will attempt to retry its inflight window, was set to
the same as the `health_check_interval`. This had the problem that,
with default values, `health_check_interval = request_timeout`. This
meant that, if a buffer worker with those configs were ever blocked,
all requests would have timed out by the time it retried them.
Here we change the default `resume_interval` to a reasonable value
dependent on `health_check_interval` and `request_timeout`, and also
expose that as a hidden parameter for fine tuning if necessary.
2023-04-04 08:58:36 -03:00
Zaiming (Stone) Shi
8fd9dd741e
fix(emqx_conf_app): wait for tables ready beofre starting apps
2023-04-04 13:50:50 +02:00
Kjell Winblad
0e66eb5f3f
feat(rule engine sql): enable both ' and " strings in FROM clause
...
This commit upgrades the rulesql dependency to version 1.5 instead of
1.4. The difference between these two versions is that strings surrounded
by ' and " are supported in FROM clauses in version 1.5, but in version
1.4, only strings surrounded by " are supported.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9243
2023-04-04 10:36:48 +02:00
Zaiming (Stone) Shi
b16c516e6b
refactor: rename cluster_rpc_handler to cluster_rpc_cleaner
...
this reflects what is actually does
2023-04-04 10:28:47 +02:00
firest
6b2419998d
chore: bump emqx_authn version
2023-04-04 16:06:23 +08:00
firest
11b3264251
fix: redact the password to `******` in API examples
...
fix #10222
2023-04-04 16:02:45 +08:00
Thales Macedo Garitezi
a8f8228a12
Merge pull request #10308 from thalesmg/test-increase-peer-timeout-v50
...
test(peer): increase init and startup timeout for peer nodes
2023-04-03 15:46:13 -03: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
Zaiming (Stone) Shi
2f2e8b8218
chore: bump version to e5.0.2-rc.3
2023-04-03 20:23:31 +02:00
Thales Macedo Garitezi
06048ae4ff
Merge pull request #10316 from thalesmg/flaky-crl-emqtt-test-v50
...
test(crl): fix flaky test (v5.0)
2023-04-03 15:12:36 -03:00
Thales Macedo Garitezi
f3ffc02bff
feat(bridges): enable async query mode for all bridges with buffer workers
...
Fixes https://emqx.atlassian.net/browse/EMQX-9130
Since buffer workers always support async calls ("outer calls"), we
should decouple those two call modes (inner and outer), and avoid
exposing the inner call configuration to user to avoid complexity.
For bridges that currently only allow sync query modes, we should
allow them to be configured with async. That means basically all
bridge types except Kafka Producer.
2023-04-03 14:49:51 -03:00
Thales Macedo Garitezi
8b5a717a1f
test(peer): increase init and startup timeout for peer nodes
...
Attempt to stabilize tests that use cluster nodes.
2023-04-03 13:20:22 -03:00
Zaiming (Stone) Shi
2d6ca69ffb
refactor: no support for listener level authentication for now
2023-04-03 16:49:35 +02:00
Zaiming (Stone) Shi
e978d86c86
chore: add doc_lift for authorization.sources
...
doc_lift is to make the doc render application to lift
this field to the root level and force the field's doc
to refernec it instead of expanding the structs in a nested way
2023-04-03 16:49:35 +02:00
Thales Macedo Garitezi
ed25ee6fec
test(crl): fix flaky test (v5.0)
2023-04-03 10:58:31 -03:00
Stefan Strigler
0efa9c7a11
fix: pretty format error responses
2023-04-03 15:48:52 +02:00
Stefan Strigler
c1cb5357e1
fix: enable schema check
2023-04-03 15:48:33 +02:00
Thales Macedo Garitezi
ec1871ffde
test(janitor): catch each callback invocation
2023-04-03 10:20:19 -03:00
JimMoen
53712e6146
fix: running nodes should not include replica nodes
2023-04-03 20:01:37 +08:00
Zaiming (Stone) Shi
5f6d318cf0
fix(i18n): fix missing docs for gateway configs
2023-04-03 13:12:24 +02:00
Zaiming (Stone) Shi
36000abf51
refactor: relocate i18n files for apps/emqx
2023-04-03 13:12:24 +02:00
JianBo He
205e97fdca
chore(gw): update README files
2023-04-03 14:30:41 +08:00
zhongwencool
d63680cf25
Merge pull request #10307 from emqx/release-50
...
Sync release-50 back to master
2023-04-02 11:36:41 +08:00
Zaiming (Stone) Shi
b17548f382
Merge pull request #10265 from HJianBo/improve-some-options-desc
...
docs: improve some mqtt options description
2023-04-01 16:43:15 +02:00
JianBo He
b2d018f249
chore: fix test cases
2023-04-01 18:51:39 +08:00
JianBo He
3a3879f99f
chore: update gateways deps
2023-04-01 12:59:43 +08:00
JianBo He
9577beaa4e
chore: update rebar.conf in emqx_exproto
2023-04-01 12:24:09 +08:00
JianBo He
b24ff9bc6e
test(gateway): refine all test cases
2023-04-01 12:24:09 +08:00
JianBo He
a70545b64a
chore: split out exproto gateway
2023-04-01 12:24:09 +08:00
JianBo He
b58ce09658
chore: split out lwm2m
2023-04-01 12:24:09 +08:00
JianBo He
40c413ac05
chore: fix dialyzer warnings
2023-04-01 12:24:09 +08:00
JianBo He
0b6c5c4c91
refactor: split out emqx_coap application
2023-04-01 12:24:09 +08:00
JianBo He
786f030958
test: move tests into splited gateway dirs
2023-04-01 12:24:09 +08:00
JianBo He
159bcf329c
refactor: make Stomp and MQTT-SN gateway as an independent apps
2023-04-01 12:24:09 +08:00
Thales Macedo Garitezi
53d760ec69
Merge pull request #10300 from thalesmg/fix-plugin-upload-v50
...
fix(plugins): create directory before uploading
2023-03-31 16:28:18 -03:00
Thales Macedo Garitezi
246a792965
Merge pull request #10273 from thalesmg/refactor-kprod-start-error-msg-rv50
...
fix: return friendly message when kafka producer and consumer fails to start (rv5.0)
2023-03-31 16:25:26 -03:00
Thales Macedo Garitezi
5011486b18
fix(kafka_consumer): return better error messages when probing kafka consumer bridge
...
Fixes https://emqx.atlassian.net/browse/EMQX-9422
2023-03-31 11:33:15 -03:00
Zaiming (Stone) Shi
9bbca07943
Merge pull request #10298 from emqx/release-50
...
Merge release-50 back to master
2023-03-31 15:35:51 +02:00
Zaiming (Stone) Shi
abf0329b60
test(emqx_banned_SUITE): fix flaky test case
2023-03-31 13:03:00 +02:00
Zaiming (Stone) Shi
bcde52383b
docs: fix max batch size desc
2023-03-31 12:35:27 +02:00
William Yang
d9bec63733
Merge pull request #10284 from qzhuyan/docs/william/shared-subs
...
chore(docs): update shared_subscription_strategy
2023-03-31 09:44:12 +02:00
Stefan Strigler
7e31e60e90
style: fix wording
2023-03-31 09:19:48 +02:00
Stefan Strigler
1ff96f5314
style: fix wording
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-31 09:18:39 +02:00
Thales Macedo Garitezi
a2b82dae69
fix(plugins): create directory before uploading
...
Fixes https://emqx.atlassian.net/browse/EMQX-9434
Fixes https://github.com/emqx/emqx-elixir-plugin/issues/23
2023-03-30 17:51:16 -03:00
Zaiming (Stone) Shi
36043dd651
Merge pull request #10286 from zmstone/0330-exit-with-non-zero-code-if-conf-init-failed
...
0330 exit with non zero code if conf init failed
2023-03-30 17:41:14 +02:00
Stefan Strigler
7c597bfaa9
docs: give a better idea of what this application is supposed to do
2023-03-30 16:57:16 +02:00
Stefan Strigler
87a262edff
docs: add README for EMQX Dashboard
2023-03-30 16:53:27 +02:00
Thales Macedo Garitezi
632bffd451
fix: return friendly message when kafka producer fails to start (rv5.0)
...
Fixes https://emqx.atlassian.net/browse/EMQX-9392
The returned information does not allow to diagnose the issue (i.e.: a
connection issue due to the wrong host and port, the wrong password
failing authn). However, such information is printed to the logs.
This changes the returned error to the API so that the user is hinted
at looking at the logs for further investigation of the error.
2023-03-30 11:51:36 -03:00
Thales Macedo Garitezi
ad28d8418d
Merge pull request #10274 from thalesmg/fix-subs-api-egress-mqtt-v50
...
fix: handle subscription list api when there are `emqx:subscribe` internal subscriptions
2023-03-30 11:16:31 -03:00
lafirest
0af226dd5b
Merge pull request #10276 from lafirest/fix/banned_api
...
fix(i18n): fix the description error about the default value of `until`
2023-03-30 20:26:32 +08:00
William Yang
3c52faa55e
chore(docs): update shared_subscription_strategy
2023-03-30 13:32:45 +02:00
William Yang
65ef9c9086
Merge pull request #10077 from qzhuyan/dev/william/quic-cert-password
...
feat(quic): support TLS password protected keyfile
2023-03-30 12:59:50 +02:00
Zaiming (Stone) Shi
494e4b639a
chore: exit with non-zero status if config initialization failed
2023-03-30 12:52:51 +02:00
firest
f794666c7f
fix(i18n): fix the description error about the default value of `until`
2023-03-30 17:12:45 +08:00
JianBo He
1ff8ecf604
chore: fix typos
2023-03-30 15:10:10 +08:00
JianBo He
3c495f8fd2
chore: update apps/emqx/i18n/emqx_schema_i18n.conf
2023-03-30 08:44:28 +08:00
JianBo He
758e610059
chore: apply suggestions from code review
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-30 08:42:08 +08:00
Thales Macedo Garitezi
806ee716ee
fix(redis): remove `required` meta from schema
...
Since there's a default value, this field shouldn't be marked as
required.
2023-03-29 16:43:52 -03:00
Thales Macedo Garitezi
916ce99fd5
fix: handle subscription list api when there are `emqx:subscribe` subscriptions
2023-03-29 14:56:40 -03:00
Thales Macedo Garitezi
5089449203
Merge pull request #10260 from thalesmg/minor-refactor-basic-usage-rule-rv50
...
refactor(rule_engine): use more helper functions
2023-03-29 09:44:23 -03:00
Zaiming (Stone) Shi
80eb9d7542
Merge pull request #10252 from emqx/release-50
...
0327 merge release-50 to master
2023-03-29 12:33:17 +02:00
Kjell Winblad
8e0d315b7b
Merge pull request #10197 from kjellwinblad/0321-fix-inflight-window-hand-over-to-kjell
...
fix: add inflight window setting to the clickhouse bridge
2023-03-29 09:38:24 +02:00
JianBo He
fee4ff6a07
Merge pull request #10257 from HJianBo/gw-lwm2m-fixes
...
Fixed the issue where `auto_observe` was not working in LwM2M Gateway
2023-03-29 15:20:46 +08:00
JianBo He
27aa3f49aa
docs: improve some mqtt options description
2023-03-29 15:02:01 +08:00
Zaiming (Stone) Shi
11c120f87c
chore: bump emqx app vsn
2023-03-28 21:19:03 +02:00
Zaiming (Stone) Shi
4b428f7a29
chore: bump version to e5.0.2-rc.2
2023-03-28 21:18:21 +02:00
Thales Macedo Garitezi
64faccf50b
test: fix flaky kafka consumer test
2023-03-28 14:50:55 -03:00
Thales Macedo Garitezi
d126c7dc62
refactor(rule_engine): use more helper functions
...
Follow up to
https://github.com/emqx/emqx/pull/10251#discussion_r1150710899 and
https://github.com/emqx/emqx/pull/10251#discussion_r1150720420
2023-03-28 13:46:56 -03:00
William Yang
ecc2cd1a94
test: password cert for SSL listener
2023-03-28 17:15:59 +02:00
Thales Macedo Garitezi
1824e7efcc
fix(rule_engine): count referenced bridges in `from` clauses as dependencies (rv5.0)
...
Fixes https://emqx.atlassian.net/browse/EMQX-9325
Currently, ingress bridges referenced in the `FROM` clause of rules
are not being accounted as dependencies.
When we try to delete an ingress bridge that's referenced in a rule
like `select * from "$bridges/mqtt:ingress"`, that bridge does not
trigger an UI warning about dependent actions.
2023-03-28 10:31:10 -03:00
Zaiming (Stone) Shi
f5e9d3eab2
test: use valid config for jq function timeout
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
3f9ed08308
fix(emqx_schema): ocsp field use 'importance' to replace 'hidden'
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
d07987288a
chore: add some example annotations for config importance level
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
5a19b6f73e
chore: pin hocon 0.38.0 (with config importance level annotation)
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
486352eb6f
fix(swagger): do not generate scheam for hidden args
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
fb29f8035b
feat: make possible to dump full schema (including hidden fields)
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
c302405408
fix: fail fast if not able to load config
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
813ccd7df1
chore: hide node.perf configs
...
these configs are rarely needed by regular users
and if they are to be changed, it should be done by
someone who really understands what they mean
2023-03-28 14:29:24 +02:00
JianBo He
6db5a4872a
test(lwm2m): cover auto_observe mechanism
2023-03-28 18:31:20 +08:00
JianBo He
6750618d9a
fix(lwm2m): ignore unknown ObjectId to auto observe
2023-03-28 17:44:33 +08:00
Xinyu Liu
c607e4ed92
Merge pull request #10243 from terry-xiaoyu/remove-peercert-from-conninfo50
...
chore: remove peercert from the state of connection processes
2023-03-28 17:22:57 +08:00
Stefan Strigler
193905c7b9
Merge pull request #10237 from sstrigler/EMQX-9138-e-5-0-2-ensure-that-the-error-messages-returned-are-consistent
...
fix: create consistent interface 'with_node' for API access
2023-03-28 10:41:10 +02:00
Andrew Mayorov
89108594f0
Merge pull request #10212 from keynslug/test/EMQX-9269/cluster-env
...
test(bridge-api): also run testcases in cluster environment
2023-03-28 11:36:48 +03:00
Andrew Mayorov
40f7fd691e
test(dashboard): reuse `emqx_mgmt_api_test_util` in testsuites
...
To reduce the init / teardown complexity.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
b14a420885
fix(test): delete mnesia schema in-between test suites
...
When using `emqx_common_test_helpers` at least. This should help
reduce the need for superfluous cleanups and test failures due to
unclean state.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
d942a531e6
fix(test): avoid unnecessary cleanups
...
This might make some noise in the logs, depending on the testsuite
configuration, because some test setup might be missing required
applications.
2023-03-27 23:41:19 +03:00
Andrew Mayorov
11b5b7b638
test(bridge-api): also run testcases in cluster environment
...
Excluding a couple of testcases which does not make much sense running
in the cluster. Also try to reduce amount of "noise" in the testcases,
making them easier to comprehend.
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-03-27 23:41:08 +03:00
Zaiming (Stone) Shi
7a6494cda6
Merge pull request #10242 from zmstone/0326-fix-logging-avoid-using-pid-as-log-data-field
...
fix: avoid uisng 'pid' as log data field
2023-03-27 16:13:50 +02:00
Stefan Strigler
64a1d84a44
fix: create consistent interface 'with_node' for API access
2023-03-27 12:14:48 +02:00
William Yang
cec77c2b65
test(quic): chasing flaky tc.
2023-03-27 11:54:08 +02:00
William Yang
169cc9f822
chore(quic): unhide TLS certfile password
2023-03-27 11:54:08 +02:00
Andrew Mayorov
9a93b745fc
fix(dashboard): use correct default for listeners map
2023-03-27 12:38:07 +03:00
firest
5c9538086f
chore: bump emqx_plugin_libs.app.src
2023-03-27 13:54:38 +08:00
JianBo He
bfa5922209
Merge pull request #10140 from HJianBo/cassa
...
feat: support cassandra data bridge
2023-03-27 10:23:02 +08:00
JimMoen
798597c834
Merge pull request #10217 from JimMoen/conn-health-check-with-worker
...
fix: for connection used ecpool, let worker do health check fun
2023-03-27 09:51:52 +08:00
JianBo He
b77aeb69cb
Merge pull request #10172 from HJianBo/fix-typos-acl-file
...
fix(acl): fix wrong default ACL rules
2023-03-27 09:51:02 +08:00
Shawn
07ac2cd57a
chore: remove peercert from the state of connection processes
2023-03-27 09:33:17 +08:00
Zaiming (Stone) Shi
19e136bb66
fix: avoid uisng 'pid' as log data field
...
Since it clashes with log metad data field
2023-03-26 10:33:18 +02:00
Zaiming (Stone) Shi
dd996ad1dc
chore: bump app vsns
2023-03-24 21:47:15 +01:00
Zaiming (Stone) Shi
b37f186142
Merge remote-tracking branch 'origin/master' into 0324-merge-release-50-back-to-master
2023-03-24 21:47:15 +01:00
Thales Macedo Garitezi
ff272a2071
Merge pull request #10206 from thalesmg/decouple-buffer-worker-query-call-mode-v50
...
feat(buffer_worker): decouple query mode from underlying connector call mode
2023-03-24 13:49:00 -03:00
Zaiming (Stone) Shi
bf29919708
Merge pull request #10160 from thalesmg/hide-ocsp-v50
...
chore(ocsp): hide ocsp from schema for now
2023-03-24 15:32:47 +01:00
SergeTupchiy
f4472f66de
Merge pull request #10225 from SergeTupchiy/EMQX-9290-fix-plugin-name-clash
...
fix(emqx_management): resolve plugin name clashes
2023-03-24 16:17:20 +02:00
Serge Tupchii
b02d0088ea
fix(emqx_management): resolve plugin name clashes
...
Allow installing a plugin if its name matches the beginning of another (already installed) plugin name.
For example: if plugin "emqx_plugin_template_a" is installed, it must not block installing plugin "emqx_plugin_template".
Closes : #10213 , EMQX-9290
2023-03-24 16:11:31 +02:00
Stefan Strigler
8d084ed13b
Merge pull request #10226 from sstrigler/EMQX-9273-e-5-0-2-creating-a-data-bridge-the-name-verification-returned-an-incorrect-error-code-of-500
...
fix(emqx_bridge): don't crash on validation error
2023-03-24 14:48:03 +01:00
Thales Macedo Garitezi
166191abd6
chore(ocsp): hide ocsp from schema for now
...
We're going to release it in a later version. So, for now, we'll just
hide it.
2023-03-24 10:04:16 -03:00
Stefan Strigler
fbfdaf44e0
fix(emqx_bridge): don't crash on validation error
2023-03-24 11:46:41 +01:00
Stefan Strigler
a8cfc1c7a1
fix(emqx_bridge): filter status_reason in config update
2023-03-24 11:46:41 +01:00
Stefan Strigler
4f63982d13
Merge pull request #10195 from sstrigler/EMQX-8982-html-tags-are-displayed-in-http-api-doc
...
fix: add summary to schemas where description has html
2023-03-24 08:56:34 +01:00
Ivan Dyachkov
0208fc8296
chore: e5.0.2-rc.1
2023-03-24 08:55:31 +01:00
Zaiming (Stone) Shi
9870f4834e
Merge pull request #10179 from kjellwinblad/kjell/fix/rule_engine_app_readme
...
docs: refine README.md for the emqx_rule_engine app
2023-03-24 08:28:11 +01:00
JimMoen
65f468f706
fix: for connection used ecpool, let worker do health check fun
...
let it be same with ecpool:pick_and_do/3 for checkfun use format as {M,F,A}
2023-03-24 10:39:58 +08:00
Thales Macedo Garitezi
f8d5d53908
feat(buffer_worker): decouple query mode from underlying connector call mode
...
Fixes https://emqx.atlassian.net/browse/EMQX-9129
Currently, if an user configures a bridge with query mode sync, then
all calls to the underlying driver/connector ("inner calls") will
always be synchronous, regardless of its support for async calls.
Since buffer workers always support async queries ("outer calls"), we
should decouple those two call modes (inner and outer), and avoid
exposing the inner call configuration to user to avoid complexity.
There are two situations when we want to force synchronous calls to
the underlying connector even if it supports async:
1) When using `simple_sync_query`, since we are bypassing the buffer
workers;
2) When retrying the inflight window, to avoid overwhelming the
driver.
2023-03-23 13:40:31 -03:00
Stefan Strigler
678400bc0a
fix: add summary to schemas where description has html
2023-03-23 16:40:43 +01:00
Stefan Strigler
ba49316ec5
fix: use lower-case
2023-03-23 16:08:27 +01:00
William Yang
7e15f90bf5
chore(test): check openssl cmd returns
2023-03-23 15:06:21 +01:00
William Yang
88731fd145
feat(quic): support TLS password protected keyfile
2023-03-23 15:06:21 +01:00
Stefan Strigler
2803aff798
Merge pull request #10207 from sstrigler/EMQX-9286-use-label-from-i-18-n-files-as-summary-for-open-api-spec
...
feat(emqx_dashboard): use label as summary in OpenAPI spec
2023-03-23 14:58:21 +01:00
Kjell Winblad
35474578ca
refactor: rename async_inflight_window to inflight_window everywhere
2023-03-23 14:21:57 +01:00
Kjell Winblad
9d3f369cca
docs: fix spelling mistake
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-03-23 14:09:57 +01:00
Serge Tupchii
e3541d8947
test: move dashboard specific cleanup call from emqx_common_test_helpers to the relevant test suite
2023-03-23 11:59:43 +02:00
Serge Tupchii
50bbf4f231
chore: bump ekka to 0.14.6
...
ekka 0.14.6 uses mria 0.4.2, which unregisters mnesia_hook upon stopping mria.
This fixes mnesia_hook errors on restarting mria.
Closes: EMQX-9101
2023-03-23 11:59:43 +02:00
JianBo He
8cbbc9f271
Merge remote-tracking branch 'upstream/master' into cassa
2023-03-23 11:53:17 +08:00
Thales Macedo Garitezi
ddffba0355
Merge pull request #10154 from thalesmg/fix-buffer-worker-default-req-timeout
...
fix(buffer_worker): calculate default `resume_interval` based on `request_timeout` and `health_check_interval`
2023-03-22 20:21:04 -03:00
Thales Macedo Garitezi
84f7e9c320
Merge pull request #10209 from thalesmg/fix-lwt-banned-then-kicked-v50
...
fix(last_will_testament): don't publish LWT if client is banned when kicked out
2023-03-22 18:30:31 -03:00
Thales Macedo Garitezi
cb65cded88
fix(last_will_testament): don't publish LWT if client is banned when kicked
...
Fixes https://emqx.atlassian.net/browse/EMQX-9288
Related issue:
https://github.com/emqx/emqx/issues/10192#issuecomment-1478809900
2023-03-22 16:47:58 -03:00
Thales Macedo Garitezi
8844b22c80
docs: improve descriptions
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-22 15:32:09 -03:00
Thales Macedo Garitezi
127a075b66
test(dynamo): attempt to fix dynamo tests
...
Those tests in the `flaky` test are really flaky and require lots of
CI retries.
Apparently, the flakiness comes from race conditions from restarting
bridges with the same name too fast between test cases. Previously,
all test cases were sharing the same bridge name (the module name).
2023-03-22 14:34:37 -03:00
Stefan Strigler
2662f79ec0
feat(emqx_dashboard): use label as summary in OpenAPI spec
2023-03-22 16:29:51 +01:00
Thales Macedo Garitezi
61cb03b45a
fix(buffer_worker): change the default `resume_interval` value and expose it as hidden config
...
Also removes the previously added alarm for request timeout.
There are situations where having a short request timeout and a long
health check interval make sense, so we don't want to alarm the user
for those situations. Instead, we automatically attempt to set a
reasonable `resume_interval` value.
2023-03-22 11:47:36 -03:00
lafirest
84def357a9
Merge pull request #10143 from lafirest/feat/rocketmq
...
feat(bridges): integrate RocketMQ into data bridges
2023-03-22 20:43:22 +08:00
Zaiming (Stone) Shi
e43aa5d841
Merge pull request #10199 from zmstone/0321-merge-release-50-to-master
...
0321 merge release 50 to master
2023-03-22 10:20:48 +01:00
Zaiming (Stone) Shi
db6afb40b0
Merge pull request #10174 from zmstone/0320-upgrade-esockd-to-5.9.6
...
fix: upgrade esockd from 5.9.4 to 5.9.6
2023-03-22 09:50:38 +01:00
Andrew Mayorov
af7b2215ca
fix(bridge-api): unflatten nodes' bridge lists back
...
Bridge lists were erroneously flattened in cad6492c
. This causes
bridge listing fail in emqx clusters consisting of more than 1 node.
2023-03-22 11:35:09 +03:00
firest
9853d00cad
feat(bridges): integrate RocketMQ into data bridges
2023-03-22 10:36:52 +08:00
JianBo He
65c2da7ef5
Merge remote-tracking branch 'ce/master' into cassa
2023-03-22 09:30:50 +08:00
Andrew Mayorov
bf35419b52
Merge pull request #10190 from keynslug/fix/EMQX-9269/bridge-list
...
fix(bridge-api): unflatten nodes' bridge lists back
2023-03-22 00:53:03 +03:00
Zaiming (Stone) Shi
e6091db351
Merge remote-tracking branch 'origin/release-50' into 0321-merge-release-50-to-master
2023-03-21 22:03:31 +01:00
Stefan Strigler
6c24b3a77d
Merge pull request #10196 from sstrigler/EMQX-9201-the-case-is-not-correct-for-some-of-menu
...
Emqx 9201 the case is not correct for some of menu
2023-03-21 19:42:10 +01:00
Thales Macedo Garitezi
4bbbaf8b13
Merge pull request #10164 from thalesmg/crl-v50-mkIII
...
feat(crl): add crl check support
2023-03-21 14:42:01 -03:00
Kjell Winblad
27b8445337
fix: add inflight window setting to the clickhouse bridge
...
This commit makes sure the inflight window setting is present for the
clickhouse bridge. It also changes emqx_resource_schema that previously
removed the inflight window setting from resources with query mode
`always_sync`. We don't need to do that because all bridges that uses
the buffer worker queue will get async call handling even if the bridge
don't support the async callback.
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-21 17:14:03 +01:00
Stefan Strigler
327b782210
style: lower case in descriptions
2023-03-21 17:04:42 +01:00
Andrew Mayorov
d9b1b1c802
fix(bridge-api): unflatten nodes' bridge lists back
...
Bridge lists were erroneously flattened in cad6492c
. This causes
bridge listing fail in emqx clusters consisting of more than 1 node.
2023-03-21 18:59:27 +03:00
Stefan Strigler
981268911a
style: make summary lower-case
2023-03-21 16:56:37 +01:00
Stefan Strigler
3880862c81
fix(emqx_bridge): return 503 for inconsistency in bridge setup
2023-03-21 15:07:43 +01:00
Stefan Strigler
4b0ea562a2
refactor(emqx_bridge): consistently use macros for http response
2023-03-21 15:07:41 +01:00
Stefan Strigler
84fc64822e
style: fix wording for nxdomain and malformed_username_or_password
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-21 15:02:29 +01:00
Stefan Strigler
8af3fb4ee7
feat: move human readable error translations to emqx_misc
2023-03-21 15:02:29 +01:00
Stefan Strigler
c1384b6e6e
feat(emqx_resource): include error with alarm for resource_down
2023-03-21 15:02:29 +01:00
Stefan Strigler
53825b9aba
fix(emqx_bridge): propagate connection error to resource status
2023-03-21 15:02:29 +01:00
Zaiming (Stone) Shi
fd23800370
Merge pull request #10180 from zmstone/0320-add-emqx_ctl-readme
...
docs: add readme for emqx_ctl app
2023-03-21 11:33:16 +01:00
William Yang
7d8fc3d2ad
Merge pull request #10185 from qzhuyan/dev/william/bump-quicer
...
chore(build): Support fetching binary for macOS M1 [quicer 0.0.114]
2023-03-21 11:32:33 +01:00
William Yang
092daf409a
chore(testlib): update include for CI of emqtt lib
2023-03-21 09:03:31 +01:00
William Yang
b6e583143f
chore: bump quicer 0.0.114
...
for fetching quicer binary for macOS M1 builds.
2023-03-21 09:01:25 +01:00
Kjell Winblad
89782e6d21
docs: add info about that rule engine can handle different types of structured data
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-21 06:26:04 +01:00
JianBo He
b059bad08a
chore(acl): fully match `dashboard` username
...
Co-authored-by: Ilya Averyanov <av@rubybox.dev>
2023-03-21 09:06:46 +08:00
Thales Macedo Garitezi
f2b54588e7
docs: improve descriptions
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-20 18:09:38 -03:00
Thales Macedo Garitezi
7a71d64686
feat(crl): add crl check support
2023-03-20 18:09:38 -03:00
Ilya Averyanov
ee403423b9
Merge pull request #10166 from savonarola/0318-mix-build
...
chore(mix): fix mix builds
2023-03-20 22:37:21 +02:00
Zaiming (Stone) Shi
c739d9957c
docs: add readme for emqx_ctl app
2023-03-20 19:35:17 +01:00
Zaiming (Stone) Shi
6f71898546
fix: upgrade esockd from 5.9.4 to 5.9.6
...
changes in esockd are
* 5.9.5: added API to retrieve SNI
* 5.9.6: avoid error log if socket is closed before sending
proxy protocol headers
2023-03-20 19:27:32 +01:00
Kjell Winblad
08e249dc4d
docs: refine README.md for the emqx_rule_engine app
...
This commit adds more content to the readme file of the `emqx_rule_engine`
app. The aim of the changes are to make it easier to understand what the
rule engine is and what it does.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9229
2023-03-20 16:53:55 +01:00
Erik Timan
2d75c7d6d9
fix(emqx_bridge): remove metrics from non-dedicated bridge API endpoints
...
Metrics should only be exposed via the /bridges/:id/metrics endpoint,
and not in other operations such as getting the list of all bridges, or
in the response when a bridge has been created. This commit removes all
traces of metrics for the non-dedicated API endpoints.
2023-03-20 09:43:11 +01:00
JianBo He
377127ce72
fix(acl): fix wrong default ACL rules
2023-03-20 13:53:57 +08:00
JianBo He
12942b676d
Merge remote-tracking branch 'upstream/master' into cassa
2023-03-20 09:50:27 +08:00
zhongwencool
6a668c35db
Merge pull request #10167 from zhongwencool/fix-swagger-doc-500-crash
...
fix: swagger doc 500 crash
2023-03-19 16:28:32 +08:00
Zhongwen Deng
b529a0bce1
test: add swagger.json api test
2023-03-19 13:05:32 +08:00
Zhongwen Deng
f8573ae8d7
fix: swagger doc 500 crash
2023-03-19 12:34:06 +08:00
Ilya Averyanov
39f22585d0
chore(mix): fix mix builds
2023-03-19 01:39:56 +02:00
Zaiming (Stone) Shi
149afe863f
chore: e5.0.2/v5.0.21 code freeze
2023-03-17 13:19:44 +01:00
Thales Macedo Garitezi
cf1cce011b
Merge pull request #9564 from thalesmg/kafka-source-ee50
...
feat: implement kafka consumer (ee5.0)
2023-03-17 09:04:53 -03:00
Zaiming (Stone) Shi
1bf72c4d2e
Merge pull request #10155 from zmstone/0316-build-schema-dump-per-lang
...
build: generate per-lang schema dump
2023-03-17 11:45:35 +01:00
Zhongwen Deng
3c1254d873
fix: newly created listeners have no limiter restrictions
2023-03-17 14:32:42 +08:00
JianBo He
c0a216a740
feat(bridge): support cassandra bridge
2023-03-17 11:34:48 +08:00
Zaiming (Stone) Shi
ad1deedd0e
build: generate per-lang schema dump
2023-03-16 21:25:21 +01:00
Thales Macedo Garitezi
20414d7373
fix(buffer_worker): check request timeout and health check interval
...
Fixes https://emqx.atlassian.net/browse/EMQX-9099
The default value for `request_timeout` is 15 seconds, and the default
resume interval is also 15 seconds (the health check timeout, if
`resume_interval` is not explicitly given). This means that, in
practice, if a buffer worker ever gets into the blocked state, then
almost all requests will timeout.
Proposed improvement:
- `request_timeout` should by default be twice as much as
health_check_interval.
- Emit a alarm if `request_timeout` is not greater than
`health_check_interval`.
2023-03-16 13:46:45 -03:00
Thales Macedo Garitezi
966276127e
test: trying to make tests more stable
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
3954b7bde2
fix(bridges): function clause when a non-ingress bridge coexists with an egress bridge
...
This was not caught by our tests because we always test bridge types
in isolation. So, if the config only contains ingress-only bridges,
the `on_message_publish` hook is never installed.
In a real system, if there are bridges of mixed types in the config,
the hook might be installed, and `emqx_bridge:get_matched_bridge_id`
would crash when iterating over the ingress bridges.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
947e014132
test: improve cluster node helpers
...
* Add option to start autocluster. This is useful for scenarios where
a cluster is already running and has some configurations set (via
config handler/cluster rpc) and later another node joins.
* Improve mnesia data directory isolation for nodes. A new dir is set
so that we may avoid intra and inter-suite flakiness due to dirty
tables and schema.
* The janitor is now called synchronously. This ensures the cleanup
is done before the test pid dies.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
d464e2aad5
refactor: rename test resource prefix
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
66eb4ef069
test: fix inter-suite flakiness
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
f31f15e44e
chore(kafka_producer): make schema changes more backwards compatible
...
This will still require fixes to the frontend.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
03342923b9
fix(bridge): use the same dry run prefix
...
Kafka Producer and Consumer bridges rely on this prefix for detecting
a dry run and avoid leaking atoms. At some point, this prefix was
changed, effectively disabling the check in Kafka Producer.
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
1f31a87974
fix(bridge): improve macro var usage
...
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
969fa03ecc
feat: implement kafka consumer
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
094e4a2eeb
chore: fix typespec
2023-03-16 13:43:01 -03:00
Thales Macedo Garitezi
b9e92173cf
test: improve cluster helper
...
1) Make each node have its own isolated data dir to avoid false
negatives.
2) Allow parameterizing the peer module.
3) Fix cluster RPC after a node joins the cluster.
2023-03-16 13:42:59 -03:00
Thales Macedo Garitezi
561c25f0e3
feat: update snabbkaffe -> 1.0.7
2023-03-16 13:42:38 -03:00
Thales Macedo Garitezi
91a57faa95
Merge pull request #10128 from thalesmg/ocsp-v50-mkII
...
feat: add ocsp stapling support to mqtt ssl listener (5.0)
2023-03-16 13:10:48 -03:00
JimMoen
1688cb7df2
Merge pull request #10152 from JimMoen/refine-changes
...
chore: refine changes for merged PRs
2023-03-16 21:11:52 +08:00
Thales Macedo Garitezi
a614bdc94a
chore(ocsp): catch unexpected error when fetching ocsp response
2023-03-16 09:55:52 -03:00
Thales Macedo Garitezi
d1f58d6e2d
refactor: replace macro by simple function
2023-03-16 09:32:40 -03:00
Thales Macedo Garitezi
e5645a7b21
refactor: rename macros
2023-03-16 09:18:16 -03:00
Kjell Winblad
884dddec79
Merge pull request #10136 from kjellwinblad/kjell/fix/default_value_ui
...
fix: schema default value so that it shows up correctly in UI
2023-03-16 12:20:08 +01:00
JimMoen
afd29b69c4
chore: refine i18n doc punctuation
2023-03-16 18:22:29 +08:00
Ivan Dyachkov
e3d4deb8a0
Merge pull request #10147 from id/chore-minor-improvements
...
Chore minor improvements
2023-03-16 08:18:43 +00:00
Andrew Mayorov
816667d85c
Merge pull request #10123 from fix/EMQX-9136/lookup-busy-resources
...
perf(bridge-api): ask nodes' bridge listings in parallel
2023-03-16 00:07:12 +03:00
Ivan Dyachkov
5258b4c6e9
chore: bump ekka to 0.14.5
...
to make use of erlang-rocksdb 1.7.2-emqx-9
2023-03-15 19:54:55 +01:00
Thales Macedo Garitezi
164440fe83
test(resource): fix flaky test
...
Sometimes this test might retry more times, so we check the prefix
of the trace only.
2023-03-15 14:25:55 -03:00
Thales Macedo Garitezi
03b95073fc
test: fix inter-suite flakiness
2023-03-15 14:25:41 -03:00
Andrew Mayorov
a9bc8a4464
refactor(resman): rename `ets_lookup` → `lookup_cached`
...
That way we hide the impementation details + the interface becomes
cleaner and more obvious.
2023-03-15 19:17:30 +03:00
Andrew Mayorov
29907875bf
test(bufworker): set `batch_time` for batch-related testcases
...
By default it's `0` since e9d3fc51
. This made a couple of tests prone
to flapping.
2023-03-15 19:17:30 +03:00
Andrew Mayorov
e411c5d5f8
refactor(resman): work with state cache atomically
...
Also ensure that cache entries are always consistent with `Data`,
so that most of the code could rely on reading the cached entry
most of the time.
2023-03-15 19:17:30 +03:00
Andrew Mayorov
b3e7e51094
test(bridge): drop unnecessary cleanup routines
...
Since `end_per_testcase` cleans out all the resources anyway.
2023-03-15 19:17:29 +03:00
Andrew Mayorov
cad6492c99
perf(bridge-api): ask bridge listings in parallel
...
Also rename response formatting functions to better clarify their
purpose.
2023-03-15 19:17:29 +03:00
Thales Macedo Garitezi
0deb9925c1
docs: improve descriptions
...
Co-authored-by: William Yang <mscame@gmail.com>
2023-03-15 10:30:02 -03:00
Zhongwen Deng
60677bc400
chore: remove unuse code
2023-03-15 20:40:54 +08:00
Ivan Dyachkov
c9b736ae23
Merge pull request #10141 from id/0315-chore-merge-release-50-to-master
...
0315 chore merge release 50 to master
2023-03-15 12:11:54 +00:00
Kjell Winblad
13a35cc045
fix: schema default value so that it shows up correctly in UI
...
This complements PR https://github.com/emqx/emqx/pull/10124 .
The default values for duration_ms() fields needs to be formatted
as a binary string with unit to show up correctly in the dashboard
UI.
2023-03-15 11:04:16 +01:00
Thales Macedo Garitezi
04378f242c
feat(ocsp_cache): give ocsp cache table an heir
2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
f6707d1dd0
test: fix how ocsp client is run in tests
...
For some yet unknown reason the old test version using `open_port`
does not work in OTP 25, but works fine in OTP 24. There are no
messages at all received from The openssl client port program in OTP
25.
2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
63ef2f9b79
feat: save uploaded OCSP issuer pem like other ssl certs
2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
158f054187
docs: improve descriptions
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-14 16:09:06 -03:00
Thales Macedo Garitezi
57e38c8502
refactor(ocsp): add reusable type for normalized binary URLs
2023-03-14 16:09:05 -03:00
Thales Macedo Garitezi
067747c2de
docs: improve descriptions
...
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
52263a0448
feat: add ocsp stapling and crl support to mqtt ssl listener
2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
422597a441
test: fix flaky tests
2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
65fee34fe4
test: fix inter-suite test teardowns
2023-03-14 16:08:47 -03:00
Thales Macedo Garitezi
4880a849b9
chore: update emqtt -> 1.8.5
...
Needed for OCSP / CRL tests because of a bug that makes emqtt hang
forever on TLS handshake errors.
2023-03-14 16:08:47 -03:00
SergeTupchiy
9f9d16dd48
Merge pull request #10117 from SergeTupchiy/EMQX-8889_copy_plugins_on_joining_a_cluster
...
fix: copy plugins to a new node joining a cluster
2023-03-14 21:07:12 +02:00
Zaiming (Stone) Shi
6cbc17f110
Merge pull request #10135 from zmstone/0314-upgrade-to-hocon-0.37.0
...
chore: upgrade to hocon 0.37.0
2023-03-14 19:55:41 +01:00
Stefan Strigler
255117f2c4
chore: bump vsn e5.0.2-alpha.1
2023-03-14 19:51:35 +01:00
Serge Tupchii
bde4215a11
fix: copy plugins to a new node joining a cluster
...
Closes: EMQX-8889
2023-03-14 20:42:57 +02:00
William Yang
fffb92ebb7
test(quic): make tc run independent
2023-03-14 11:46:24 +01:00
William Yang
4c28b9f839
chore(test): use power of 2 recvbuff size in quic test
...
Make msquic assertions happy while in debug mode.
2023-03-14 11:46:24 +01:00
Zaiming (Stone) Shi
18b145ab67
chore: upgrade to hocon 0.37.0
...
hocon 0.37.0 introduced schema field aliases
this change does not impact anything until we start using aliases
2023-03-14 11:39:55 +01:00
zhongwencool
4f1da5e9fa
Merge pull request #10132 from zhongwencool/systemd-stop-crash-log
...
fix: stop port apps when emqx_machine_terminator shutdown
2023-03-14 17:40:26 +08:00
zhongwencool
d853085259
Merge pull request #10119 from zhongwencool/fix-statsd-empty-server
...
fix: don't allow empty string in server_port schema
2023-03-14 16:37:15 +08:00
Zhongwen Deng
0738444da9
fix: stop port apps when emqx_machine_terminator shutdown
2023-03-14 15:39:50 +08:00
Andrew Mayorov
a530ccbe3d
Merge pull request #10095 from fix/EEC-782/mysql-prepstmt-exhaustion
...
fix(mysql): be explicit that batch queries are parameterless
2023-03-14 10:21:45 +03:00
Zhongwen Deng
80205d9704
chore: apply code review
2023-03-14 10:54:05 +08:00
Zhongwen Deng
ee2847dcd9
test: make schema test happy
2023-03-14 09:17:45 +08:00
Zhongwen Deng
5be4d97c42
fix: don't allow empty string in server_port schema
2023-03-14 09:17:45 +08:00
Thales Macedo Garitezi
823128dfc7
Merge pull request #10127 from thalesmg/rm-rebar3-emqx-app-master
...
chore: remove committed rebar3 binary
2023-03-13 16:33:57 -03:00
Kjell Winblad
87ede1b1f7
Merge pull request #10124 from kjellwinblad/kjell/mongodb/default_heartbeat
...
fix: increase heartbeat time to avoid extreme MongoDB logging
2023-03-13 18:56:49 +01:00
Thales Macedo Garitezi
25c28eab81
chore: remove committed rebar3 binary
...
We already set up our custom rebar3 binary in CI, so this doesn't need
to be committed. It is also outdated with our currently used version.
2023-03-13 14:11:39 -03:00
Stefan Strigler
62aec87c56
Merge pull request #10107 from sstrigler/EMQX-9147-bridges-api-fix-handling-unknown-bridge-id
...
Bridges API: fix handling unknown bridge-id
2023-03-13 16:40:46 +01:00
Kjell Winblad
1cf01197bb
fix: increase heartbeat time to avoid extreme MongoDB logging
...
Our MongoDB driver creates a new temporary connection, for every active
connection, to just do a single heartbeat test. There is configurable
delay between every heartbeat test. When the user has an EMQX cluster
with a MongoDB bridge (to a MongoDB replica set), there will be a lot of
connections. Furthermore, as MongoDB creates a log entry every time a
new connection is created, the log will be flooded with info about new
connection. One user have reported more than 1MB of log data in a 10
minute period.
This commit tries to fix this by increasing the default delay between
heartbeats. A better fix would be to change the MongoDB driver so that
it does not create a new connection just to do a heartbeat check, but
this is more complicated so we leave this to the future. We might also
swap out the current MongoDB driver to something better.
Fixes:
https://github.com/emqx/emqx/issues/9851
2023-03-13 14:58:53 +01:00
Zaiming (Stone) Shi
0c5ab5183a
Merge pull request #10109 from zmstone/0308-stop-releasing-schema.json-in-rel-package
...
0308 stop releasing schema.json in rel package
2023-03-13 14:27:15 +01:00
Andrew Mayorov
53bc27e0f4
refactor(bridge): avoid unnecessary `maps:to_list/1` when listing
2023-03-13 14:49:38 +03:00
Andrew Mayorov
686bf8255b
fix(bridge): reply `emqx_resource:get_instance/1` from cache
...
The resource manager may be busy at times, so this change ensures that
getting resource instance state will not block. Currently, no users of
`emqx_resource:get_instance/1` do seem to be relying on state being
"as-actual-as-possible" guarantee it was providing.
2023-03-13 14:35:08 +03:00
Kjell Winblad
baf39fe080
Merge pull request #10098 from kjellwinblad/kjell/fix/mongo_authz_crash
...
fix: mongodb authz crash
2023-03-13 10:46:49 +01:00
Stefan Strigler
c1adf0de1f
test(emqx_bridge): increase coverage by adding common edge cases
2023-03-13 10:40:47 +01:00
Stefan Strigler
478601ee41
fix(emqx_bridge): remove unreachable code paths
2023-03-13 10:40:47 +01:00
Stefan Strigler
dba95ec0fa
style(emqx_bridge): fix wording
2023-03-13 10:40:47 +01:00
Stefan Strigler
71ec77a2f2
fix(emqx_bridge): for node operation check if node is part of cluster
...
This fixes the case where we returned `501 NOT IMPLEMENTED` in the past.
2023-03-13 10:40:47 +01:00
Stefan Strigler
7124600a71
docs(emqx_bridge): add `start` as operation to bridge
2023-03-13 10:38:51 +01:00
Stefan Strigler
1bcc5623ed
fix(emqx_bridge): check if bridge enabled before calling op
2023-03-13 10:38:49 +01:00
Stefan Strigler
a325133391
fix(emqx_bridge): don't crash checking if bridge enabled
2023-03-13 10:37:28 +01:00
Stefan Strigler
80b81748df
fix(emqx_bridge): handle bridge not found in call_operation
2023-03-13 10:37:28 +01:00
Stefan Strigler
fb3d101b3a
refactor(emqx_bridge): fix var names
2023-03-13 10:37:28 +01:00
Stefan Strigler
e31f4d6091
refactor(emqx_bridge): add BAD_REQUEST macro and minor cleanups
2023-03-13 10:37:28 +01:00
lafirest
e8cf604ad4
Merge pull request #9893 from lafirest/feat/filiter_banned
...
feat(banned): filter out banned messages from mqueue
2023-03-13 09:58:39 +08:00
ieQu1
e3595f2e79
chore(mria): Bump version to 0.4.0
2023-03-11 00:37:25 +01:00
Andrew Mayorov
e571b602b8
chore: bump app versions + add changelog
...
Bump `emqx_plugin_libs` app version to 4.3.7.
2023-03-10 18:43:19 +03:00
Andrew Mayorov
781942cc4f
chore: drop unused macrodefs
2023-03-10 18:42:04 +03:00
Andrew Mayorov
0a7f6c7d03
fix(mysql): ensure proper escaping in batch inserts
...
Also hexencode non-utf8 binaries. This is essentially an heuristic.
We don't know column types in runtime, and there's no simple way
to find them out. Since we're already doing full binary scan during
escaping it should be cheap to bail out on non-utf8 strings and
hexencode them instead.
Also introduce separate function to highlight that this escaping
is MySQL-specific.
2023-03-10 18:42:04 +03:00
Andrew Mayorov
fc37d9b3cd
fix(mysql): be explicit that batch queries are parameterless
...
So that mysql client won't attempt to prepare them automatically, thus
trashing the server's prepared statements table and making interaction
overall heavier.
2023-03-10 18:42:04 +03:00
Andrew Mayorov
a86d06f043
chore: bump app versions following last merge-back
2023-03-10 16:44:15 +03:00
Ilya Averyanov
5650ad20f8
Merge pull request #10100 from savonarola/0308-fix-scram-auth
...
Fix channel crash for slow clients with enhanced authentication
2023-03-10 12:58:43 +02:00
Ivan Dyachkov
951e89134c
Merge remote-tracking branch 'upstream/release-50' into 0310-merge-release-50-to-master
2023-03-10 08:48:32 +01:00
Zaiming (Stone) Shi
3f461f312a
chore: bump version to e5.0.1 and v5.0.20
2023-03-09 18:34:26 +01:00
Zaiming (Stone) Shi
6ebc31a929
Merge pull request #10104 from JimMoen/refine-changes-for-release-50
...
Refine changes for release 50
2023-03-09 18:33:00 +01:00
Ilya Averyanov
cba0287439
fix(mqtt): fix channel crash for slow clients with enhanced authn
2023-03-09 17:27:24 +02:00
Kjell Winblad
aa57ea9ee1
fix: mongodb authz crash
...
This fixes a crash with an error in the log file (see below) that
happened when the MongoDB authorization module queried the database. The
reason is that the collection name that was sent to the mongodb
connection was an atom. This is fixed by making sure it is not an atom.
2023-03-08T17:16:34.215523+01:00 [error] msg: query_mongo_error, mfa:
emqx_authz_mongodb:authorize/4, line: 95, peername: 127.0.0.1:53212,
clientid: client123, collection: mqtt_acl, filter: #{username =>
<<"emqx_u">>}, reason: {resource_error,#{msg => #{error =>
{error,{error_cannot_parse_response,{op_msg_response,#{<<"code">> =>
73,<<"codeName">> => <<"InvalidNamespace">>,<<"errmsg">> => <<"Failed to
parse namespace element">>,<<"ok">> => 0.0}}}},id =>
<<"emqx_authz_mongodb:3">>,name => call_query,request =>
{find,mqtt_acl,#{username => <<"emqx_u">>},#{}},stacktrace =>
[{mc_connection_man,reply,1,[{file,"mc_connection_man.erl"},{line,123}],
...]}, reason => exception}}, resource_id: <<"emqx_authz_mongodb:3">>
Fixes: https://github.com/emqx/emqx/issues/9783
2023-03-09 16:01:23 +01:00
Zaiming (Stone) Shi
3463cd0d37
refactor: generate document related artifacts to _build/docgen
2023-03-09 09:32:03 +01:00
JimMoen
842cb7fadc
fix: debug log for rulesql parse failed
...
See also: PR#10059.
The other error logs will be printed in `emqx_rule_runtime:apply_rule/3`
2023-03-09 11:28:27 +08:00
Zaiming (Stone) Shi
fe27604010
Merge remote-tracking branch 'origin/release-50' into 0308-merge-release-50-back-to-master
2023-03-08 16:46:45 +01:00
Zaiming (Stone) Shi
c773f5f5e1
chore: bump version to e5.0.1-rc.2
2023-03-08 13:55:37 +01:00
firest
b8b1a78025
feat(bridges): integrate the DynamoDB into data bridges
2023-03-08 11:13:38 +08:00
Zaiming (Stone) Shi
158b4a95df
Merge pull request #10079 from qzhuyan/fix/william/i18n-broker_shared_subscription_strategy
...
fix: i18n desc of broker_shared_subscription_strategy
2023-03-07 21:57:07 +01:00
Zaiming (Stone) Shi
26b29185b2
test(emqx_bridge_webhook_SUITE): fix flakyness in test web server
2023-03-07 20:57:38 +01:00
Kjell Winblad
163b33ab28
test: remove unnecessary dependencies of ee apps
2023-03-07 20:57:38 +01:00
Kjell Winblad
ca947e3e70
fix: lost messages when HTTP connection times out
...
When using async mode with the webhook bridge, queued messages that are
not fully processed when the connection times out could be lost. This
commit fixes this by letting the bridge return a recoverable_error when
this happen. The message send will then be retried in sync mode by the
emqx_resource_buffer_worker.
Fixes: https://emqx.atlassian.net/browse/EMQX-8974
2023-03-07 20:57:19 +01:00
Stefan Strigler
609cd01a35
Merge pull request #10085 from sstrigler/EMQX-8552-authorization-sources-type-status-move-shouldnt-exist-when-authorization-sources-type-doesnt-exist
...
emqx_authz API: return 404 for all requests on non existent source
2023-03-07 16:19:28 +01:00
Stefan Strigler
b54f444263
fix(emqx_authz): return `404` for requests on non existent source
2023-03-07 13:51:06 +01:00
Stefan Strigler
a7605fba94
test(emqx_authz): use snabbkaffe:retry instead of timer:sleep
...
also use emqx_json rather than jiffy or jsx directly
2023-03-07 13:49:46 +01:00
ieQu1
6f88cb7d9e
chore(ekka): Bump version to 0.14.3
2023-03-07 12:07:07 +01:00
zhongwencool
0a5b221984
Merge pull request #10055 from zhongwencool/fix-max-awaiting-rel
...
fix: update max_awaiting_rel in session
2023-03-07 18:37:20 +08:00
SergeTupchiy
9949c87b91
Merge pull request #10069 from SergeTupchiy/ci/EMQX-9055-configuration-item-flush-time-interval-used-for-stats-d-integration-not-work
...
fix: EMQX-9055 configuration item flush time interval used for statsd integration not work
2023-03-07 11:43:57 +02:00
William Yang
2b1cf2fa52
Merge pull request #10058 from qzhuyan/dev/william/deprecated-unsupp-quic-TLS-options
...
fix: deprecate unsupp quic TLS options
2023-03-07 09:29:52 +01:00
William Yang
422f8e3be3
Merge pull request #10078 from qzhuyan/fix/william/inval-listener-options-segfault
...
fix: inval listener option cause segfault
2023-03-07 09:26:27 +01:00
Zaiming (Stone) Shi
133734b345
chore: bump version number to e5.0.1-rc.1 and v5.0.20
2023-03-07 08:41:13 +01:00
Thales Macedo Garitezi
eef65fba60
fix(buffer_worker): handle `request_timeout = infinity` case
...
The current schema allows `infinity` for `request_timeout`, so we have
to take that into account. It's not currently possible to set
`batch_time = infinity`, so there's no need to treat that case.
2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
18ab7ed197
chore: bump app vsns
2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
0e707e837f
docs(buffer_worker): improve description of `request_timeout`
2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
e17ad320ee
fix(bridge): do not log in converter
2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
e9d3fc511f
chore(buffer_worker): change default `batch_time` to 0 and improve docs
2023-03-06 15:31:28 -03:00
Thales Macedo Garitezi
2fa4e8e21a
Merge pull request #10068 from thalesmg/fix-flaky-mqtt-bridge-test
...
test: fix flaky mqtt bridge test
2023-03-06 13:06:37 -03:00
William Yang
7c65f6f9a9
fix: i18n desc of broker_shared_subscription_strategy
2023-03-06 15:09:56 +01:00
William Yang
abb5271177
test(quic): start listener with invalid parameter
2023-03-06 14:58:35 +01:00
Stefan Strigler
a81d1a4618
Merge pull request #10066 from sstrigler/EMQX-8932-bridge-api-reports-500-for-most-errors-when-starting-a-resource
...
fix: return human readable error message for most common cases
2023-03-06 14:13:34 +01:00
Thales Macedo Garitezi
f95a30ae89
fix(webhook): convert `request_timeout`s in root and resource_opts
2023-03-06 10:12:38 -03:00
Thales Macedo Garitezi
167b7a212f
refactor(buffer_worker): avoid starting 0-time timers
2023-03-06 10:12:38 -03:00
Thales Macedo Garitezi
e9ffabf936
fix(buffer_worker): add batch time automatic adjustment
...
To avoid message loss due to misconfigurations, we adjust `batch_time`
based on `request_timeout`. If `batch_time` > `request_timeout`, all
requests will timeout before being sent if the message rate is low.
Even worse if `pool_size` is high. We cap `batch_time` at
`request_timeout div 2` as a rule of thumb.
2023-03-06 10:12:38 -03:00
William Yang
27c5389fdc
fix(quic): inval listener option casue segfault
...
bump quicer to 0.0.113
2023-03-06 14:05:33 +01:00
Thales Macedo Garitezi
8fbb948b6f
test: fix flaky mqtt bridge test
...
Sometimes, this test fails because the metrics are still in the
inflight phase.
2023-03-06 09:09:33 -03:00
Stefan Strigler
d0ea7f4647
fix(emqx_authz): check if type param matches type in body
2023-03-06 11:10:31 +01:00
Zhongwen Deng
f498a3538b
fix: update max_awaiting_rel in session
2023-03-06 17:06:40 +08:00
Zaiming (Stone) Shi
a4aece396a
Merge pull request #10052 from zmstone/0301-optimize-boot-error-log
...
0301 optimize boot failure logs
2023-03-06 08:32:15 +01:00
Kjell Winblad
a638cc6566
Merge pull request #9985 from kjellwinblad/kjell/feat/clickhouse_bridge_2/EMQX-8391
...
feat: add clickhouse database bridge
2023-03-04 07:05:05 +01:00
Serge Tupchii
b3907128e8
fix: set statsd flush_time_interval = max(flush_time_interval, sample_time_interval)
...
flush_time_interval is used to calculate statsd sampling rate:
rate = sample_time_interval / flush_time_interval
This means that flush_time_interval must always be greater than (or equal to)
sample_time_interval, otherwise, the sampling rate will be invalid (> 1).
Relates to EMQX-9055
2023-03-03 22:24:00 +02:00
Serge Tupchii
bff087f40a
fix: restart emqx_statsd with the updated configuration
...
emqx_config_handler:post_config_update/5 cb is called before an updated config is saved.
Thus, a process being restarted in that callback cannot get the latest config by calling
emqx_conf:get/2, because that update is not saved yet.
Relates to EMQX-9055
2023-03-03 22:24:00 +02:00
Stefan Strigler
570bf165af
fix: return human readable error message for most common cases
2023-03-03 16:49:09 +01:00
Ivan Dyachkov
c01f62a1c1
chore: bump apps versions
2023-03-03 13:58:32 +01:00
Stefan Strigler
6ebd3dc747
feat(emqx_rule_engine): decompose error tuples
...
sqltester for instance returns sth like {"...sytnax error...", OrigSql}
2023-03-03 09:59:24 +01:00
Stefan Strigler
44eca1fa72
fix(emqx_rule_engine): don't crash if we can't encode json
2023-03-03 09:36:13 +01:00
Stefan Strigler
64b5e9585e
feat(emqx_rule_engine): API format errors in a human readable way
2023-03-02 16:49:11 +01:00
Zaiming (Stone) Shi
4eb9a69df0
feat(bin/emqx): diagnose boot failure
...
Prior to this change, when EMQX daemon mode failed to start
it's not quite easy for users to understand what went wrong.
All the know is the node did not start in time
and then instructed to boot the node in 'console' mode wishing
for some logs.
However, the node might actuay be running, causing 'console' mode
to fail with a different reason.
With this change, after a filure of daemon mode boot,
we issue a diagnosis.
1. if node can not be found from ps -ef, instruct the user
to find information in erlang.log.N
2. if the node is found running, but not responding to pings
instruct the user to check if the node name is
resolvable and reachable
3. if the node is responding to pings but emqx app is not
running, then it's likely a bug. so the user is advised
to report a github issue.
2023-03-02 14:46:09 +01:00
William Yang
baf01617cd
fix(quic): mark unsupp TLS options deprecated
2023-03-02 14:03:44 +01:00
Kjell Winblad
67acdf0888
feat: add clickhouse database bridge
...
This commit adds a Clickhouse bridge to EMQX 5. The bridge is similar to
the Clickhouse bridge in the 4.4, but adds the possibility to use
different formats (such as JSON) for values to be inserted.
2023-03-02 12:22:11 +01:00
Stefan Strigler
39e1cf9502
fix(emqx_bridge): let it crash instead of 400 on failed reset
2023-03-02 11:23:07 +01:00
Stefan Strigler
4c23ab097d
fix(emqx_bridge): return 400 if operation not possible
2023-03-02 11:23:07 +01:00
Stefan Strigler
9fb74bfc87
Merge pull request #10050 from sstrigler/EMQX-9063-bridges-api-consistently-return-404-if-resource-does-not-exist
...
fix: consistently return 404 in case bridge is not found or invalid
2023-03-02 11:20:56 +01:00
Stefan Strigler
680a4362d1
fix: match macro variables
2023-03-02 10:12:56 +01:00
Stefan Strigler
76f97010bb
style: change wording
2023-03-02 09:14:52 +01:00
Serge Tupchii
77dea0c77a
fix: Handle obfuscated fields in bridges_probe API
2023-03-01 22:05:23 +02:00
Stefan Strigler
3f324f85bc
fix: consistently return 404 in case bridge is not found or invalid
...
Also: fix some typos and be more verbose
2023-03-01 18:03:49 +01:00
Zaiming (Stone) Shi
a5f31d0bf4
Merge remote-tracking branch 'origin/master' into 0301-merge-release-50-to-master
2023-03-01 14:04:29 +01:00
Zaiming (Stone) Shi
0185c81f69
chore: bump opensource edition version to v5.0.19
2023-03-01 11:53:24 +01:00
Zaiming (Stone) Shi
fdc0ad6669
Merge pull request #10044 from zmstone/0228-fix-node-info-format
...
fix(emqx_mgmt): format stoped nodes correctly
2023-03-01 11:39:09 +01:00
Zaiming (Stone) Shi
083330ad80
Merge remote-tracking branch 'origin/master' into 0301-merge-release-50-to-master
2023-03-01 08:53:03 +01:00
Zaiming (Stone) Shi
2b06089250
test: stop apps in end_per_suite
2023-03-01 08:48:23 +01:00
Zaiming (Stone) Shi
469071df00
fix(emqx_management): ensure binary string for log_path
2023-03-01 07:45:36 +01:00
Zaiming (Stone) Shi
d369e3167b
fix(emqx_mgmt): format stoped nodes correctly
2023-02-28 21:38:30 +01:00
ieQu1
f80c4e4084
chore(ekka): Bump version to 0.14.2 (mria 0.3.3)
2023-02-28 20:14:13 +01:00
Zaiming (Stone) Shi
b3100ca8ae
Merge pull request #9956 from zmstone/0210-fix-bridge-status
...
0210 docs: fix bridge status
2023-02-28 19:44:07 +01:00
William Yang
427e65bf21
fix: bump hocon to 0.36.0 disallow dup fields
2023-02-28 14:55:45 +01:00
William Yang
7136cc94f4
chore(quic): remove dup handshake_idle_timeout_ms
2023-02-28 14:55:45 +01:00
Zaiming (Stone) Shi
56279f6305
docs: fix bridge status report
2023-02-28 11:56:46 +01:00
William Yang
f3e1860562
test: fix flaky olp tcs
...
Leave only one scheduler online to make test result stable.
2023-02-27 20:01:29 +01:00
Andrew Mayorov
7dce152ffd
Merge pull request #10032 from keynslug/fix/EMQX-9019/no-metrics-disconnected
...
fix(bridgeapi): anticipate node responses w/o metrics
2023-02-27 16:43:25 +04:00
Andrew Mayorov
7c573d9365
fix(bridgeapi): anticipate node responses w/o metrics
...
When some resource manager is busy with trying to estabilish a
connection with remote, we hit the "read-from-cache" codepath so the
resource data will not contain any metrics.
2023-02-27 14:55:41 +03:00
William Yang
6dd99b3331
Merge pull request #10030 from qzhuyan/test/william/fix-quic-flaky-tc
...
chore: fix quic flaky tc
2023-02-27 10:04:12 +01:00
firest
7d762593f6
fix(connector): redact the http body in error logs for security reasons
2023-02-27 11:41:34 +08:00
William Yang
58af936120
test: fix flaky emqx_broker_helper_SUITE:t_shard_seq
2023-02-24 21:21:12 +01:00
William Yang
60532569a2
test(quic): fix flaky
2023-02-24 21:21:12 +01:00
Zaiming (Stone) Shi
5150407f7b
chore: bump to version v5.0.18
2023-02-24 20:06:43 +01:00
Zaiming (Stone) Shi
b3f3bdeafe
Merge remote-tracking branch 'origin/master' into release-50
2023-02-24 20:05:59 +01:00
Zaiming (Stone) Shi
df7e9db057
Merge pull request #10019 from qzhuyan/dev/william/quic-hidden-low-level-tunings
...
230222 feat(quic): add hidden low level settings for listeners.
2023-02-24 20:03:31 +01:00
Zaiming (Stone) Shi
80afb69bb2
Merge pull request #10015 from zmstone/0220-faile-fast-if-cookie-is-obviously-wrong
...
0220 fail fast if cookie is obviously wrong
2023-02-24 19:54:35 +01:00
Zaiming (Stone) Shi
79bf77c2f1
Merge pull request #10020 from zmstone/0222-fix-bridge-async-mode-counters
...
fix(bridge): fix dropped counter and inflight gauge
2023-02-24 19:51:24 +01:00
Andrew Mayorov
c883e4b36a
test: drop custom `loop_wait` in favor of snabkaffe's `?retry`
2023-02-24 18:16:35 +03:00
Andrew Mayorov
2b4e49e7df
fix(bufworker): handle replies of simple async queries
...
Before that change, simple queries were treated as "retries"
essentially, thus skipping all the reply processing there is.
2023-02-24 15:06:49 +03:00
William Yang
fde19e2b4b
docs(quic): fix typos
2023-02-24 10:20:28 +01:00
William Yang
f61c3c47ca
docs(quic): add zh
2023-02-24 10:20:28 +01:00
William Yang
681fd80cab
docs(quic): move desc to i18n.
2023-02-24 10:20:28 +01:00
William Yang
ee77c113aa
test(quic): tuned listener
2023-02-24 10:20:28 +01:00
William Yang
ea65ec10bf
feat(quic): add hidden low level settings for listeners.
2023-02-24 10:20:28 +01:00
Zaiming (Stone) Shi
c97d17cc91
test: refactor to loop wait for counters
2023-02-24 09:02:03 +01:00
Zaiming (Stone) Shi
a10dbba084
refactor(buffer_worker): less defensive on inflight counter decrement
2023-02-23 21:23:10 +01:00
Ilya Averyanov
5bfd690df6
fix(dashboard): fix swagger spec generation
2023-02-23 22:09:36 +02:00
Zaiming (Stone) Shi
7a6465e2cf
fix(buffer_worker): ensure flush timer reset in blocked state
2023-02-23 21:06:38 +01:00
Zaiming (Stone) Shi
3a6dbbdd05
refactor(buffer_worker): ensure flsh message is never missed
2023-02-23 20:11:00 +01:00
Zaiming (Stone) Shi
dbfdeec5e9
fix(buffer_worker): log unknown async replies
2023-02-23 12:55:49 +01:00
Zaiming (Stone) Shi
356a94af30
fix(buffer_worker): ensure async flush message is sent
...
This is a new issue introduced in the previous fix commits
after handling the partial expiry correctly, the
IsFullBefore check is no longer the state before the reply
is received but the state after a partially-expired batch
is shrinked.
The fix is simple, move the check to the entry-point of
where async reply callback enters, then send an async
'flush' notification regardless of the handling result.
2023-02-23 09:47:34 +01:00
Zaiming (Stone) Shi
e9787c3ee3
Merge pull request #9966 from zmstone/0213-port-blackbox-cover-report-from-v4
...
feat: add new module emqx_cover.erl
2023-02-23 09:44:11 +01:00
Zaiming (Stone) Shi
3413af76be
fix(emqx_misc): ensure flatten list for safe dir
2023-02-23 09:05:52 +01:00
Zaiming (Stone) Shi
713220f88b
refactor(buffer_worker): more generic process for all_expired
2023-02-23 00:04:20 +01:00
Zaiming (Stone) Shi
036f69cd6e
test: ensure batch size > 1 is covered in expiration test
2023-02-22 23:26:04 +01:00