Mikhail Melamud created AMQ-3860:
------------------------------------
Summary: doAddMessageReference missing setting priority into
prepared statement therefore using wrong index for message itself
Key: AMQ-3860
URL: https://issues.apache.org/jira/browse/AMQ-3860
Project: ActiveMQ
Issue Type: Bug
Components: Message Store
Affects Versions: 5.6.0, 5.5.0, 5.4.2
Reporter: Mikhail Melamud
Not sure in what cases ActiveMQDestination() is actually called, but
getAddMessageStatement() returns statement with 7 params to set...
public void doAddMessageReference(TransactionContext c, long sequence,
MessageId messageID, ActiveMQDestination destination,
long expirationTime, String messageRef) throws SQLException,
IOException {
PreparedStatement s = c.getAddMessageStatement();
cleanupExclusiveLock.readLock().lock();
try {
if (s == null) {
s =
c.getConnection().prepareStatement(this.statements.getAddMessageStatement());
if (this.batchStatments) {
c.setAddMessageStatement(s);
}
}
s.setLong(1, messageID.getBrokerSequenceId());
s.setString(2, messageID.getProducerId().toString());
s.setLong(3, messageID.getProducerSequenceId());
s.setString(4, destination.getQualifiedName());
s.setLong(5, expirationTime);
s.setString(6, messageRef);
if (this.batchStatments) {
s.addBatch();
} else if (s.executeUpdate() != 1) {
throw new SQLException("Failed add a message");
}
} finally {
cleanupExclusiveLock.readLock().unlock();
if (!this.batchStatments) {
s.close();
}
}
}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira