[jira] [Commented] (AMQ-6846) java.lang.NullPointerException on recovering next messages with jdbc adapter

2017-10-24 Thread Alessandro Baggio (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16216528#comment-16216528
 ] 

Alessandro Baggio commented on AMQ-6846:


Thanks Gary for your reply. Unfortunatly we do not have a way to reproduce it, 
it just happened once in our production environment. 
In our operations we do not make use of null messages, so we do not know what 
is causing null messages to be stored.

> java.lang.NullPointerException on recovering next messages with jdbc adapter
> 
>
> Key: AMQ-6846
> URL: https://issues.apache.org/jira/browse/AMQ-6846
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.15.0
>Reporter: Alessandro Baggio
>
> Hi,
> on broker side we have observed a series of the following exception that 
> blocked the messages delivery of a specific queue to its consumers.
> {code:java}
> INFO   | jvm 2| 2017/10/20 20:04:29 |  WARN | Exception   
> INFO   | jvm 2| 2017/10/20 20:04:29 | java.lang.NullPointerException
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.util.ByteSequence.(ByteSequence.java:32)[activemq-client-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.jdbc.JDBCMessageStore$4.recoverMessage(JDBCMessageStore.java:363)[activemq-jdbc-store-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doRecoverNextMessages(DefaultJDBCAdapter.java:1094)[activemq-jdbc-store-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.jdbc.JDBCMessageStore.recoverNextMessages(JDBCMessageStore.java:358)[activemq-jdbc-store-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:110)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:127)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:448)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:168)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:169)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1976)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:2205)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.Queue.iterate(Queue.java:1641)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:112)[activemq-client-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)[activemq-client-5.15.0.jar:5.15.0]
> {code}
> We had to change the database schema used by the broker in order to make it 
> working properly.
> The problem seems to be related to null values in the binary representation 
> of the messages stored in database. Indeed, performing the following query 
> (on the old schema):
> {code:java}
> select container, count(*) from ACTIVEMQ.ACTIVEMQ_MSGS where msg is null 
> group by container;
> {code}
> results in:
> ||Container||Count Messages||
> |e://que|934|
> |queue://|540|



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (AMQ-6846) java.lang.NullPointerException on recovering next messages with jdbc adapter

2017-10-23 Thread Gary Tully (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16215365#comment-16215365
 ] 

Gary Tully commented on AMQ-6846:
-

what is causing a null message to be stored? The only use of a null message 
should be to indicate to a queue browse subscription that it should complete, 
however it should not get into the store in normal operation I think.
Do you have any way to reproduce?

> java.lang.NullPointerException on recovering next messages with jdbc adapter
> 
>
> Key: AMQ-6846
> URL: https://issues.apache.org/jira/browse/AMQ-6846
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.15.0
>Reporter: Alessandro Baggio
>
> Hi,
> on broker side we have observed a series of the following exception that 
> blocked the messages delivery of a specific queue to its consumers.
> {code:java}
> INFO   | jvm 2| 2017/10/20 20:04:29 |  WARN | Exception   
> INFO   | jvm 2| 2017/10/20 20:04:29 | java.lang.NullPointerException
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.util.ByteSequence.(ByteSequence.java:32)[activemq-client-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.jdbc.JDBCMessageStore$4.recoverMessage(JDBCMessageStore.java:363)[activemq-jdbc-store-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doRecoverNextMessages(DefaultJDBCAdapter.java:1094)[activemq-jdbc-store-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.jdbc.JDBCMessageStore.recoverNextMessages(JDBCMessageStore.java:358)[activemq-jdbc-store-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:110)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:127)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:448)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:168)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:169)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1976)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:2205)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.broker.region.Queue.iterate(Queue.java:1641)[activemq-broker-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:112)[activemq-client-5.15.0.jar:5.15.0]
> INFO   | jvm 2| 2017/10/20 20:04:29 |   at 
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)[activemq-client-5.15.0.jar:5.15.0]
> {code}
> We had to change the database schema used by the broker in order to make it 
> working properly.
> The problem seems to be related to null values in the binary representation 
> of the messages stored in database. Indeed, performing the following query 
> (on the old schema):
> {code:java}
> select container, count(*) from ACTIVEMQ.ACTIVEMQ_MSGS where msg is null 
> group by container;
> {code}
> results in:
> ||Container||Count Messages||
> |e://que|934|
> |queue://|540|



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)