Commit Graph

37 Commits

Author SHA1 Message Date
Michael Klishin a9ced75476 rabbitmq_stream: add a few missing license headers 2024-01-27 20:46:16 -05:00
dcorbacho b636ad2565 Rename protocol error counters to _total 2021-06-30 12:46:41 +02:00
dcorbacho 58e36b6417 Add specific stream protocol counters to track protocol errors 2021-06-29 12:50:00 +02:00
dcorbacho 38f474688f Stream common library 2021-06-11 17:24:00 +02:00
Arnaud Cogoluègnes 2ab5cb22ca
Expose TLS info for stream connections (CLI, REST API) 2021-05-27 10:43:33 +02:00
Gerhard Lazu f8b4e1e298
Add consumer offset_lag to rabbitmq-stream CLI command & Management
This is an important metric to keep track of and be aware (maybe even
alert on) when consumers fall behind consuming stream messages. While
they should be able to catch up, if they fall behind too much and the
stream gets truncated, they may miss on messages.

This is something that we want to expose via Prometheus metrics as well,
but we've started closer to the core, CLI & Management.

This should be merged as soon as it passes CI, we shouldn't wait on the
Prometheus changes - they can come later.

Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-05-21 13:02:48 +01:00
Arnaud Cogoluègnes 194198a450
Add stream consumer properties to list command 2021-05-18 17:16:06 +02:00
kjnilsson a1ce34c1b8 Extract stream protocol framing and binary generation
into a separate module.
2021-05-17 10:39:52 +01:00
Arnaud Cogoluègnes 9f0bec8def
Start constants at 1 for stream plugin 2021-02-26 11:48:45 +01:00
Arnaud Cogoluègnes 768a61792e
Use MSB in keys to distinguish requests/responses
In stream protocol.
2021-02-26 11:03:36 +01:00
Arnaud Cogoluègnes d70b55aa0c
Add route and partitions command to stream plugin
For publishing to super streams.
2021-02-25 17:22:42 +01:00
Arnaud Cogoluègnes 2f903843e0
Add list_stream_publishers CLI command 2021-01-19 14:49:30 +01:00
Arnaud Cogoluègnes 1e6244990c
Add list_stream_consumers CLI command 2021-01-19 11:31:39 +01:00
Arnaud Cogoluègnes 0d73b58be0
Re-order stream command constants
The order is more usage-oriented.
2021-01-18 11:25:21 +01:00
Arnaud Cogoluègnes 88b4ddb6c2
Track publishers in stream plugin 2020-12-03 17:57:48 +01:00
Arnaud Cogoluègnes 41160210ab
Start stream consumer REST endpoint 2020-12-01 18:23:22 +01:00
Arnaud Cogoluègnes 59bc60fe36
Add query publisher sequence 2020-11-26 10:02:13 +01:00
Arnaud Cogoluègnes 8f97ea400a
Start adding publishing dedup support for streams 2020-11-24 17:48:41 +01:00
Arnaud Cogoluègnes b704e2f8ef Check stream name before creation
Should not start with "amq.", be empty. Strips also newline
and carriage return characters.
2020-10-16 11:22:16 +02:00
Arnaud Cogoluègnes 27d06e8021 Add CLI command to list stream connections 2020-10-16 09:18:36 +02:00
Arnaud Cogoluègnes 4420c77e8b Set default heartbeat to 60 seconds 2020-10-12 16:05:34 +02:00
Arnaud Cogoluègnes cf5e99cd29 Add offset tracking commands 2020-09-15 17:52:05 +02:00
Arnaud Cogoluègnes 1d3978ae40 Change response code label
From "stream deleted" to "stream not available". It covers now the
deletion of a stream and the unavailibility due to a failure. This is up
to the client to find out what to do (typically send a metadata request
about the stream and see if it's still there).
2020-06-23 10:51:34 +02:00
Arnaud Cogoluègnes 397c5ca078 Add authorisation for creation/deletion 2020-06-18 15:25:50 +02:00
Arnaud Cogoluègnes c39852fa72 Introduce PeerProperties command
To exchange client/server properties at the beginning of the connection.
2020-06-10 10:42:29 +02:00
Arnaud Cogoluègnes a56cf4013c Support first/last/next/offset/timestamp offset spec 2020-06-02 16:35:00 +02:00
Arnaud Cogoluègnes c2e35eb55f Use stream coordinator to manage streams 2020-05-06 17:35:41 +02:00
Arnaud Cogoluègnes 2d19e85925 Use stream instead of target 2020-05-06 09:15:16 +02:00
Arnaud Cogoluègnes 8c97d442ce Add heartbeat 2020-03-31 14:43:06 +02:00
Arnaud Cogoluègnes 47d46d145b Send close when client sends frame too large 2020-03-30 15:18:57 +02:00
Arnaud Cogoluègnes e899bdfb3e Refactor tune
Use int32 for both max frame size and bump max frame size to 1 MB.
2020-03-27 15:55:57 +01:00
Arnaud Cogoluègnes 9667525cd7 Update test for opening sequence 2020-03-26 17:52:54 +01:00
Arnaud Cogoluègnes 4e035dfbdb Add support to send close 2020-03-26 16:56:53 +01:00
Arnaud Cogoluègnes a26962cfcb Handle close command from client 2020-03-26 14:52:19 +01:00
Arnaud Cogoluègnes 7c33112f25 Check virtual host access in open 2020-03-26 09:53:28 +01:00
Arnaud Cogoluègnes 728a017f9e Add skeleton for tune and open 2020-03-25 17:06:04 +01:00
Arnaud Cogoluègnes b84de96d0b Add test for authentication 2020-03-25 10:08:10 +01:00