Comments (10)
@lukebakken Right now the creation and the binding are in the same Java method. This method isn't called if -p
is specified. Reverting #25 would make the binding happen.
Nevertheless, a direct
-named exchange is created and is bound to the queue. I'd rather use the default exchange as you suggested.
from rabbitmq-perf-test.
--predeclared
by definition assumes you set your topology up out of band, any way the user likes. We can make publishers declare the queue but that's a little odd.
from rabbitmq-perf-test.
I do think something has changed since the example given in the docs (throughput-test-14
/ "pre-populate a queue") implies that using --predeclared
and --queue
should be all you need to do to use a pre-existing queue.
from rabbitmq-perf-test.
Hm, yes, my reading matches yours.
from rabbitmq-perf-test.
I'll see if I can figure it out tomorrow unless @acogoluegnes beats me to it 😃
from rabbitmq-perf-test.
I tried with a57ed36 (just after the initial import from the Java Client) and the -y0 -p -u "throughput-test-14" -s 1000 -C 1000000 --id "test-14" -f persistent
declares the queue an configure it, so it's a regression. More digging.
from rabbitmq-perf-test.
It was introduced between 1.2.0 and 1.3.0, here.
It was a fix for #25. We shouldn't declare the queue but at least bind it. The code in configureQueues
looks correct though.
from rabbitmq-perf-test.
I don't know how to reproduce #25 actually: as soon as --predeclared
is used, queues are not created (they're bound though). I'd vote to reverse #25.
from rabbitmq-perf-test.
@acogoluegnes here is the most confusing behavior using the current PerfTest code (master
):
- Start up RMQ and create a durable queue named
throughput-test-14
- Start up PerfTest with these arguments:
-y0 -p -u "throughput-test-14" -s 1000 -C 1000000 --id "test-14" -f persistent
I don't expect the queue to be created since I'm using the -p
argument, but I do expect messages to be published using the default exchange with a routing key of throughput-test-14
so that they end up in the throughput-test-14
queue.
However, I'm not seeing this happen - when I run that command, the messages aren't routed so I assume they are being published without a routing key. What's even more odd is that if I add the -k throughput-test-14
argument they still aren't routed 🤔
from rabbitmq-perf-test.
Found an argument combination to reproduce #25: using --predeclared
without specifying any queue. The auto-generated queue is then created. This was originally introduced in #5 (support for multiple queues). Only reverting #25 isn't enough then.
from rabbitmq-perf-test.
Related Issues (20)
- Publishing rate can temporarily exceed the requested rate HOT 2
- Publisher confirm latency reported differently based on the number of publishers HOT 1
- Prometheus metrics are sometimes reported as zero HOT 1
- Add --consumer-start-delay to start consumers with a delay
- Add latency metrics in final metrics reporting
- Expose metrics with the expected results
- No ack sent with -R 1 HOT 3
- JAVA_OPTS doesn't work the way that the docs indicate HOT 3
- Add support for direct reply-to
- how to generate the html files to display the results statically?
- PerfTestMulti: Add benchmark specification parameter for quorum queues HOT 4
- Deprecate native executable
- Remove native executable
- PerfTestMulti: "elapsed" timestamp issue in 2.19.0.RC2
- Bump dependencies
- Start metrics service before consumers and publishers HOT 1
- Support streams better
- Verbose mode for functionality tests
- Bump dependencies
- Refuse to start with `--multi-ack-every` > `--qos`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rabbitmq-perf-test.