Commit Graph

561 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi e3240b52a8 chore: bump app versions 2022-10-24 11:48:17 +02:00
Zaiming (Stone) Shi 508c0e84d0 Merge branch 'release-v50' into master 2022-10-24 11:46:31 +02:00
Zaiming (Stone) Shi d1332b72e7 feat(api/publish): return detailed publish results
Prior to this change, the publish API returns 200 in most of
the cases.
This change provides more insights to the publish result.

For single message publish endpoint (`publish/`):

HTTP error codes are:

200: Everything is OK
202: No subscriber for the topic
400: When mesage is invalid message.
     e.g. bad topic name or QoS out of range.
503: Failed to dispatch the message. e.g. during EMQX restart.

The response body is a JSON object with two fields
`message_id`, and `publish_result`.
The `message_id` is a globally unique ID for tracing.
`publish_result` is `"OK"` when the message is delivered
to at least one subscriber.
Otherwise `"no_subscriber"`.
`publish_result` may also be some other informative
message to hint the failure result, the content of which
may change in the future.

For `publish/bulk` endpoint:

200: When all message in the bulk are published OK
202: If at least one message in the bulk had `"no_subscriber"` result
400: When mesage is invalid message. e.g. bad topic name or
     QoS out of range.
503: When there is at least one message failed at dispatch.

