[Pgtreats-users] Getting started: unable to publish using pg_amqp
Michael Glaesemann
michael.glaesemann at myyearbook.com
Fri Aug 20 10:53:01 EDT 2010
Hello!
I'm trying out pg_amqp trunk with RabbitMQ 1.8.1 and Postgres 8.4.4 on Mac OS X 10.6.4. (version info at the bottom).
I'm having trouble publishing messages.
I have confirmed that the rabbitmq server allows both publishing and consuming via a couple of simple Ruby scripts acting as publisher and client.
I can see via rabbitmqctl list_connections that I have a connection from postgres (as there is no other code connected to rabbitmq and there is one connection listed).
amqp=# select * from amqp.broker;
broker_id | host | port | vhost | username | password
-----------+-----------+------+-------+----------+----------
1 | localhost | 5672 | | guest | guest
(1 row)
However, when publishing via pg_amqp, I am not able to pull anything off the queue.
amqp=# select amqp.autonomous_publish(1, 'mapy', null, 'hi there!');
autonomous_publish
--------------------
t
(1 row)
amqp=# select amqp.publish(1, 'mapy', null, 'hi there!');
WARNING: amqp could not commit tx mode on broker 1
publish
---------
t
(1 row)
Also interestingly, I can crash postgres using amqp.declare_exchange:
amqp=# select amqp.exchange_declare(1, 'mapy', 'fanout', false, false, false);
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: LOG: server process (PID 55392) was terminated by signal 11: Segmentation fault
LOG: terminating any other active server processes
FATAL: the database system is in recovery mode
Failed.
!> LOG: all server processes terminated; reinitializing
LOG: database system was interrupted; last known up at 2010-08-19 20:07:58 EDT
LOG: database system was not properly shut down; automatic recovery in progress
LOG: record with zero length at 0/52C590
LOG: redo is not required
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
In gdb I was able to get this output:
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000341
pg_amqp_exchange_declare (fcinfo=0x1) at pg_amqp.c:227
227 if(!PG_ARGISNULL(0)) {
Any insight appreciated!
Michael Glaesemann
michael.glaesemann at myyearbook.com
pg_amqp:
$ svn info
Path: .
URL: https://labs.omniti.com/pgtreats/trunk/contrib/pg_amqp
Repository Root: https://labs.omniti.com/pgtreats
Repository UUID: 062c93da-48c3-e3cf-b31f-a9c212c88a84
Revision: 180
Node Kind: directory
Schedule: normal
Last Changed Author: jesus
Last Changed Rev: 79
Last Changed Date: 2009-12-23 15:53:38 -0500 (Wed, 23 Dec 2009)
RabbitMQ:
$ sudo rabbitmqctl status
Status of node rabbit at laughter ...
[{running_applications,[{rabbit,"RabbitMQ","1.8.1"},
{mnesia,"MNESIA CXC 138 12","4.4.14"},
{os_mon,"CPO CXC 138 46","2.2.5"},
{sasl,"SASL CXC 138 11","2.1.9.2"},
{stdlib,"ERTS CXC 138 10","1.17"},
{kernel,"ERTS CXC 138 10","2.14"}]},
{nodes,[{disc,[rabbit at laughter]}]},
{running_nodes,[rabbit at laughter]}]
...done.
PostgreSQL
amqp=# select version();
version
----------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 8.4.4 on i386-apple-darwin10.4.0, compiled by GCC i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664), 64-bit
(1 row)
More information about the Pgtreats-users
mailing list