[jboss-jira] [JBoss JIRA] Reopened: (JBAS-3643) null message blob is created in the jms_messages table which leads to PersistenceManager fail to restore queue during restart

Edward Lu (JIRA) jira-events at jboss.com
Tue Sep 12 13:33:34 EDT 2006


     [ http://jira.jboss.com/jira/browse/JBAS-3643?page=all ]

Edward Lu reopened JBAS-3643:
-----------------------------

             
Please indicate the duplicate bug number.  As of 4.0.4 GA, the issue is not fixed.  

In OracleThinPersistenceManager.add, after the LOCK_EMPTY_BLOB (select messageblob for update), it closes statement and result set, and then does a UPDATE_MESSAGE (update messageblob) instead of writing message content into blob locator.  The code works for message < 4k but not message > 4k.



> null message blob is created in the jms_messages table which leads to PersistenceManager fail to restore queue during restart
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBAS-3643
>                 URL: http://jira.jboss.com/jira/browse/JBAS-3643
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JMS service
>    Affects Versions: JBossAS-4.0.4.GA
>         Environment: Windows XP, Oracle 9.2.0.5
>            Reporter: Edward Lu
>            Priority: Critical
>
> A null blob is inserted into the jms_message table as a result of sending message (greater than 4k messages) to jms queue.  The Oracle jdbc persistence manager is deployed in our environment as JMS queue persistence mechanism.  As a result, when JBoss is restarted, the persistence manager could not restore queue since there is null blob in the jms_messages table (please see the following stack traces and sqlplus output):
> I did a quick search and found that JBAS-2503 indicates the Oracle 4k limit problem should be resolved with JBossAS-4.0.4 GA.   But I did run into the above problem with JBossAS-4.0.4 GA version.
> Your help is highly appreciated.
> ****************************************************************************************
> SQL> select count(*) from jms_messages where messageblob is null;
>   COUNT(*)
> ----------
>          3
> *******************************************************************************************
> 2006-09-11 15:56:43,447 WARN  [ServiceController]  - Problem starting service jboss.mq.destination:name=edAuditQueue,service=Queue^M
> org.jboss.mq.SpyJMSException: Unexpected error in recovery; - nested throwable:
> (java.lang.NullPointerException)^M
>         at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:78)^M
>         at org.jboss.mq.SpyJMSException.rethrowAsJMSException(SpyJMSException.java:63)^M
>         at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:525)^M
>         at org.jboss.mq.server.JMSQueue.<init>(JMSQueue.java:65)^M
>         at org.jboss.mq.server.jmx.Queue.startService(Queue.java:78)^M
> ......
> ......
> Caused by: java.lang.NullPointerException^M
>         at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)^M
>         at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2163)^M
>         at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)^M
>         at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)^M
>         at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)^M
>         at org.jboss.mq.pm.jdbc2.PersistenceManager.extractMessage(PersistenceManager.java:665)^M
>         at org.jboss.mq.pm.jdbc2.PersistenceManager.internalRestoreQueue(PersistenceManager.java:556)^M
>         at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:514)^M
> *******************************************************************************************************************

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list