Commit Graph

118 Commits

Author SHA1 Message Date
Michael Klishin 355b8b8327 Merge branch 'stable' 2017-07-11 03:42:16 +03:00
Gerhard Lazu 57a6476942 Move state record back into vm_memory_monitor, it's only used here
rabbitmq/rabbitmq-server#1285

[#148470947]
2017-07-10 18:30:46 +01:00
Gerhard Lazu 8874e551cc Default memory high watermark to 1.0 when using a higher value
Prior to this change, setting the vm_memory_high_watermark to a value
higher than 1 (inclusive), would default to 0.4. This is different from
the behaviour when setting an absolute value, namely defaulting to the
total memory available.

Extracted common memory-related macros & records so that they can be
shared by tests.

re rabbitmq/rabbitmq-server#1285

[finishes #148470947]
2017-07-10 15:10:01 +01:00
Jean-Sébastien Pédron 042aac29c6 rabbit_log: Move it from rabbitmq-server to rabbitmq-common
It obviously depends on a running broker, but some modules in
rabbitmq-common call it. This resolves a dependency of rabbitmq-common
on rabbitmq-server.

`master` branch only:
    Also move rabbit_log.hrl from rabbitmq-server to rabbitmq-common.

[#118490793]

(cherry picked from commit cf5271eec5)
2017-06-26 14:43:35 +02:00
Michael Klishin fbe900611e Merge branch 'stable' 2017-04-05 15:52:51 +03:00
Michael Klishin c7f972f23e (c) year 2017-04-05 15:52:35 +03:00
Diana Corbacho 4a0682dfd2 Add extra_dependencies on plugin record 2017-02-27 15:51:20 +00:00
Michael Klishin 23740d8a72 Adjust fallback credit disc bound value
4000 is not meaningfully different from 3000 but is closer
to the new IO_BATCH_SIZE value.

References rabbitmq/rabbitmq-server#1098.
2017-02-17 23:52:58 +03:00
Michael Klishin 5e2af6d415 Adjust fallback credit disc bound value
4000 is not meaningfully different from 3000 but is closer
to the new IO_BATCH_SIZE value.

References rabbitmq/rabbitmq-server#1098.
2017-02-17 22:25:09 +03:00
Michael Klishin 30400efca2 Merge branch 'stable'
Conflicts:
	src/rabbit_core_metrics.erl
2017-02-15 00:05:10 +03:00
Diana Corbacho 6d6ed78765 Add gen_server2 buffer length to core stats 2017-02-14 14:38:45 +00:00
Arnaud Cogoluègnes 7fc1e4f6a5 Merge branch 'master' into rabbitmq-server-1085
Conflicts:
	src/rabbit_auth_backend_internal.erl
2017-01-23 09:40:59 +01:00
Michael Klishin 39276e967a Define UNKNOWN_USER
For when we can't know what user performed an action,
e.g. there's no user that created the built-in exchanges.
2017-01-20 20:22:15 +03:00
Arnaud Cogoluègnes 0ffacf017d Add topic authorisation for consumption
Part of rabbitmq/rabbitmq-server#1085
2017-01-19 14:55:23 +01:00
Diana Corbacho 02f258590f Notify user who performed the action in all system events 2017-01-16 14:39:26 +00:00
Diana Corbacho d0996c46e1 Include options map in queue and exchange records 2017-01-15 20:30:43 +00:00
Arnaud Cogoluègnes 27f7256064 Rename name to exchange in topic_permission_key
References rabbitmq/rabbitmq-server#505
2017-01-03 11:59:44 +01:00
Arnaud Cogoluègnes 434fcbad62 Add check_topic_access/4 to rabbit_authz_backend
References rabbitmq/rabbitmq-server#505
2016-12-29 08:53:22 +01:00
Arnaud Cogoluègnes 108526f767 Add channel process cache for topic authorization
References rabbitmq/rabbitmq-server#505
2016-12-21 16:22:33 +01:00
Arnaud Cogoluègnes 47979ef8f0 Add topic check in internal authorization backend
References rabbitmq/rabbitmq-server#505
2016-12-21 11:56:50 +01:00
Arnaud Cogoluègnes 9fb8dbb861 Introduce topic authorisation
WIP

References rabbitmq/rabbitmq-server#505
2016-12-20 18:11:22 +01:00
Michael Klishin d444553cc4 Merge branch 'stable'
Conflicts:
	src/rabbit_common.app.src
2016-12-06 00:44:31 +03:00
Michael Klishin 84618920ff Use rabbit_misc:get_env/3
`application:get_env/3` is not available in Erlang/OTP R16B03.
2016-12-05 21:06:47 +03:00
Daniil Fedotov 93f268d185 Get worker and supervisor shutdown timeouts from environment variables 2016-12-01 12:47:18 +00:00
Michael Klishin 0f683955ce Merge branch 'stable'
Conflicts:
	src/rabbit_reader.erl
2016-12-01 14:12:34 +03:00
kjnilsson b237cea9ec Remove channel_consumer 2016-09-19 14:35:59 +01:00
Michael Klishin a3b2653b1e Merge branch 'master' into rabbitmq-server-501 2016-09-15 17:04:55 +03:00
kjnilsson 1ec2b931f1 core metrics: introduce channel_consumers to allow metric queries to map from a queue to a consumer/channel when the queue is hosted on a different node 2016-09-13 15:22:49 +01:00
Loïc Hoguin e0d2f62039 Save listener socket options in Mnesia
(cherry picked from commit b1037b14451bb2459de1471ff285dbcf19808463)
2016-09-13 12:52:50 +02:00
Gabriele Santomaggio 3efc3a95ec add policy_version to amqqueue 2016-09-13 08:42:28 +02:00
Daniil Fedotov 31fc9530b9 type field in tracked_connection record to track direct and network connections 2016-09-12 14:51:28 +01:00
Michael Klishin c99bf78cf0 Add a separate vhost field to amqqueue
So that a secondary index can be added on it.
2016-09-09 03:10:16 +03:00
Michael Klishin 481e16dbd7 Merge branch 'master' into rabbitmq-server-930 2016-08-31 03:29:52 +03:00
Diana Corbacho 046edbd814 Store node node metrics 2016-08-30 10:33:33 +01:00
Daniil Fedotov 54e1fc76eb operator policies data struscture 2016-08-25 17:07:57 +01:00
Diana Corbacho cb21e14415 Store queue and node metrics 2016-08-25 09:07:29 +01:00
Diana Corbacho 9d84fb6a91 Store consumer metrics 2016-08-11 16:18:23 +01:00
Diana Corbacho a466e57a22 Storage of raw metrics 2016-08-10 12:39:17 +01:00
Michael Klishin 7a74185288 Keep track of connections, introduce per-vhost limits
Part of rabbitmq/rabbitmq-server#500.

Squashed commit of the following:

commit 2f0a08dde4a027e0e9e768a36c4ee93807189809
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Thu Jul 21 03:20:07 2016 +0300

    Name is already a binary

commit 0678f00e6f1ee1c71a8bcb57d95205a13fb2d021
Merge: f16db88 e1905b5
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Thu Jul 21 03:06:02 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit f16db88f3daa6eb82aed015f3a23279aa72aeb84
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Wed Jul 20 18:30:13 2016 +0300

    Missing file from earlier commit

commit f284cf96bbdee413199d5843015a8b30ca784962
Merge: 6998e6a 35c7a8d
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Wed Jul 20 18:29:57 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit 6998e6a865bdf29ca9d294467d7b047c6499c94f
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Mon Jul 18 11:15:19 2016 +0300

    Move connection record to rabbit.hrl

    So that it can be used outside of rabbit_reader.

commit 1f1f6a1a71b8c6d84129734bb19109041e4cc1d7
Merge: d35bb6e ee2295a
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Thu Jul 14 15:26:03 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit d35bb6ef590fd93935ef19ff48e63f028793be36
Merge: 26bff83 14219ef
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Thu Jul 7 13:45:17 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit 26bff832f8824d5df8b9c2b705984f2956db5851
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Wed Jul 6 12:31:47 2016 +0300

    Connection re-registration after network split WIP

commit 9cc96f0253001db46cbff525f7bba80b400b6a6b
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sun Jul 3 15:25:15 2016 +0300

    Move set_partition_handling_mode_globally/2 and set_partition_handling_mode/3 to broker helpers

commit 5997e06987e73573babe3b5bff234a5920da47ea
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sun Jul 3 03:54:02 2016 +0300

    Move block_traffic_between/2, allow_traffic_between/2 from partition_SUITE

commit c9bb2d2a22c6d0d08051a183a7db0a3ab12cf622
Merge: 1395888 c7a192e
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sun Jul 3 03:14:36 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit 1395888dcaed3aa397755464aff904b6bd85735f
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sun Jul 3 02:38:51 2016 +0300

    Move dist_proxy helpers from partitions_SUITE

commit af11e9e6cdc288e53e3fded642dfd2f9dccd31c2
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sat Jul 2 22:27:39 2016 +0300

    Test helpers for managing permissions

commit e56b20c8dee9070153d5cb7c48c37331d200ac40
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sat Jul 2 17:28:01 2016 +0300

    Missing exports

commit 7a458e16e7bd6776fa3cabdb9e23f8de7cbb2a35
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sat Jul 2 17:26:07 2016 +0300

    Introduce rabbit_ct_broker_helpers:{add,delete}_vhost/2

commit 6bbcaa2a0698ba83e10833dd30e28aa5fbebd2c4
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sat Jul 2 15:02:09 2016 +0300

    Export tracked_connection/0

commit 6381608e49b42423e9f6feccdcac624fe81bd982
Merge: c082ad9 fa95b43
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Sat Jul 2 02:44:05 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit c082ad94847f5cb973f819d6d5a98b5fd029152e
Merge: 0ba62eb 80ebc45
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Wed Jun 29 14:26:53 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit 0ba62eb0e1bf0f027179b9928f0d244682bc016c
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Thu Mar 31 01:53:36 2016 +0300

    Move new types from rabbitmq-server

commit d4a9ecac1e09ddad14ebc46da0682e0584bd919e
Merge: b78d3d2 8284e88
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Thu Mar 31 01:50:45 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit b78d3d23d6b08fae0d108c4dc762a0f56e3a6560
Author: Michael Klishin <mklishin@pivotal.io>
Date:   Thu Feb 18 17:08:33 2016 +0300

    Enforce per-vhost connection limit

commit 7e34dcaf7e852eacc6b4cb06045f044d096cab41
Merge: c7f941d 3aff671
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Wed Feb 10 12:23:43 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit c7f941d9b1f63abde695f59fe40536741fc7e4df
Merge: 827b854 4ed7cfb
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Fri Feb 5 23:48:31 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit 827b854e33d8d567130ac6ba68cef444e18309b2
Merge: 9720d12 0ba4756
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Wed Feb 3 11:20:21 2016 +0300

    Merge branch 'master' into rabbitmq-server-500

commit 9720d12e3374a93440f22c161c26b5435d1dd74c
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Wed Feb 3 11:19:01 2016 +0300

    Track connection node and username

commit 73756460e041cf45150607bd0da61c53962149b4
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Tue Jan 19 18:14:28 2016 +0300

    Include connection name into connection_closed events

commit d1f96c48cd57194b6f78cfb4a83f0978f3786dfc
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Tue Jan 19 17:53:35 2016 +0300

    Add protocol to tracked_connection

commit 56db86a6a289d590116c4537e9e91da6825f914c
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Tue Jan 19 14:45:26 2016 +0300

    Introduce tracked_connection

commit 0f765dc6f89851359d819e6a1917a60a288d15cb
Author: Michael Klishin <michael@clojurewerkz.org>
Date:   Fri Jan 8 19:13:23 2016 +0300

    Change second vhost record field to be limits
2016-07-22 05:30:59 +03:00
Jean-Sébastien Pédron 414324a483 Only use new non-builtin types in master
We only support Erlang 18.3+. Therefore we can revert what was done in
4be8561b2a.

[#118562897]
2016-07-06 13:50:17 +02:00
Jean-Sébastien Pédron ee442486dd Merge branch 'stable' 2016-07-05 17:29:38 +02:00
Jean-Sébastien Pédron 4be8561b2a Fix build on Erlang R16B03 by adding macros for old builtin types
Those macros are added to the new `old_builtin_types.hrl` header. It
relies on a build-time flag set in `mk/rabbit-build.mk` if ERTS is
strictly older than 6.0 (ie. Erlang 17.0).

The list of wrapped builtin types may be incomplete.

The `compare_versions` GNU Make macro was moved from
`mk/rabbitmq-dist.mk` to `mk/rabbitmq-build.mk` because the former is
included after the latter.
2016-07-05 15:51:51 +02:00
Jean-Sébastien Pédron f7c1db90b4 Merge branch 'stable' 2016-06-29 11:11:27 +02:00
Jean-Sébastien Pédron 58c209a6d6 Use the new -spec format
The old format is removed in Erlang 19.0, leading to build errors.

Also, get rid of the `use_specs` macro and thus always define -spec() &
friends.

While here, unnify the style of -type and -spec.

References rabbitmq/rabbitmq-server#860.
[#118562897]
[#122335241]
2016-06-28 15:57:06 +02:00
Diana Corbacho f59624ac3b Include slave_pids_pending_shutdown on amqqueue record 2016-06-28 10:38:57 +01:00
Daniil Fedotov 15b37181dc Bounded OTP worker timeout 2016-06-17 01:28:29 +03:00
Daniil Fedotov 7bfd06bb4b Bounded OTP worker timeout 2016-06-16 13:14:13 +01:00
Gabriele Santomaggio af68ecef9c add policy_version to amqqueue 2016-05-27 12:27:40 +01:00
Daniil Fedotov ade5729a18 Bump minimal erlang version to 18.3 2016-05-12 10:32:39 +01:00
Michael Klishin afa10f5be3 Merge branch 'master' into rabbitmq-management-163 2016-04-10 04:14:20 +03:00
Michael Klishin 23b75ceb13 Trailing ws 2016-04-08 15:31:28 +03:00
Michael Klishin 6faf8dbc68 Update comments 2016-04-08 15:31:21 +03:00
Daniil Fedotov 0690acc571 Naming 2016-04-07 16:44:07 +01:00
Loïc Hoguin dbb6f522ac Save listener socket options in Mnesia 2016-04-05 16:31:59 +02:00
Daniil Fedotov 65ff7c4be5 Plugin version key for plugin record 2016-03-24 10:50:44 +00:00
Daniil Fedotov 04dacb23e9 rabbitmq_versions key for plugin 2016-03-24 10:50:44 +00:00
Diana Corbacho eb3b98812a Move rpc_call from rabbit/rabbit_cli to rabbit_misc 2016-02-25 15:26:19 +00:00
Ayanda Dube 095b5dc61b Adds CHANNEL_OPERATION_TIMEOUT macro.
References: rabbitmq/rabbitmq-server-248
2016-02-17 15:03:19 +00:00
Alvaro Videla f6dbe6895c documents record fields 2016-01-19 14:45:22 +01:00
Michael Klishin 813d8e0003 New constant 2016-01-10 01:38:15 +03:00
Michael Klishin b54bd04bfc (c) year 2016-01-06 19:45:37 +03:00
Michael Klishin 29c12b945e Minor doc improvements 2015-12-12 02:20:49 +03:00
Loïc Hoguin 390e92aa24 Switch to Ranch for connection handling 2015-11-17 15:37:01 +01:00
Jean-Sébastien Pédron 9172715a2d Update modules and headers from rabbitmq-server master branch 2015-10-05 17:32:57 +02:00
Jean-Sébastien Pédron f038cacf4f Import latest headers from rabbitmq-server's master branch 2015-09-01 10:46:58 +02:00
Jean-Sébastien Pédron c0c58ff213 Import changes from rabbitmq-server's master branch 2015-08-28 12:13:50 +02:00
Jean-Sébastien Pédron 09de0ee4ff Move headers from rabbitmq-server 2015-08-10 11:57:46 +02:00
Jean-Sébastien Pédron 575f9ab374 Initial import of rabbitmq-common 2015-06-22 12:11:44 +02:00