David Ansari
cdc5b886f8
Fix crash in consistent hash exchange
...
Prior to this commit, a crash occurred when a consistent hash exchange
got declared with a `hash-header` argument, but the publishing client
didn't set that header on the message.
This bug is present in RabbitMQ 3.13.0 - 3.13.6.
Fixes https://github.com/rabbitmq/rabbitmq-server/discussions/11671
2024-07-24 11:42:59 +02:00
Artem Bilan
8b7ba05f32
Consistent Hash doc improvement
...
Mention in the docs that `hash-header` and `hash-property` are mutually exclusive.
2024-07-09 10:47:02 -04:00
Loïc Hoguin
7e9cac3d00
make: Remove Travis-specific targets/config
...
This should no longer be used.
2024-06-24 14:12:02 +02:00
Michael Klishin
9c79ad8d55
More missed license header updates #9969
2024-02-05 12:26:25 -05:00
Michael Klishin
25f4425131
CHX: document the limitations introduced in #5121
2022-07-01 12:29:00 +04:00
dcorbacho
5d348bd3a1
Switch to Mozilla Public License 2.0 (MPL 2.0)
2020-07-11 19:45:03 +01:00
Michael Klishin
a2401b39ac
README updates
2020-06-13 17:28:11 +03:00
Michael Klishin
6df9370c6c
Mention routing locality in the README
...
References #32 and specifically [1].
1. https://github.com/rabbitmq/rabbitmq-consistent-hash-exchange/issues/32#issuecomment-643074328
2020-06-12 08:39:12 +03:00
Jean-Sébastien Pédron
f73587775a
Update copyright (year 2020)
2020-03-10 16:08:09 +01:00
Spring Operator
f1ac305a24
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.
* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
([https](https://blog.listincomprehension.com/search/label/procket ) result ClosedChannelException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
([https](https://dozzie.jarowit.net/trac/wiki/TOML ) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
([https](https://dozzie.jarowit.net/trac/wiki/subproc ) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
([https](https://e2project.org ) result AnnotatedConnectException).
* http://michaelnielsen.org/blog/consistent-hashing/ (200) with 1 occurrences could not be migrated:
([https](https://michaelnielsen.org/blog/consistent-hashing/ ) result SSLHandshakeException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
([https](https://nitrogenproject.com/ ) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
([https](https://proper.softlab.ntua.gr ) result SSLHandshakeException).
* http://rubybunny.info (200) with 1 occurrences could not be migrated:
([https](https://rubybunny.info ) result AnnotatedConnectException).
* http://www.martinbroadhurst.com/Consistent-Hash-Ring.html (200) with 1 occurrences could not be migrated:
([https](https://www.martinbroadhurst.com/Consistent-Hash-Ring.html ) result SSLHandshakeException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
([https](https://yaws.hyber.org ) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
([https](https://choven.ca ) result ConnectTimeoutException).
# Fixed URLs
## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
https://fixtrading.org ([https](https://fixprotocol.org/ ) result SSLHandshakeException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
https://erldb.org ([https](https://erldb.org ) result UnknownHostException).
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* http://cloudi.org/ with 27 occurrences migrated to:
https://cloudi.org/ ([https](https://cloudi.org/ ) result 200).
* http://en.wikipedia.org/wiki/Consistent_hashing with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Consistent_hashing ([https](https://en.wikipedia.org/wiki/Consistent_hashing ) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
https://erlware.org/ ([https](https://erlware.org/ ) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/ ) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
https://ninenines.eu ([https](https://ninenines.eu ) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
https://www.actordb.com/ ([https](https://www.actordb.com/ ) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html ) result 200).
* http://www.rabbitmq.com/plugins.html with 1 occurrences migrated to:
https://www.rabbitmq.com/plugins.html ([https](https://www.rabbitmq.com/plugins.html ) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
https://www.rebar3.org ([https](https://www.rebar3.org ) result 200).
* http://contributor-covenant.org with 1 occurrences migrated to:
https://contributor-covenant.org ([https](https://contributor-covenant.org ) result 301).
* http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/ ) result 301).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl ) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/ ) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
https://lasp-lang.org/ ([https](https://lasp-lang.org/ ) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec ) result 301).
* http://www.mozilla.org/MPL/ with 3 occurrences migrated to:
https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/ ) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli ) result 301).
2019-03-20 03:13:58 -05:00
Michael Klishin
7d4fa1c778
Link to the examples directory
2018-08-21 18:49:18 +03:00
Michael Klishin
f281cb473f
Minor README improvements
2018-08-21 18:41:57 +03:00
Michael Klishin
5babddcd0a
README: Unify Ruby examples
2018-08-21 18:31:56 +03:00
Michael Klishin
25ae2b3fe9
A typo
2018-08-20 15:13:28 +03:00
Michael Klishin
4adfec92e8
Add Ch-squared test results to implementation details
2018-08-20 15:12:27 +03:00
Michael Klishin
7cc7b376ad
More code examples in Java, minor doc edits
2018-08-20 14:10:23 +03:00
Michael Klishin
989efa604a
Add a Java code example
2018-08-20 13:39:35 +03:00
Michael Klishin
9bde2bc88a
More code examples, minor edits
2018-08-19 16:59:30 +03:00
Michael Klishin
cb4610d29d
Code examples in more languages for the header routing example
2018-08-19 16:35:53 +03:00
Michael Klishin
fc1ed981f5
Provide examples in Python and Ruby
...
with more examples to come as time permits
2018-08-19 15:59:31 +03:00
Michael Klishin
e76e1c7667
More documentation updates
2018-08-19 14:20:39 +03:00
Michael Klishin
9b5fe90736
Documentation updates
2018-08-19 14:09:00 +03:00
Michael Klishin
8c6835439c
Mention rabbitmq-sharding a possible alternative
2016-08-14 07:22:45 +03:00
Michael Klishin
5f76c94416
Add a note and links discussed in #13
2016-08-14 07:19:10 +03:00
kjnilsson
c3304199ac
change the use of 'Probabilistic'
2016-06-20 17:38:39 +01:00
Mordy Ovits
fe7318cf07
Further clarity
2016-06-20 17:38:31 +01:00
Mordy Ovits
0132ca5b18
Correct the description of hashing distribution
...
It's not true that "if you wish for queue A to receive twice as many messages as queue B then you bind the queue A with a binding key of twice the number [...] of the binding key of the binding to queue B." The hashing is done on the routing keys, not the messages. If routing key "foo" has 50,000 messages published and routing key "bar" has 1 message published, the ratio of messages received by queues A and B will not be 2:1. In fact, all 50,001 messages might go to just one of those queues.
I've edited the langue to match the actual behavior and specifically clarified this confusion.
2016-06-20 17:38:24 +01:00
Gavin M. Roy
a9bcb539b4
Add routing on message properties
...
Summary:
Add a new hash-property argument setting that allows for message hasing based upon the correlation_id or message_id.
Changes:
- Validate the exchange upon creation to ensure that hash-header and hash-property are not both set at the same time. Additionally validate the value of hash-property when set is one of correlation_id or message_id
- Change the signature of hash/2 for header to match on {header, Header} instead of {longstr, Header}
- Add a new hash/2 implementation that matches on {property, Value} for returning the hashable string from the message properties
- Implement a new hash_on/1 method for selecting the data the message will be routed on
- Implement a new hash_args/1 method for returning the configuration for both hash-header and hash-property
- Add test coverage for message property based routing
This addresses the proposal I outlined in #7
2015-09-02 12:33:32 -04:00
Michael Klishin
bdc1541677
Add travis badge
2015-08-22 01:45:47 +03:00
Michael Klishin
12a8d9a690
Update README.md
2015-06-04 14:50:52 +03:00
Michael Klishin
3b42477e05
Update README.md
2015-03-24 21:15:56 +03:00
Michael Klishin
eeaca05545
Update mailing list link
2015-03-24 21:04:46 +03:00
Jean-Sébastien Pédron
f4d4bbf631
Remove the "moved to GitHub" warning.
2015-02-17 21:10:43 +01:00
Jean-Sebastien Pedron
69c6ae07cf
README.md: Warn about the move to GitHub
2015-02-17 17:58:46 +01:00
Simon MacMullen
2f2f22e96c
More doc
2013-01-09 14:24:58 +00:00
Simon MacMullen
1af651f92f
Typo
2013-01-09 11:11:51 +00:00
Simon MacMullen
0c27693353
Derp, use arguments rather than environment. And add a touch of documentation.
2013-01-09 11:10:05 +00:00
Matthew Sackman
600567148a
Minor improvements to documentation; additional comment in code now that I've given up with my finger-tree implementation to 'solve' the identified problem.
2011-10-18 15:36:28 +01:00
Matthew Sackman
bf08828cce
Improve documentation
2011-09-24 19:39:28 +01:00
Matthew Sackman
e0ef2de300
Initial check-in
2011-09-24 19:21:18 +01:00