Commit Graph

280 Commits

Author SHA1 Message Date
Shawn
c6b02bc13f feat: support starting emqx from relup dir
We put all of the unpacked files into `relup` dir, and warn the user if boot from it
2024-07-18 18:47:27 +08:00
zmstone
ebf17c8143 Merge remote-tracking branch 'origin/release-57' into 0606-merge-release-57-to-master 2024-06-06 17:43:36 +02:00
zmstone
c7f585cc21 fix(bin/emqx): ensure -noinput is prior to -noshell
iex seems to depend on this order, otherwise it terminiates right
after boot
2024-06-05 21:55:39 +02:00
zmstone
8276ae54a1 chore: improve emqx boot script's compatibility check
Prior to this change, the command used to check installation
and os compatibility is done by starting a 'erl' process using
default flags. it might be unnecessarily expensive in large
VM instances.
In this change, we have added small enough +S +P and +Q number to
make lower the cost.
2024-06-04 12:11:43 +02:00
zmstone
1c60eb3d75 chore: delete an obsolete comment 2024-03-13 09:45:35 +01:00
zmstone
d2f12e03c0 refactor(nodetool): delete stale code
lists:join is now available in all supported OTP versions
2024-03-13 09:45:35 +01:00
zmstone
62ebcd71ef fix: load cluster.hocon when generate app.<time>.config 2024-03-08 15:27:06 +01:00
zmstone
e0b64190ab chore: rename DB_ROLE to ROLE 2024-03-08 15:27:06 +01:00
Zaiming (Stone) Shi
ef99037335 docs: add log docs 2024-02-27 19:24:56 +01:00
zhongwencool
3e599e5d8e chore: add maybe feature enable on rabbitmq_bridge 2024-02-06 07:57:13 +08:00
JimMoen
e57c354a6a
fix(bin/emqx): maxium file descriptors limit and Schedulers limit
- File descriptors limit 65536 for `remote_console` and `nodetool`
- Schedulers limit 2 for `remote_console` and limit 1 for `nodetool`

