rabbitmq-server/deps/rabbit
Michal Kuratczyk 68de3fdb77
Fix channel crash when publishing to a new stream (#12969)
The following scenario led to a channel crash:
1. Publish to a non-existing stream: `perf-test -y 0 -p -e amq.default -t direct -k stream`
2. Declare the stream: `rabbitmqadmin declare queue name=stream queue_type=stream`

There is no pid yet, so we got a function_clause with `none`
```
{function_clause,
   [{osiris_writer,write,
        [none,<0.877.0>,<<"<0.877.0>_-65ZKFz18ll5lau0phi7CsQ">>,1,
         [[0,"Sp",[192,6,5,"B@@AC"]],
          [0,"Sr",
           [193,38,4,
            [[[163,10,<<"x-exchange">>],[161,0,<<>>]],
             [[163,13,<<"x-routing-key">>],[161,6,<<"stream">>]]]]],
          [0,"Su",[160,12,[<<0,19,252,1,0,0,98,171,20,16,108,167>>]]]]],
        [{file,"src/osiris_writer.erl"},{line,158}]},
    {rabbit_stream_queue,deliver0,4,
        [{file,"rabbit_stream_queue.erl"},{line,540}]},
    {rabbit_stream_queue,'-deliver/3-fun-0-',4,
        [{file,"rabbit_stream_queue.erl"},{line,526}]},
    {lists,foldl,3,[{file,"lists.erl"},{line,2146}]},
    {rabbit_queue_type,'-deliver0/4-fun-5-',5,
        [{file,"rabbit_queue_type.erl"},{line,707}]},
    {maps,fold_1,4,[{file,"maps.erl"},{line,860}]},
    {rabbit_queue_type,deliver0,4,
        [{file,"rabbit_queue_type.erl"},{line,704}]},
    {rabbit_queue_type,deliver,4,
        [{file,"rabbit_queue_type.erl"},{line,662}]}]}
```

Co-authored-by: Karl Nilsson <kjnilsson@gmail.com>
2024-12-20 08:56:25 +01:00
..
docs Mention node_tags #12702 in rabbitmq.conf.example 2024-11-11 22:56:47 -05:00
include rabbit_khepri: Add macros for path patterns 2024-11-22 11:21:11 -05:00
priv/schema Node tags local to broker, add to /api/overview output and ctl status command 2024-11-11 20:49:21 +00:00
scripts Fix accepting input from the CLI (#11060) 2024-04-23 08:56:10 +02:00
src Fix channel crash when publishing to a new stream (#12969) 2024-12-20 08:56:25 +01:00
test rabbit_feature_flags: Add testcase after issue #12963 2024-12-19 16:33:43 +01:00
.gitignore make: Remove rabbitmq-deps.mk related targets 2024-08-29 15:19:14 +02:00
BUILD.bazel Restore credit_flow between channel/MQTT connection -> CQ processes 2024-12-09 22:33:47 -05:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
INSTALL Use the new URLs of the `www.rabbitmq.com` website 2024-09-23 11:34:54 +02:00
LICENSE
LICENSE-MPL-RabbitMQ
Makefile Restore credit_flow between channel/MQTT connection -> CQ processes 2024-12-09 22:33:47 -05:00
README.md Use the new URLs of the `www.rabbitmq.com` website 2024-09-23 11:34:54 +02:00
SECURITY.md Use the new URLs of the `www.rabbitmq.com` website 2024-09-23 11:34:54 +02:00
app.bzl bazel run gazelle 2024-12-14 04:02:32 +00:00
bats.bzl
ct.test.spec Support AMQP filter expressions (#12415) 2024-10-07 17:12:26 +02:00

README.md

RabbitMQ Server

RabbitMQ is a feature rich, multi-protocol messaging broker. It supports:

  • AMQP 0-9-1
  • AMQP 1.0
  • MQTT 3.1.1
  • STOMP 1.0 through 1.2

Installation

Tutorials & Documentation

Getting Help

Contributing

See CONTRIBUTING.md and our development process overview.

Questions about contributing, internals and so on are very welcome on the mailing list.

Licensing

RabbitMQ server is licensed under the MPL 2.0.

Building From Source and Packaging

(c) 2007-2024 Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. All rights reserved.