Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 022B2C81E for ; Tue, 14 Aug 2012 07:28:41 +0000 (UTC) Received: (qmail 80892 invoked by uid 500); 14 Aug 2012 07:28:40 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 80763 invoked by uid 500); 14 Aug 2012 07:28:39 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 80742 invoked by uid 99); 14 Aug 2012 07:28:38 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 14 Aug 2012 07:28:38 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 64B3F2C5ACA for ; Tue, 14 Aug 2012 07:28:38 +0000 (UTC) Date: Tue, 14 Aug 2012 18:28:38 +1100 (NCT) From: "Benoit Olbrechts (JIRA)" To: dev@activemq.apache.org Message-ID: <1952862663.6421.1344929318413.JavaMail.jiratomcat@arcas> In-Reply-To: <447349486.2692.1337961563173.JavaMail.jiratomcat@issues-vm> Subject: [jira] [Comment Edited] (AMQ-3860) doAddMessageReference missing setting priority into prepared statement therefore using wrong index for message itself MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-3860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433957#comment-13433957 ] Benoit Olbrechts edited comment on AMQ-3860 at 8/14/12 6:27 PM: ---------------------------------------------------------------- I encounter the same issue with informix with activemq-5.6.0 : {code} 2012-08-14/09:10:00.440/CEST [WARN ] - JDBC Failure: IN parameter has not been set. index = 7 java.sql.SQLException: IN parameter has not been set. index = 7 at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:488) at com.informix.jdbc.IfxSqli.d(IfxSqli.java:1599) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:1051) at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:918) at com.informix.jdbc.IfxResultSet.b(IfxResultSet.java:303) at com.informix.jdbc.IfxStatement.c(IfxStatement.java:1276) at com.informix.jdbc.IfxPreparedStatement.executeUpdate(IfxPreparedStatement.java:421) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.activemq.store.jdbc.adapter.BlobJDBCAdapter.doAddMessage(BlobJDBCAdapter.java:71) at org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:123) at org.apache.activemq.store.memory.MemoryTransactionStore$3.run(MemoryTransactionStore.java:302) at org.apache.activemq.store.memory.MemoryTransactionStore$Tx.commit(MemoryTransactionStore.java:98) at org.apache.activemq.store.memory.MemoryTransactionStore.commit(MemoryTransactionStore.java:248) at org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:72) at org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:252) at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:103) at org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:415) at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150) at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:231) at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) 2012-08-14/09:10:00.445/CEST [WARN ] - Store COMMIT FAILED: {code} was (Author: bugz): I encounter the same issue with informix: {code} 2012-08-14/09:10:00.440/CEST [WARN ] - JDBC Failure: IN parameter has not been set. index = 7 java.sql.SQLException: IN parameter has not been set. index = 7 at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:488) at com.informix.jdbc.IfxSqli.d(IfxSqli.java:1599) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:1051) at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:918) at com.informix.jdbc.IfxResultSet.b(IfxResultSet.java:303) at com.informix.jdbc.IfxStatement.c(IfxStatement.java:1276) at com.informix.jdbc.IfxPreparedStatement.executeUpdate(IfxPreparedStatement.java:421) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.activemq.store.jdbc.adapter.BlobJDBCAdapter.doAddMessage(BlobJDBCAdapter.java:71) at org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:123) at org.apache.activemq.store.memory.MemoryTransactionStore$3.run(MemoryTransactionStore.java:302) at org.apache.activemq.store.memory.MemoryTransactionStore$Tx.commit(MemoryTransactionStore.java:98) at org.apache.activemq.store.memory.MemoryTransactionStore.commit(MemoryTransactionStore.java:248) at org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:72) at org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:252) at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:103) at org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:415) at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150) at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:231) at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) 2012-08-14/09:10:00.445/CEST [WARN ] - Store COMMIT FAILED: {code} > 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.4.2, 5.5.0, 5.6.0 > 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