Refer [erl#flags](https://www.erlang.org/doc/man/erl.html#flags)

Thanks [PR Review](https://github.com/emqx/emqx/pull/12466#issuecomment-1924095754)
2024-02-04 14:13:36 +08:00
Zaiming (Stone) Shi
9bc732784e fix(bin/emqx): check app status in bash script
Prior to this change, 'true=emqx:is_running().' Erlang assertion
is evaluated before 'emqx start' command gives up waiting.

The Erlang assertion would result in a error level crash log
which can be confusing.

This commit changes the equals to 'true' check to bash script
instead.

Also deleted the log message which advised users to report an
issue in case timeout happens, because daemon mode is almost only
used in tests
2024-01-08 17:15:34 +01:00
JimMoen
5e100f52b8
style: erlfmt all rebar.config files and bin/nodetool 2023-12-29 09:08:03 +08:00
JimMoen
72eb34658d
style: erlfmt all remaining escripts 2023-11-08 11:51:10 +08:00
Igor Urminček
3609b20fb2 fix(bin/eqmx): do not rely on existing user name
Container should be able to run as other user too. Use uid as fallback.
Prerequisite to be able to run as user specified during startup.
2023-10-21 21:19:57 +02:00
Zaiming (Stone) Shi
ad09ca9d6d refactor(nodetool): only add libs when necessary 2023-10-18 14:08:35 +02:00
Zaiming (Stone) Shi
497e08448d feat(cluster): support ipv6 and tls on ipv6 for clustering
Made possible to configure inet6_tls for Erlang distribution
Also, added support to configure ipv6 listener for gen_rpc
2023-10-09 20:03:21 +02:00
Zaiming (Stone) Shi
d3779a3219 fix(audit): make 'emqx eval' command auditable 2023-09-27 13:37:09 +02:00
Zaiming (Stone) Shi
a34ab19d93 fix(audit): make emqx eval command auditable 2023-09-22 12:05:45 +02:00
Paulo Zulato
1b533794aa fix: handle case that zombie process terminated
When emqx is stopped, sometimes it found out that the process is at
zombie state and tries to get the parent PID but the process has already
finished in the meanwhile, printing an error message like this:

```
error: process ID list syntax error

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).
WARNING: 281777 is marked <defunct>, parent:
ok
```
2023-09-17 21:53:37 -03:00
Serge Tupchii
f790690d8b fix(bin/emqx): don't suppress wait_for command output, as it can print warning messages 2023-09-12 19:55:16 +03:00
Serge Tupchii
6dd9e54ab8 fix(bin/emqx): remove ps -e opt, as it lists all processes regardless of -p <pid> 2023-09-12 19:55:16 +03:00
Serge Tupchii
9b3f88aeeb feat(nodetool): print shutdown status messages while EMQX is stopping 2023-09-12 19:55:16 +03:00
Serge Tupchii
9de9631d6b fix(nodetool): increase graceful stop timeout, handle and report {badrpc, timeout} error 2023-09-12 19:55:16 +03:00
Zaiming (Stone) Shi
d0ccd80850 fix(nodetool): ensure patches dir added for rpm/deb installs 2023-09-04 10:04:44 +02:00
Thales Macedo Garitezi
bc0b0fe9e8 fix(nodetool): add patches directory to head of path
This enables us to provide patches that affect `call_hocon` from `bin/emqx`.
2023-08-31 12:40:11 -03:00
Ivan Dyachkov
3be1773e99
Merge pull request #11289 from id/0713-build-debian12-packages 2023-07-18 19:46:29 +02:00
Ivan Dyachkov
42627a3d42 fix: ps -ef to detect defunct pid 2023-07-18 17:12:20 +02:00
ieQu1
191916211b fix(emqx): Change incompatible DB backend message log to a warning 2023-07-18 12:05:07 +02:00
Zaiming (Stone) Shi
b8b1779627 Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee 2023-05-23 21:42:07 +02:00
Zaiming (Stone) Shi
1081a8f041 fix(windows): set EMQX_LOG_DIR env variable 2023-05-23 13:22:40 +02:00
Zaiming (Stone) Shi
3bb1f7ab2b Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee 2023-05-23 13:03:55 +02:00
某文
7b000157d0 feat: refactor log configuration 2023-05-09 11:24:51 +08:00
Zaiming (Stone) Shi
7c1b453285 refactor: stop creating emqx-enterprise.conf 2023-05-08 15:16:27 +02:00
JimMoen
5a25d53fba
fix: avoid stray \ warning for grep 3.8+
Only the first `-` in ERE need escaping to ensure it's not a command
option for `grep`.

The fix also tested on BSD grep 2.6 and works well.

More details:
https://lists.gnu.org/archive/html/info-gnu/2022-09/msg00001.html

> Regular expressions with stray backslashes now cause warnings, as
  their unspecified behavior can lead to unexpected results.
  For example, '\a' and 'a' are not always equivalent
  <https://bugs.gnu.org/39678>.
2023-05-06 12:42:53 +08: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
Zaiming (Stone) Shi
7a549d71ef chore: make it easier for IDE to connect
1. By default, start the node with regular EPMD, not ekka_epmd
2. Use user's Erlang cookie
3. Add a -r option to attach remsh
2023-05-02 10:24:16 +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
JianBo He
069afd042a chore: update changes 2023-04-17 13:56:50 +02:00
JianBo He
f2fae16d3b fix(gw): load emqx applications before hocon configs checking 2023-04-17 13:56:39 +02:00
JianBo He
73c15d9668 chore: update changes 2023-04-15 21:47:38 +08:00
JianBo He
3a511c6229 fix(gw): load emqx applications before hocon configs checking 2023-04-15 19:41:07 +08:00
Paulo Zulato
3765f5f120
Merge pull request #10297 from paulozulato/fix-eval
fix: keep eval command backward compatible with v4
2023-03-31 11:29:57 -03:00
Paulo Zulato
2dd10df417
fix: remove redundant text for eval command
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-31 09:24:38 -03:00
Paulo Zulato
161435d29d fix: keep eval command backward compatible with v4
Keeps "eval" command evaluating only Erlang expressions, even on Elixir
node.

Fixes: https://emqx.atlassian.net/browse/EMQX-8947
2023-03-30 14:20:49 -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
Zaiming (Stone) Shi
28021c466a chore(bin/emqx): do not use -r option in rm command when deleting .siz 2023-03-30 12:31:34 +02:00
Ivan Dyachkov
6b8652108f chore: show ulimit warning on start only 2023-03-30 11:12:58 +02:00
Paulo Zulato
d9fc8fbc87 feat: add new command for Elixir expression evaluation
Currently, Elixir expressions are evaluated on an EMQX node using the
'eval' command, which works for both Erlang and Elixir expressions.
This commit adds the new command 'eval-ex' exclusively for evaluating
Elixir expressions on Elixir nodes, similar to 'eval-erl' for Erlang.
2023-03-28 18:45:48 -03:00