<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/rabbitmq-server-git.git/Makefile, branch avoid-double-channel-count-decrease</title>
<subtitle>github.com: rabbitmq/rabbitmq-server.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/'/>
<entry>
<title>Stream Queue</title>
<updated>2020-09-30T13:52:53+00:00</updated>
<author>
<name>kjnilsson</name>
<email>knilsson@pivotal.io</email>
</author>
<published>2020-09-29T10:43:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=f20fa273e99e6dcd925f8cd5988b6385b7fc0b6a'/>
<id>f20fa273e99e6dcd925f8cd5988b6385b7fc0b6a</id>
<content type='text'>
        This is an aggregated commit of all changes related to the
initial implementation of queue types and on top of that the stream
queue type. The varios commit messages have simply been included mostly
un-edited below.

    Make rabbit_amqqueue:not_found_or_absent_dirty/1 visible
    For use in the stream plugin.

    Use bigger retention policy on max-age test

    Set coordinator timeout to 30s

    Handle coordinator unavailable error

    Handle operator policies as maps when checking if is applicable

    Add is_policy_applicable/2 to classic queues

    Ignore restart commands if the stream has been deleted

    It could happen that after termination some of the monitors are still
    up and trigger writer/replica restarts

    Policy support on stream queues

    Remove subscription events on stream coordinator

    Ensure old leaders are removed from monitors

    Introduce delay when retrying a failed phase

    Note that this ensures monitor is setup, there was a bug where no
    monitor was really started when re-trying the same phase

    Restart replicas after leader election instead of relying on old monitors

    Use timer for stream coordinator retries

    Fix stream stats for members/online
    Multiple fixes for replica monitoring and restart

    Ensure pending commands are appended at the end and re-run

    Ensure phase is reset with the state

    Remove duplicates from replica list

    Restart current phase on state_enter

    Remove unused import

    Ensure rabbit is running when checking for stream quorum

    Restart replicas

    Add a close/1 function to queue types

    So that we can get a chance of cleaning up resources if needed.

    Stream queues close their osiris logs at this point.

    fix compiler errors

    stream-queue: take retention into account

    When calculating ready messages metrics.
    Add osiris to the list of rabbit deps

    Retry restart of replicas

    Do not restart replicas or leaders after receiving a delete cluster command

    Add more logging to the stream coordinator

    Monitor subscribed processes on the stream coordinator

    Memory breakdown for stream queues

    Update quorum queue event formatter

    rabbit_msg_record fixes

    Refactor channel confirms

    Remove old unconfirmed_messages module that was designed to handle
    multiple queue fan in logic including all ha mirrors etc. Replaced with
    simpler rabbit_confirms module that handles the fan out and leaves any
    queue specific logic (such as confirms from mirrors) to the queue type
    implemention. Also this module has a dedicated test module. Which is
    nice.

    Backward compatibility with 3.8.x events

    Supports mixed version cluster upgrades

    Match specification when stream queue already exists

    Max age retention for stream queues

    Stop all replicas before starting leader election

    stream: disallow global qos

    remove IS_CLASSIC|QUORUM macros

    Ensure only classic queues are notified on channel down

    This also removes the delivering_queues map in the channel state as it
    should not be needed for this and just cause additional unecessary
    accounting.

    Polish AMQP 1.0/0.9.1 properties conversion

    Support byte in application properties, handle 1-bit representation for
    booleans.

    Use binary in header for long AMQP 1.0 ID

    Fix AMQP 1.0 to 0.9.1 conversion

    Fix test due to incorrect type

    Convert timestamp application properties to/from seconds

    AMQP 1.0 uses milliseconds for timestamp and AMQP 0.9.1 uses seconds, so
    conversion needed.

    Dialyzer fixes

    Handle all message-id types

    AMQP 1.0 is more liberal in it's allowed types of message-id and
    correlation-id - this adds headers to describe the type of the data in
    the message_id / correlation_id properties and also handles the case
    where the data cannot fit by again using headers.

    Resize stream coordinator cluster when broker configuration changes

    convert timestamp to and fro seconds

    user_id should be a binary

    message annotations keys need to be symbols

    stream-queue: default exchange and routing key

    As these won't be present for data written using the rabbitmq-stream
    plugin.

    Add exchange, routing key as message annotations

    To the AMQP 1.0 formatted data to enable roundtrip.

    Add osiris logging module config

    And update logging config test suite.

    Restart election when start of new leader fails

    The node might have just gone down so we need to try another one
    Only aux keeps track of phase now, as it might change if the leader election fails

    Stream coordinator refactor - all state is kept on the ra machine

    Ensure any ra cluster not a qq is not cleaned up

    Fixes to recovery and monitoring

    Add AMQP 1.0 common to dependencies

    Add rabbit_msg_record module
    To handle conversions into internal stream storage format.
    Use rabbitmq-common stream-queue branch
    Use SSH for osiris dependency
    Stream coordinator: delete replica
    Stream coordinator: add replica
    Stream coordinator: leader failover

    Stream coordinator: declare and delete

    Test consuming from a random offset
    Previous offsets should not be delivered to consumers
    Consume from stream replicas and multiple test fixes

    Use max-length-bytes and add new max-segment-size

    Use SSH for osiris dependency

    Basic cancel for stream queues

    Publish stream queues and settle/reject/requeue refactor

    Consume from stream queues

    Fix recovery
    Publish stream messages

    Add/delete stream replicas
    Use safe queue names

    Set retention policy for stream queues

    Required by the ctl command

    [#171207092]

    Stream queue delete queue

    fix missing callback impl

    Stream queue declare

Queue type abstraction

    And use the implementing module as the value of the amqqueue record
    `type` field. This will allow for easy dispatch to the queue type
    implementation.

    Queue type abstraction

    Move queue declare into rabbit_queue_type
    Move queue delete into queue type implementation

    Queue type: dequeue/basic_get

    Move info inside queue type abstraction

    Move policy change into queue type interface

    Add purge to queue type

    Add recovery to the queue type interface

    Rename amqqueue quorum_nodes field

    To a more generic an extensible opaque queue type specific map.

    Fix tests and handle classic API response

    Fix HA queue confirm bug

    All mirrors need to be present as queue names. This introduces context
    linking allowing additional queue refs to be linked to a single "master"
    queue ref contining the actual queue context.

    Fix issue with events of deleted queues

    Also update queue type smoke test to use a cluster by default.

    correct default value of amqqueue getter

    Move classic queues further inside queue type interface

why

[TrackerId]

Dialyzer fixes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
        This is an aggregated commit of all changes related to the
initial implementation of queue types and on top of that the stream
queue type. The varios commit messages have simply been included mostly
un-edited below.

    Make rabbit_amqqueue:not_found_or_absent_dirty/1 visible
    For use in the stream plugin.

    Use bigger retention policy on max-age test

    Set coordinator timeout to 30s

    Handle coordinator unavailable error

    Handle operator policies as maps when checking if is applicable

    Add is_policy_applicable/2 to classic queues

    Ignore restart commands if the stream has been deleted

    It could happen that after termination some of the monitors are still
    up and trigger writer/replica restarts

    Policy support on stream queues

    Remove subscription events on stream coordinator

    Ensure old leaders are removed from monitors

    Introduce delay when retrying a failed phase

    Note that this ensures monitor is setup, there was a bug where no
    monitor was really started when re-trying the same phase

    Restart replicas after leader election instead of relying on old monitors

    Use timer for stream coordinator retries

    Fix stream stats for members/online
    Multiple fixes for replica monitoring and restart

    Ensure pending commands are appended at the end and re-run

    Ensure phase is reset with the state

    Remove duplicates from replica list

    Restart current phase on state_enter

    Remove unused import

    Ensure rabbit is running when checking for stream quorum

    Restart replicas

    Add a close/1 function to queue types

    So that we can get a chance of cleaning up resources if needed.

    Stream queues close their osiris logs at this point.

    fix compiler errors

    stream-queue: take retention into account

    When calculating ready messages metrics.
    Add osiris to the list of rabbit deps

    Retry restart of replicas

    Do not restart replicas or leaders after receiving a delete cluster command

    Add more logging to the stream coordinator

    Monitor subscribed processes on the stream coordinator

    Memory breakdown for stream queues

    Update quorum queue event formatter

    rabbit_msg_record fixes

    Refactor channel confirms

    Remove old unconfirmed_messages module that was designed to handle
    multiple queue fan in logic including all ha mirrors etc. Replaced with
    simpler rabbit_confirms module that handles the fan out and leaves any
    queue specific logic (such as confirms from mirrors) to the queue type
    implemention. Also this module has a dedicated test module. Which is
    nice.

    Backward compatibility with 3.8.x events

    Supports mixed version cluster upgrades

    Match specification when stream queue already exists

    Max age retention for stream queues

    Stop all replicas before starting leader election

    stream: disallow global qos

    remove IS_CLASSIC|QUORUM macros

    Ensure only classic queues are notified on channel down

    This also removes the delivering_queues map in the channel state as it
    should not be needed for this and just cause additional unecessary
    accounting.

    Polish AMQP 1.0/0.9.1 properties conversion

    Support byte in application properties, handle 1-bit representation for
    booleans.

    Use binary in header for long AMQP 1.0 ID

    Fix AMQP 1.0 to 0.9.1 conversion

    Fix test due to incorrect type

    Convert timestamp application properties to/from seconds

    AMQP 1.0 uses milliseconds for timestamp and AMQP 0.9.1 uses seconds, so
    conversion needed.

    Dialyzer fixes

    Handle all message-id types

    AMQP 1.0 is more liberal in it's allowed types of message-id and
    correlation-id - this adds headers to describe the type of the data in
    the message_id / correlation_id properties and also handles the case
    where the data cannot fit by again using headers.

    Resize stream coordinator cluster when broker configuration changes

    convert timestamp to and fro seconds

    user_id should be a binary

    message annotations keys need to be symbols

    stream-queue: default exchange and routing key

    As these won't be present for data written using the rabbitmq-stream
    plugin.

    Add exchange, routing key as message annotations

    To the AMQP 1.0 formatted data to enable roundtrip.

    Add osiris logging module config

    And update logging config test suite.

    Restart election when start of new leader fails

    The node might have just gone down so we need to try another one
    Only aux keeps track of phase now, as it might change if the leader election fails

    Stream coordinator refactor - all state is kept on the ra machine

    Ensure any ra cluster not a qq is not cleaned up

    Fixes to recovery and monitoring

    Add AMQP 1.0 common to dependencies

    Add rabbit_msg_record module
    To handle conversions into internal stream storage format.
    Use rabbitmq-common stream-queue branch
    Use SSH for osiris dependency
    Stream coordinator: delete replica
    Stream coordinator: add replica
    Stream coordinator: leader failover

    Stream coordinator: declare and delete

    Test consuming from a random offset
    Previous offsets should not be delivered to consumers
    Consume from stream replicas and multiple test fixes

    Use max-length-bytes and add new max-segment-size

    Use SSH for osiris dependency

    Basic cancel for stream queues

    Publish stream queues and settle/reject/requeue refactor

    Consume from stream queues

    Fix recovery
    Publish stream messages

    Add/delete stream replicas
    Use safe queue names

    Set retention policy for stream queues

    Required by the ctl command

    [#171207092]

    Stream queue delete queue

    fix missing callback impl

    Stream queue declare

Queue type abstraction

    And use the implementing module as the value of the amqqueue record
    `type` field. This will allow for easy dispatch to the queue type
    implementation.

    Queue type abstraction

    Move queue declare into rabbit_queue_type
    Move queue delete into queue type implementation

    Queue type: dequeue/basic_get

    Move info inside queue type abstraction

    Move policy change into queue type interface

    Add purge to queue type

    Add recovery to the queue type interface

    Rename amqqueue quorum_nodes field

    To a more generic an extensible opaque queue type specific map.

    Fix tests and handle classic API response

    Fix HA queue confirm bug

    All mirrors need to be present as queue names. This introduces context
    linking allowing additional queue refs to be linked to a single "master"
    queue ref contining the actual queue context.

    Fix issue with events of deleted queues

    Also update queue type smoke test to use a cluster by default.

    correct default value of amqqueue getter

    Move classic queues further inside queue type interface

why

[TrackerId]

Dialyzer fixes
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump tracking execution timeout to 15s</title>
<updated>2020-08-25T17:15:05+00:00</updated>
<author>
<name>Michael Klishin</name>
<email>michael@clojurewerkz.org</email>
</author>
<published>2020-08-25T17:15:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=5bf446faece2adf7fb5b790ba8bb24379fd8cb96'/>
<id>5bf446faece2adf7fb5b790ba8bb24379fd8cb96</id>
<content type='text'>
We have seen false positives from 5s timeouts
on heavy loaded nodes, way more than once.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have seen false positives from 5s timeouts
on heavy loaded nodes, way more than once.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce per-user channel tracking</title>
<updated>2020-08-24T17:14:29+00:00</updated>
<author>
<name>Ayanda-D</name>
<email>ayanda.dube@erlang-solutions.com</email>
</author>
<published>2020-06-10T09:10:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=568e2ae6f8d1eab350eef826ce777e13242dbe62'/>
<id>568e2ae6f8d1eab350eef826ce777e13242dbe62</id>
<content type='text'>
Make 'tracking_execution_timeout' configurable

Add per_user_connection_channel_tracking_SUITE
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make 'tracking_execution_timeout' configurable

Add per_user_connection_channel_tracking_SUITE
</pre>
</div>
</content>
</entry>
<entry>
<title>cuttlefish 2.4.1</title>
<updated>2020-08-20T18:48:08+00:00</updated>
<author>
<name>Luke Bakken</name>
<email>lbakken@pivotal.io</email>
</author>
<published>2020-08-20T18:48:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=2c77467c73cd8a1f749df056ab330f168d41c1eb'/>
<id>2c77467c73cd8a1f749df056ab330f168d41c1eb</id>
<content type='text'>
Follow-up to #2432
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up to #2432
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump cuttlefish</title>
<updated>2020-08-18T21:23:22+00:00</updated>
<author>
<name>Luke Bakken</name>
<email>lbakken@pivotal.io</email>
</author>
<published>2020-08-18T21:23:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=784ff332e9102c4a6131f70e76e6f2dfcee55106'/>
<id>784ff332e9102c4a6131f70e76e6f2dfcee55106</id>
<content type='text'>
Version 2.4.0 includes the LICENSE file

Related to https://github.com/pivotal-cf/norsk-config/pull/1167
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Version 2.4.0 includes the LICENSE file

Related to https://github.com/pivotal-cf/norsk-config/pull/1167
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2393 from rabbitmq/upgrade-cuttlefish</title>
<updated>2020-06-25T18:41:19+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2020-06-25T18:41:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=f8c36c2cf57e5932ab04cca4b714525e46f48231'/>
<id>f8c36c2cf57e5932ab04cca4b714525e46f48231</id>
<content type='text'>
Makefile: Upgrade Cuttlefish from 2.2.0 to 2.3.0</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Makefile: Upgrade Cuttlefish from 2.2.0 to 2.3.0</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: Upgrade Cuttlefish from 2.2.0 to 2.3.0</title>
<updated>2020-06-25T11:10:31+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2020-06-25T11:09:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=863535e3e8de4ef3cb549c1ce39a6f919e2a5cd6'/>
<id>863535e3e8de4ef3cb549c1ce39a6f919e2a5cd6</id>
<content type='text'>
This fixes a crash of Cuttlefish when a line is made only of
whitespaces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a crash of Cuttlefish when a line is made only of
whitespaces.
</pre>
</div>
</content>
</entry>
<entry>
<title>drop deprecated HiPE compilation</title>
<updated>2020-06-24T14:05:52+00:00</updated>
<author>
<name>Pierre Fenoll</name>
<email>pierrefenoll@gmail.com</email>
</author>
<published>2020-06-24T14:05:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=c21ca1c518357901f71b28f22cdee8674fd17b00'/>
<id>c21ca1c518357901f71b28f22cdee8674fd17b00</id>
<content type='text'>
Signed-off-by: Pierre Fenoll &lt;pierrefenoll@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Pierre Fenoll &lt;pierrefenoll@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Message store settings we already have use the "msg_store" prefix</title>
<updated>2020-06-03T17:36:17+00:00</updated>
<author>
<name>Michael Klishin</name>
<email>michael@clojurewerkz.org</email>
</author>
<published>2020-06-03T17:36:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=06b35575c88d8653bf6ca981699503c6897bb2fa'/>
<id>06b35575c88d8653bf6ca981699503c6897bb2fa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Changed or overridden default configuration values related to quorum queues</title>
<updated>2020-05-01T10:43:42+00:00</updated>
<author>
<name>Vanlightly</name>
<email>vanlightly@gmail.com</email>
</author>
<published>2020-05-01T10:43:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rabbitmq-server-git.git/commit/?id=552c412dbc4445f916403e5dd9735fe02b5f82f3'/>
<id>552c412dbc4445f916403e5dd9735fe02b5f82f3</id>
<content type='text'>
Specifically:
- changed default quorum_commands_soft_limit from 256 to 32
- override Ra wal_max_batch_size to 4096
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Specifically:
- changed default quorum_commands_soft_limit from 256 to 32
- override Ra wal_max_batch_size to 4096
</pre>
</div>
</content>
</entry>
</feed>
