Giter Site home page Giter Site logo

Comments (10)

acogoluegnes avatar acogoluegnes commented on May 20, 2024 1

@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.

michaelklishin avatar michaelklishin commented on May 20, 2024

--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.

lukebakken avatar lukebakken commented on May 20, 2024

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.

michaelklishin avatar michaelklishin commented on May 20, 2024

Hm, yes, my reading matches yours.

from rabbitmq-perf-test.

lukebakken avatar lukebakken commented on May 20, 2024

I'll see if I can figure it out tomorrow unless @acogoluegnes beats me to it 😃

from rabbitmq-perf-test.

acogoluegnes avatar acogoluegnes commented on May 20, 2024

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.

acogoluegnes avatar acogoluegnes commented on May 20, 2024

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.

acogoluegnes avatar acogoluegnes commented on May 20, 2024

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.

lukebakken avatar lukebakken commented on May 20, 2024

@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.

acogoluegnes avatar acogoluegnes commented on May 20, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.