The reply body is a list of JSON objects having the same layout
as for hte `publish` endpoint.
2022-10-20 20:03:27 +02:00
firest bdaadda479 fix(banned): fix nit code 2022-10-18 13:39:48 +08:00
firest 69701ff578 feat(banned): clean retained/delayed data when client is banned 2022-10-18 13:35:09 +08:00
Zhongwen Deng c0ed8b82aa Merge branch 'trace-log-detail-api' of https://github.com/zhongwencool/emqx into trace-log-detail-api 2022-10-17 09:49:55 +08:00
zhongwencool 77a5125366
chore: update apps/emqx_management/src/emqx_mgmt_api_trace.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-17 09:45:00 +08:00
Zhongwen Deng 4d9cae0387 feat: get trace file's detail via /trace/:name/log_detail 2022-10-17 09:43:15 +08:00
Ivan Dyachkov f2db35db39 chore: delete unused function clause 2022-10-14 10:46:11 +02:00
Zaiming (Stone) Shi c2f176c1e7 fix(api): publish API only returns message ID 2022-10-14 09:49:46 +02:00
Zhongwen Deng 4579d7fff8 feat: get trace file's detail via /trace/:name/log_detail 2022-10-14 11:38:39 +08:00
JianBo He d43b680f14 chore: add comments to explain`/status` cant be found in swagger docs 2022-10-01 09:40:27 +08:00
JianBo He 7d7b05ae4e chore: update app.src 2022-09-30 23:32:23 +08:00
JianBo He a84c6f938c chore(swagger): caption tags name 2022-09-30 23:04:26 +08:00
Shawn dfe14be8b2 chore: bump app vsns 2022-09-26 18:23:28 +08:00
Shawn 4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
zhouzb 2c7d518c19
Merge pull request #8851 from zhongwencool/denny-update-local-override-conf
feat: deny hot updates to the configuration in local-override.conf
2022-09-13 18:49:51 +08:00
Zaiming (Stone) Shi 4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
firest 5ba31cb192 fix(api): add listener create API from `POST /listeners/{type:name}` to `POST /listeners`
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-09 10:46:42 +08:00
firest 47b35f0c6a fix(api): add listener create API from `POST /listeners/{type:name}` to `POST /listeners`
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-08 20:28:40 +08:00
zhongwencool 0e633f87b3
Merge branch 'master' into denny-update-local-override-conf 2022-09-08 17:17:07 +08:00
Zaiming (Stone) Shi befc4acced Merge remote-tracking branch 'origin/master' into merge-master-to-ee50-a 2022-09-06 20:31:38 +02:00
Zhongwen Deng 499da1ebe0 chore: add emqx_release:edition_longstr() 2022-09-06 15:46:18 +08:00
Zaiming (Stone) Shi 9408aeb719
Merge pull request #8420 from zmstone/0705-refactor-delete-unused-module
chore: delete unused schema module
2022-09-05 16:33:07 +02:00
Zhongwen Deng d73f22181d chore: fix dialyzer warning. 2022-09-05 15:02:50 +08:00
Zhongwen Deng 57cc880977 chore: change community to opensource 2022-09-05 14:27:47 +08:00
Zhongwen Deng d447659365 feat: add edition info to /nodes api 2022-09-05 11:29:49 +08:00
JimMoen d533e35df0 chore: update app vsn 2022-09-02 22:26:21 +08:00
Zhongwen Deng 1cb281fbc4 fix: return 503 if dashboard's router not ready 2022-08-31 15:45:54 +08:00
Zhongwen Deng 5718b28eeb feat: Deny hot updates to the configuration in local-override.conf 2022-08-31 14:55:10 +08:00
Zaiming (Stone) Shi 2eb078ff3b chore: bump changed app versions 2022-08-26 14:32:28 +02:00
zhouzb ecb79716ad
Merge branch 'master' into merge-506-to-master 2022-08-26 17:40:26 +08:00
JianBo He 97b9d378a5 Merge tag 'v5.0.6' into merge-506-to-master 2022-08-23 09:08:55 +08:00
ieQu1 ff0c44b67d refactor(emqx_management): Export transactions 2022-08-22 21:29:13 +02:00
JianBo He 7ffdd95aa3 chore: bind option support `:1883` style config
see: https://github.com/emqx/emqx/pull/8571
2022-08-19 11:12:17 +08:00
Zhongwen Deng 49b95b0aa8 chore: improve swagger tags 2022-08-17 23:32:19 +08:00
Zaiming (Stone) Shi 256cdd50ff chore: delete unused schema module 2022-08-17 08:33:15 +02:00
firest 48a761c406 fix(mgmt): fix `$queue` topic name error in this API return 2022-08-15 17:26:25 +08:00
firest dfa63ff3b1 fix(mgmt): remove the `will_msg` field from the client API 2022-08-15 10:22:18 +08:00
firest 01ba45cc37 fix(mgmt): remove the `/api/v5` prefix of status API 2022-08-08 17:34:18 +08:00
Zhongwen Deng fd7c97735d chore: make sure path is binary 2022-08-03 12:58:20 +08:00
Zhongwen Deng a19514f000 chore: bump emqx_management to 5.0.3 2022-08-03 12:34:30 +08:00
Zhongwen Deng 4869225395 chore: update Running/Stopped to running/stopped 2022-08-03 12:24:03 +08:00
JianBo He 257e310931 chore: ensure the `bind` output style
e.g:
- Configured as `1883`, printed as `:1883`
- Configured as `0.0.0.0:1883`, printed as `:1883`
- Configured as `127.0.0.1:1883`, printed as `127.0.0.1:1883`
- Configured as `::1:1883`, printed as `[::1]:1883`
- Configured as `[::1]:1883`, printed as `[::1]:1883`
2022-07-26 19:02:04 +08:00
JianBo He 53fda85c93 fix: conflicts resolving legacy 2022-07-26 11:10:40 +08:00
JianBo He bad82b29ce feat(gw): change the listeners api fields 2022-07-26 11:05:04 +08:00
JianBo He 2c71d27a89 feat(listeners): change the `GET /listeners` api fields 2022-07-26 11:04:33 +08:00
zhongwencool 80831a7593
Merge pull request #8563 from zhongwencool/titlecase-swagger-tags
chore: make sure swagger's tags always titlecase
2022-07-25 17:45:54 +08:00
Zhongwen Deng a3296078c3 chore: make sure swagger's tags always titlecase 2 2022-07-25 16:55:38 +08:00
zhongwencool cc63479e69 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:33 +08:00
zhongwencool 087a098d64 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:25 +08:00
Zhongwen Deng dd59c850e0 chore: make sure swagger's tags always titlecase 2022-07-25 16:09:17 +08:00
JianBo He e0b33dc258 fix(listener): support listen on ipv6 address 2022-07-25 09:31:16 +08:00
Zhongwen Deng f080715ce9 fix: ensure /listeners API return all node's status 2022-07-21 15:47:11 +08:00
Zhongwen Deng 26820ed0c4 chore: remove /configs/listeners, we should use /listeners/ API 2022-07-14 15:23:39 +08:00
DDDHuang 941440800b fix(cli): subscriptions with sub options, qos rh rap nl; admins response
data format
2022-07-13 15:55:07 +08:00
JimMoen 2ad99fca7a chore: update appup.src 2022-07-01 21:07:33 +08:00
DDDHuang 25c37a63ef
Merge pull request #8356 from DDDHuang/pubsub_api
Pubsub api
2022-07-01 17:24:18 +08:00
DDDHuang 07f8a93af3 fix: update mgmt bpapi version 2022-07-01 16:43:42 +08:00
firest 325997c592 fix(api): temporarily hide the limiter's API 2022-07-01 16:31:56 +08:00
DDDHuang 6c9cad366b fix(api): client sub & unsub batch 2022-07-01 15:21:11 +08:00
DDDHuang 4f95f097f7 fix: publish api rename param from - clientid 2022-07-01 09:19:19 +08:00
Zhongwen Deng 9768e302c2 chore: mv i18n.conf to emqx_dashboard/priv/ 2022-06-30 21:15:57 +08:00
Zhongwen Deng eb6977f23e fix: display The log path has not been set when can't find log_path 2022-06-30 21:15:57 +08:00
Zaiming (Stone) Shi 18f3920a73 feat: add --json option to 'emqx ctl cluster status' command 2022-06-23 21:59:11 +02:00
Zaiming (Stone) Shi a6f111798b fix(emqx_management): fix topics (routes) cli list command 2022-06-22 00:06:26 +02:00
JianBo He 5bde280b5f chore: update apps/emqx_management/src/emqx_mgmt_api_listeners.erl 2022-06-17 18:47:59 +08:00
JianBo He 03d3fc42c7 fix(mgmt): avoid to HTTP dispatch failure due to an URI defination conflict
Since we bave defined
- `listeners/{listener_id}/authentication` in emqx_authn_api.erl
- and `listeners/{id}/{action}` in emqx_mgmt_api_listeners.erl

