Hi all,
I am running Qpid Trunk in Windows Vista.
I have config 3 queues to a virtualhost, and start Qpid with the virtual host
using derby as persistence store.
When Qpid first starts up normally, I press Ctrl-C to terminate Qpid, then
start Qpid again,
then I have the following error, it seems that after recoverExchange(), data in
table QPID_BINDINGS does not clear, then it builds queues again and insert
duplicate values.
2008-12-29 15:54:22,136 INFO [main] server.Main (Main.java:274) - Starting
Qpid Broker 1.0-incubating-M4 build: 727972M
Error initialising message broker: org.apache.qpid.AMQException: Error writing
binding for AMQQueue with name admin_in to exchange <<default>> to data
base: java.sql.SQLIntegrityConstraintViolationException: The statement was
aborted because it would have caused a duplicate key value in a unique or p
rimary key constraint or unique index identified by 'SQL081229155407620'
defined on 'QPID_BINDINGS'.
2008-12-29 15:54:22,319 ERROR [main] server.Main (Main.java:213) - Error
initialising message broker: org.apache.qpid.AMQException: Error writing bind
ing for AMQQueue with name admin_in to exchange <<default>> to database:
java.sql.SQLIntegrityConstraintViolationException: The statement was aborted
because it would have caused a duplicate key value in a unique or primary key
constraint or unique index identified by 'SQL081229155407620' defined on
'QPID_BINDINGS'.
org.apache.qpid.AMQException: Error writing binding for AMQQueue with name
admin_in to exchange <<default>> to database: java.sql.SQLIntegrityConstrai
ntViolationException: The statement was aborted because it would have caused a
duplicate key value in a unique or primary key constraint or unique ind
ex identified by 'SQL081229155407620' defined on 'QPID_BINDINGS'.
at
org.apache.qpid.server.store.DerbyMessageStore.bindQueue(DerbyMessageStore.java:662)
at
org.apache.qpid.server.queue.SimpleAMQQueue.bind(SimpleAMQQueue.java:213)
at
org.apache.qpid.server.configuration.VirtualHostConfiguration.configureQueue(VirtualHostConfiguration.java:253)
at
org.apache.qpid.server.configuration.VirtualHostConfiguration.configureVirtualHost(VirtualHostConfiguration.java:91)
at
org.apache.qpid.server.configuration.VirtualHostConfiguration.performBindings(VirtualHostConfiguration.java:274)
at org.apache.qpid.server.Main.setupVirtualHosts(Main.java:370)
at org.apache.qpid.server.Main.startup(Main.java:326)
at org.apache.qpid.server.Main.execute(Main.java:195)
at org.apache.qpid.server.Main.<init>(Main.java:95)
at org.apache.qpid.server.Main.main(Main.java:487)
Caused by: java.sql.SQLIntegrityConstraintViolationException: The statement was
aborted because it would have caused a duplicate key value in a unique
or primary key constraint or unique index identified by 'SQL081229155407620'
defined on 'QPID_BINDINGS'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
at
org.apache.qpid.server.store.DerbyMessageStore.bindQueue(DerbyMessageStore.java:656)
... 9 more
Caused by: java.sql.SQLException: The statement was aborted because it would
have caused a duplicate key value in a unique or primary key constraint o
r unique index identified by 'SQL081229155407620' defined on 'QPID_BINDINGS'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
Source)
... 19 more
Caused by: ERROR 23505: The statement was aborted because it would have caused
a duplicate key value in a unique or primary key constraint or unique i
ndex identified by 'SQL081229155407620' defined on 'QPID_BINDINGS'.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown
Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown
Source)
at
org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
Source)
at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown
Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
... 13 more
Regards,
Stephen Lau