Michal Kuratczyk
febb58003d
Merge pull request #14232 from rabbitmq/consistent-logging
...
Peer Discovery AWS Integration Test / Integration Test (push) Waiting to run
Details
Test (make) / Build and Xref (1.18, 26) (push) Waiting to run
Details
Test (make) / Build and Xref (1.18, 27) (push) Waiting to run
Details
Test (make) / Build and Xref (1.18, 28) (push) Waiting to run
Details
Test (make) / Test (1.18, 28, khepri) (push) Waiting to run
Details
Test (make) / Test (1.18, 28, mnesia) (push) Waiting to run
Details
Test (make) / Test mixed clusters (1.18, 28, khepri) (push) Waiting to run
Details
Test (make) / Test mixed clusters (1.18, 28, mnesia) (push) Waiting to run
Details
Test (make) / Type check (1.18, 28) (push) Waiting to run
Details
Trigger a 4.2.x alpha release build / trigger_alpha_build (push) Has been cancelled
Details
Test Authentication/Authorization backends via mutiple messaging protocols / selenium (chrome, 1.17.3, 27.3) (push) Has been cancelled
Details
Test Management UI with Selenium / selenium (chrome, 1.17.3, 27.3) (push) Has been cancelled
Details
Test Authentication/Authorization backends via mutiple messaging protocols / summary-selenium (push) Has been cancelled
Details
Consistent logging
2025-07-18 10:58:40 +02:00
Michal Kuratczyk
3ee82dab54
Updates for SQL filter changes
2025-07-18 09:46:00 +02:00
Michal Kuratczyk
f6e718c599
Re-introduce rabbit_log for backwards compatibility
...
Some community plugins use rabbit_log. To simplify
the transition, we can keep this module as a simple
wrapper on logger macros.
2025-07-18 08:43:05 +02:00
Michal Kuratczyk
69b97b8a17
Trigger CI
2025-07-18 08:43:05 +02:00
Michal Kuratczyk
1e17455463
[skip ci] Code formatting
2025-07-18 08:43:05 +02:00
Michal Kuratczyk
e459859a40
Remove test for rabbit_log:log/4
2025-07-18 08:43:05 +02:00
Michal Kuratczyk
bcc062203d
rabbit_log -> logger in MQTT test
2025-07-18 08:43:05 +02:00
Michal Kuratczyk
9b3f66c2ec
Remove rabbit_log from Makefile
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
9ab45124e6
rabbit_log -> logger in CLI tests
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
4a4b8bea60
Don't meck rabbit_log
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
5cfb39d30b
rabbit_log -> logger in dynamic calls
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
11e51f58ac
Make dialyzer happy
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
d9103c9d6e
Add exchange name back to the log
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
8ffc9912cd
Add missing includes
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
cc5c3c60df
Add missing include
2025-07-18 08:43:04 +02:00
Michal Kuratczyk
34d20d92ed
Remove incorrect include
2025-07-18 08:43:03 +02:00
Michal Kuratczyk
0cfab72fea
Fix AMQP-0.8 :)
2025-07-18 08:43:03 +02:00
Michal Kuratczyk
24c3677e92
[skip ci] fix AMQP-1.0 DBG macro
2025-07-18 08:43:03 +02:00
Michal Kuratczyk
84d52b51dc
[skip ci] Remove rabbit_log_shovel, use LOG_ macros directly
2025-07-18 08:43:03 +02:00
Michal Kuratczyk
301f6e9906
[skip ci] Remove redundant pid metadata in LOG_ macros
2025-07-18 08:43:03 +02:00
Michal Kuratczyk
8fb3ca1abf
[skip ci] Set logging domain to `?RMQLOG_DOMAIN_GLOBAL` on startup
...
`?RMQLOG_DOMAIN_GLOBAL` used to be added by a now deleted logging
module rabbit_log.
2025-07-18 08:43:03 +02:00
Michal Kuratczyk
ad15dd39df
[skip ci] Simplify logging around peer discovery
2025-07-18 08:43:03 +02:00
Michal Kuratczyk
ee100af9eb
[skip ci] Remove rabbit_log_ldad and use LOG_ macros
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
8a05433897
[skip ci] Remove rabbit_log_connection and use LOG_ macros
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
ebe3f61ef0
[skip ci] Remove rabbit_log_federation and use LOG_ macros
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
3ee8df9310
[skip ci] Remove `pid` from logger process metadata
...
It's added automatically by logger
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
5600138ce9
[skip ci] Remove rabbit_log_prelaunch
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
b7b30ce4d1
[skip ci] Remove rabbit_log_mirroring
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
1743881fe1
[skip ci] Remove rabbit_log_channel and use LOG_ macros directly
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
14fc15a0c2
[skip ci] Remove rabbit_log_queue, replace with LOG_ macros
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
b6b766cac7
[skip ci] Replace logger: calls is LOG_ macros
2025-07-18 08:43:02 +02:00
Michal Kuratczyk
175ba70e8c
[skip ci] Remove rabbit_log and switch to LOG_ macros
2025-07-18 08:42:59 +02:00
David Ansari
310e8123ec
Merge pull request #14184 from rabbitmq/amqp-sql
...
Support AMQP SQL Filter Expressions
2025-07-18 08:17:21 +02:00
David Ansari
a43e2c5201
Merge pull request #14245 from rabbitmq/amqp_filter_set_bug
...
Trigger a 4.2.x alpha release build / trigger_alpha_build (push) Waiting to run
Details
Test (make) / Build and Xref (1.18, 26) (push) Waiting to run
Details
Test (make) / Build and Xref (1.18, 27) (push) Waiting to run
Details
Test (make) / Build and Xref (1.18, 28) (push) Waiting to run
Details
Test (make) / Test (1.18, 28, khepri) (push) Waiting to run
Details
Test (make) / Test (1.18, 28, mnesia) (push) Waiting to run
Details
Test (make) / Test mixed clusters (1.18, 28, khepri) (push) Waiting to run
Details
Test (make) / Test mixed clusters (1.18, 28, mnesia) (push) Waiting to run
Details
Test (make) / Type check (1.18, 28) (push) Waiting to run
Details
Deny `amqp_filter_set_bug` by default
2025-07-17 15:19:27 +02:00
David Ansari
a850505b18
Fix failing test case `streams`
...
Fix
```
make -C deps/rabbit ct-amqp_dotnet t=cluster_size_1:streams
```
2025-07-17 11:29:53 +02:00
David Ansari
4c73edd923
Deny `amqp_filter_set_bug` by default
...
The deprecated feature flag `amqp_filter_set_bug` was introduced in
RabbitMQ 4.1 with phase `permitted_by_default`.
See https://github.com/rabbitmq/rabbitmq-server/pull/12415
This commit which will land in RabbitMQ 4.2 changes the phase to `denied_by_default`.
2025-07-17 10:35:00 +02:00
David Ansari
bc346c8193
Minor refactoring
2025-07-16 15:29:24 +02:00
David Ansari
31d443a30c
Change regex pattern from greedy to non-greedy
...
The spec mandates:
> The wildcard matching MUST consume as few characters as possible.
2025-07-16 15:29:23 +02:00
David Ansari
965691680d
Make NAN and INF reserved
2025-07-16 15:29:23 +02:00
David Ansari
5bd2eba04f
Support decimal and approximate number constants
...
https://docs.oasis-open.org/amqp/filtex/v1.0/csd01/filtex-v1.0-csd01.html#_Toc67929299
and
https://docs.oasis-open.org/amqp/filtex/v1.0/csd01/filtex-v1.0-csd01.html#_Toc67929300
In contrast, in JMS approximate literals use the Java floating-point literal syntax.
2025-07-16 15:29:23 +02:00
David Ansari
642eca60c0
Add support for UTC function
...
https://docs.oasis-open.org/amqp/filtex/v1.0/csd01/filtex-v1.0-csd01.html#_Toc67929310
2025-07-16 15:29:23 +02:00
David Ansari
833b367e3b
Support delimited identifier
...
https://docs.oasis-open.org/amqp/filtex/v1.0/csd01/filtex-v1.0-csd01.html#_Toc67929314
2025-07-16 15:29:23 +02:00
David Ansari
492575bc29
Support strings surrounded by double quotes
...
JMS:
> A string literal is enclosed in single quotes, with an included single quote represented
> by doubled single quote; for example, 'literal' and 'literal''s'.
AMQP SQL
https://docs.oasis-open.org/amqp/filtex/v1.0/csd01/filtex-v1.0-csd01.html#_Toc67929302
> A string constant is a string of arbitrary text consisting of any valid printable Unicode
> characters surrounded by single or double quotation marks. A quotation mark inside the
> string is represented by two consecutive quotation marks.
> string_constant ::= { ‘ | “ } <any> [<any>] { ‘ | “ }
2025-07-16 15:29:23 +02:00
David Ansari
ffc879d958
Support binary constants
...
https://docs.oasis-open.org/amqp/filtex/v1.0/csd01/filtex-v1.0-csd01.html#_Toc67929303
2025-07-16 15:29:23 +02:00
David Ansari
ccdb82b687
Allow only upper case operator names
...
Allow only upper case predefined selector literals and operator names.
The JMS spec states:
> Predefined selector literals and operator names are written here in upper case; however, they are case insensitive.
However, the AMQP SQL spec does not include such a statement.
The EBNF notation with single quotes ('AND') typically implies exact literal matching.
This commit follows the AMQP SQL's EBNF notation and therefore disallows
lower case predefined selector literals or operator names.
2025-07-16 15:29:23 +02:00
David Ansari
c5eeced28d
Support set expressions
...
https://docs.oasis-open.org/amqp/filtex/v1.0/csd01/filtex-v1.0-csd01.html#_Toc67929291
2025-07-16 15:29:23 +02:00
David Ansari
7da3c64287
Allow lexicographical comparison of strings
...
AMQP SQL spec:
"The left operand is of greater value than the right operand if:
... both operands are of type string or of type symbol (any combination is permitted) and the
lexicographical rank of the left operand is greater than the lexicographical rank of the right operand."
In contrast, in JMS:
"String [...] comparison is restricted to = and <>."
2025-07-16 15:29:23 +02:00
David Ansari
5949e6fe90
Support modulo operator '%'
...
The spec is underspecified in what should happen if the left hand side
is a float. This commit decides that the result is undefined (unknown).
The spec is also underspecified in what should happen if either the left
hand side or the right hand side is negative. This commit decides to use
the behaviour of Erlang `rem`.
2025-07-16 15:29:23 +02:00
David Ansari
885b8d38e8
Support ‘!=’ operator
2025-07-16 15:29:23 +02:00
David Ansari
f5ae413659
Remove [NOT] BETWEEN operator
...
[NOT] BETWEEN operator is not supported in AMQP SQL
2025-07-16 15:29:23 +02:00