The HTTP Router always dispatch the `.../authentication` request to `listeners/{id}/{action}`,
which cause a no_union_member checking error.

In this PR, we make a workaround to avoid this dispatch error
2022-06-17 18:17:25 +08:00
Zhongwen Deng 634a75341a fix: remove nonexistent listener should always return ok 2022-06-16 11:33:24 +08:00
Zhongwen Deng 36af3d066f feat: add enabled for listeners 2022-06-15 14:39:58 +08:00
Zaiming (Stone) Shi 01118cb804
Merge pull request #8195 from zmstone/0613-refactor-display-rfc3339
refactor: expose rfc3339 datetime string
2022-06-13 14:19:19 +01:00
Zaiming (Stone) Shi b18290626d
Merge pull request #8194 from zmstone/0613-uptime-format-as-string-in-cli-printout
fix: uptime display in CLI printout should be human-readable
2022-06-13 13:55:42 +01:00
Zaiming (Stone) Shi 10add62206 refactor: expose rfc3339 datetime string 2022-06-13 11:56:07 +02:00
Zaiming (Stone) Shi ba23771a0a fix: uptime display in CLI printout should be human-readable 2022-06-13 11:44:26 +02:00
Zaiming (Stone) Shi 2065be569e fix(emqx_cluster_rpc): fail fast on stale state
Due to:

* Cluster RPC MFA is not idempotent!
* There is a lack of rollback for callback's side-effects

