| Author |
Message |
< RabbitMQ mailing list ~ Just publishing messages causes rabbit_writer:mainloop to ha |
| Guest |
Posted: Mon Apr 14, 2008 3:21 pm |
|
|
|
Guest
|
| I tried to send messages sequentially to a single rabbitmq server running on 127.0.0.1. |
|
|
| Back to top |
|
| 0x6e6562 |
Posted: Mon Apr 14, 2008 3:40 pm |
|
|
|
User
Joined: 12 Jul 2007
Posts: 250
|
Hi Joe,
Could you send the complete source code of the test that causes these problems so that we can have a look at this, please?
Thx,
Ben
On 14 Apr 2008, at 16:20, Joe Lee wrote:Quote: I tried to send messages sequentially to a single rabbitmq server running on 127.0.0.1. |
|
|
| Back to top |
|
| 0x6e6562 |
Posted: Mon Apr 14, 2008 3:44 pm |
|
|
|
User
Joined: 12 Jul 2007
Posts: 250
|
|
| Back to top |
|
| Guest |
Posted: Mon Apr 14, 2008 6:00 pm |
|
|
|
Guest
|
|
| Back to top |
|
| 0x6e6562 |
Posted: Mon Apr 14, 2008 9:01 pm |
|
|
|
User
Joined: 12 Jul 2007
Posts: 250
|
Joe,
A cursory glance indicates that you are using the wrong routing key to publish to the exchange.
If you use a.b.c.d instead of a.b.c.*, then when a queue binds itself to a.b.c.*, messages will be delivered to it.
Hence why you are getting a get_empty.
So just change the routing key in the |
|
|
| Back to top |
|
| Guest |
Posted: Thu Apr 17, 2008 12:22 am |
|
|
|
Guest
|
Quote: BTW, if you don't supply a host name when starting the connection, the client will start in a direct mode using native Erlang message passing rather than AMQP wire framing. This means that the client and server run in the same interpreter and eliminate the network overhead.
Is this valid also when running rabbitmq erlang client and rabbitmq server on separate erlang nodes?
I sent 3 amqp message to the rabbitmq broker from a separate erlang client node. |
|
|
| Back to top |
|
| 0x6e6562 |
Posted: Thu Apr 17, 2008 7:08 am |
|
|
|
User
Joined: 12 Jul 2007
Posts: 250
|
Joe,
On 17 Apr 2008, at 01:21, Joe Lee wrote:
> BTW, if you don't supply a host name when starting the connection,
> the client will start in a direct mode using native Erlang message
> passing rather than AMQP wire framing. This means that the client
> and server run in the same interpreter and eliminate the network
> overhead.
> Is this valid also when running rabbitmq erlang client and rabbitmq
> server on separate erlang nodes?
Currently not. At the moment the direct driver only uses local message
passing. It is conceivable that the direct driver could use Erlang's
internode communication, but I guess you'd have to message this
approach against normal AMQP wire framing. In both approaches you
would have to serialize and deserialize to get the data over the wire.
If the Erlang variant is significantly more efficient that AMQP, it
might be worth looking into and benchmarking.
The main point is that the client API provides a uniform interface to
user code, irrespective of the actual physical message passing
technology.
> I sent 3 amqp message to the rabbitmq broker from a separate erlang
> client node. The three 3 amqp messages create 3
> rabbit_writer:mainloop/1 processes. This rabbit_writer:mainloop/1
> process never goes away.
>
> <0.71.0> rabbit_writer:mainloop/1
> 233 132 0
> rabbit_writer:mainloop/1 2
> <0.72.0> rabbit_writer:mainloop/1
> 233 132 0
> rabbit_writer:mainloop/1 2
> <0.73.0> rabbit_writer:mainloop/1
> 233 132 0
> rabbit_writer:mainloop/1 2
>
> One rabbit_writer:mainloop process traced:
>
> initial_call: rabbit_writer:mainloop/1
> current_function: rabbit_writer:mainloop/1
> heap_size: 233
> stack_size: 2
> reductions: 132
> trap_exit: false
> <0.72.0>: getting_linked <0.112.0>
>
> After that I increased number of processes on a single erlang node
> to something higer than 50 000 and sent 50 000 messages. For some
> reason, 50 000 rabbit_writer:mainloop processes are still there.
> They don't go away. Processes only go away when I restart the
> rabbit erlang client node.
>
> 7> erlang:system_info(process_count).
> 50044
Can you send the source of the test that is producing this behaviour,
please?
HTH,
Ben
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Thu Apr 17, 2008 12:28 pm |
|
|
|
Guest
|
I ran the same files that I sent earlier:
amqp_async_consume.erl
amqp_async_pub.erl
my_pmap.erl
rabbit_test.erl
Where I made changes to what you have suggested. In rabbit_test.erl,
made MyList = [<<1>>,<<2>>,<<3>>]. Ran the rabbit_test:main() in
separate erlang shell. If you are not seeing 3
rabbit_writer:mainloop/1 process in erlang node after running
rabbit_test:main(), then it could be the case that my erlang &
rabbitmq setup maybe not be installed properly or missing some
packages.
Let me know if this the case on your side,
Joe
> > I sent 3 amqp message to the rabbitmq broker from a separate erlang
> > client node. The three 3 amqp messages create 3
> > rabbit_writer:mainloop/1 processes. This rabbit_writer:mainloop/1
> > process never goes away.
> >
> > <0.71.0> rabbit_writer:mainloop/1
> > 233 132 0
> > rabbit_writer:mainloop/1 2
> > <0.72.0> rabbit_writer:mainloop/1
> > 233 132 0
> > rabbit_writer:mainloop/1 2
> > <0.73.0> rabbit_writer:mainloop/1
> > 233 132 0
> > rabbit_writer:mainloop/1 2
> >
> > One rabbit_writer:mainloop process traced:
> >
> > initial_call: rabbit_writer:mainloop/1
> > current_function: rabbit_writer:mainloop/1
> > heap_size: 233
> > stack_size: 2
> > reductions: 132
> > trap_exit: false
> > <0.72.0>: getting_linked <0.112.0>
> >
> > After that I increased number of processes on a single erlang node
> > to something higer than 50 000 and sent 50 000 messages. For some
> > reason, 50 000 rabbit_writer:mainloop processes are still there.
> > They don't go away. Processes only go away when I restart the
> > rabbit erlang client node.
> >
> > 7> erlang:system_info(process_count).
> > 50044
>
> Can you send the source of the test that is producing this behaviour,
> please?
>
> HTH,
>
> Ben
>
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
|
|