Commit Graph

20 Commits

Author SHA1 Message Date
Michael Klishin 968eefa1bb
Bump (c) line year
There are no functional changes to this massive diff.
2025-01-01 17:54:10 -05:00
Michael Klishin eb261acd30
CLI: update guide URLs to use the new path structure
the original paths, e.g. /streams.html, do have redirects
in place but it turned out to be a surprisingly fragile
Cloudflare feature when there are hundreds of them,
so we better switch now.
2024-03-07 15:53:14 -05:00
Michael Klishin a9ced75476 rabbitmq_stream: add a few missing license headers 2024-01-27 20:46:16 -05:00
Arnaud Cogoluègnes 388608143d
Add super stream add/delete protocol commands 2023-11-13 10:30:25 +01:00
Michael Klishin 55bd90c0e4
Merge pull request #9187 from rabbitmq/update-secret
Update secret on the stream protocol
2023-10-23 19:46:52 -04:00
Arnaud Cogoluègnes 944b34e4e0 Add pid and node columns to list_stream_connections
Fixes #9555
2023-09-30 14:59:25 -04:00
Arnaud Cogoluègnes db65caa91f Add node column to list_stream_publishers/consumers
Fixes #9582
2023-09-30 14:59:25 -04:00
Marcial Rosales b715a4d07c Update secret via sasl_authentication frame 2023-08-25 11:32:24 +01:00
Arnaud Cogoluègnes 93c33f2423
Rename StreamInfo to StreamStats
Other changes: returns a map of int64, use the new osiris:get_stats/1 API.

References #5412
2022-08-08 18:02:51 +02:00
Arnaud Cogoluègnes 8687e73c7e
Add StreamInfo command to stream protocol
It returns general information on a stream, the first
and committed offsets for now.

Fixes #5412
2022-08-03 14:38:45 +02:00
Arnaud Cogoluègnes 9795727b9f
Include last committed offset in "deliver" stream command
Fixes #5307
2022-07-25 16:15:04 +02:00
Arnaud Cogoluègnes 67aac95f3e
Add exchange command versions command to stream plugin
References #5308
2022-07-25 16:15:03 +02:00
Arnaud Cogoluègnes a1e92b82a0
Add active and activity_status to list_stream_consumers
References #3753
2022-05-09 10:52:33 +02:00
Arnaud Cogoluègnes 5ad9e349e0
Add list_stream_group_consumers CLI command
References #3753
2022-05-09 10:52:31 +02:00
Arnaud Cogoluègnes 434d7b5c54
Add colums argument to list_stream_consumer_groups
References #3753
2022-05-09 10:52:30 +02:00
Arnaud Cogoluègnes d5ae62b1a9
Handle single active consumer registration
WIP. Uses a simple in-memory coordinator for now.
No failover yet.

References #3753
2022-05-09 10:52:20 +02:00
Arnaud Cogoluègnes 17d0ba9317
Return "no offset" (19) code when stored offset is undefined
Fixes #3783
2021-12-01 17:59:14 +01:00
Arnaud Cogoluègnes 8ddff0faf8
Use "store" instead of "commit" for offset tracking 2021-07-08 11:28:33 +02:00
Gerhard Lazu c7971252cd
Global counters per protocol + protocol AND queue_type
This way we can show how many messages were received via a certain
protocol (stream is the second real protocol besides the default amqp091
one), as well as by queue type, which is something that many asked for a
really long time.

The most important aspect is that we can also see them by protocol AND
queue_type, which becomes very important for Streams, which have
different rules from regular queues (e.g. for example, consuming
messages is non-destructive, and deep queue backlogs - think billions of
messages - are normal). Alerting and consumer scaling due to deep
backlogs will now work correctly, as we can distinguish between regular
queues & streams.

This has gone through a few cycles, with @mkuratczyk & @dcorbacho
covering most of the ground. @dcorbacho had most of this in
https://github.com/rabbitmq/rabbitmq-server/pull/3045, but the main
branch went through a few changes in the meantime. Rather than resolving
all the conflicts, and then making the necessary changes, we (@gerhard +
@kjnilsson) took all learnings and started re-applying a lot of the
existing code from #3045. We are confident in this approach and would
like to see it through. We continued working on this with @dumbbell, and
the most important changes are captured in
https://github.com/rabbitmq/seshat/pull/1.

We expose these global counters in rabbitmq_prometheus via a new
collector. We don't want to keep modifying the existing collector, which
grew really complex in parts, especially since we introduced
aggregation, but start with a new namespace, `rabbitmq_global_`, and
continue building on top of it. The idea is to build in parallel, and
slowly transition to the new metrics, because semantically the changes
are too big since streams, and we have been discussing protocol-specific
metrics with @kjnilsson, which makes me think that this approach is
least disruptive and... simple.

While at this, we removed redundant empty return value handling in the
channel. The function called no longer returns this.

Also removed all DONE / TODO & other comments - we'll handle them when
the time comes, no need to leave TODO reminders.

Pairs @kjnilsson @dcorbacho @dumbbell
(this is multiple commits squashed into one)

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-06-22 14:14:21 +01:00
dcorbacho 38f474688f Stream common library 2021-06-11 17:24:00 +02:00