For instance, when two nodes try to add a cluster-singleton
concurrently, one of them will have to wait for the table lock
then try to catch-up, then try to apply MFA.
The catch-up will have the singleton created, but the initiated
initiated multicall apply will fail causing the commit to rollback,
but not to 'undo' the singleton creation.
Later, the retries will fail indefinitely.
2022-06-12 20:18:48 +02:00
Zhongwen Deng dd873147b3 feat: make tcp/ssl options more straightforward 2022-06-07 17:17:06 +08:00
Zaiming (Stone) Shi cd9811fe15
Merge pull request #8090 from zmstone/0531-fix-ensure-binary-from-size-format
fix: ensure bin-string returned from mgmt size format function
2022-05-31 14:09:31 +01:00
Zaiming (Stone) Shi a2db7226c9 fix(emqx_mgmt): return 0 for non-linux systems 2022-05-31 14:09:56 +02:00
Zaiming (Stone) Shi 6062bc248d fix: ensure bin-string returned from mgmt size format function 2022-05-31 11:04:09 +02:00
Zaiming (Stone) Shi eacd3847ed fix(emqx_mgmt): show used and total ram from lc 2022-05-27 14:04:30 +02:00
JianBo He 1867b86bad fix(mgmt): return null instead of "undefined" string 2022-05-12 19:26:14 +08:00
Zhongwen Deng f0cb72dda6 fix: telemetry can't get active plugins list 2022-05-12 11:18:44 +08:00
zhongwencool 16b6c2f849
Merge pull request #7921 from zhongwencool/add-node-query-string-to-download-tracelog
feat: add node query_string to download logs for specific nodes
2022-05-12 10:26:47 +08:00
Zhongwen Deng 7c65d7159b feat: add node query_string to download logs for specific nodes 2022-05-11 23:19:06 +08:00
firest c9227703fc fix(listener): when update listener conf, should override limiter config not merge 2022-05-11 14:00:54 +08:00
DDDHuang 76102714aa fix: node info, log path only path 2022-05-10 18:00:09 +08:00
Zhongwen Deng 2371604589 fix: infinity means never expire 2022-05-09 14:43:37 +08:00
lafirest 495ef7f301
Merge pull request #7879 from lafirest/fix/listener_with_limiter
fix(listeners): add limiter info into the listener config
2022-05-06 20:34:57 +08:00
firest acba1626f6 fix(mgmt): change the argument position of limiter APIs 2022-05-06 16:37:53 +08:00
firest b394d18852 fix(listeners): add limiter info into the listener config 2022-05-06 13:33:03 +08:00
lafirest 97e778e797
Merge pull request #7868 from lafirest/feat/limiter_api
feat(limiter): add limiter view/update api
2022-05-05 19:08:47 +08:00
firest f2e7563b0c feat(limiter): add limiter view/update api 2022-05-05 13:08:33 +08:00
JianBo He 7813f402c6 feat(api-clients): return client mountpoint property 2022-05-03 16:52:38 +08:00
Zhongwen Deng cf9a853069 fix: delete duplicate clientid/username 2022-04-29 16:33:49 +08:00
Zhongwen Deng bfdd86b3fd fix: reset config not work in cluster 2022-04-29 11:45:22 +08:00
Zhongwen Deng 35d066e3d5 fix: delete plugin from configure when uninstall 2022-04-29 00:55:21 +08:00
Zhongwen Deng e8cead48b2 fix: bad plugin file crash 2022-04-28 14:26:25 +08:00
zhongwencool 6825aa66fc
Merge pull request #7780 from zhongwencool/log-bug-fix
fix: make logger config more friendly 🤖
2022-04-27 19:42:20 +08:00
DDDHuang c4416fb2ff
Merge pull request #7773 from DDDHuang/app-exp
feat: app api support show expired
2022-04-27 17:01:22 +08:00
Zhongwen Deng 55be66a5eb feat: add self node to /cluster 2022-04-27 13:55:42 +08:00