JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-6158

Until Successful message processor does not keep a copy of the Mule context information when used with persistent object store.

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: To be reviewed To be reviewed
  • Resolution: Won't Fix or Usage Issue
  • Affects Version/s: 3.2.1
  • Fix Version/s: None
  • Component/s: Core: Routing / Filters
  • Labels:
    • QueuePersistenceObjectStore
    • Until-successful
  • Environment:

    Ubuntu 11.10

  • User impact:
    Medium
  • Configuration:
    Hide

    <spring:bean id="objectStore"
    class="org.mule.util.store.QueuePersistenceObjectStore" />

    <flow name="main">
    <http:inbound-endpoint host="localhost" port="8081"
    path="inputService" />
    <logger level="ERROR" message="TEST1" />
    <until-successful objectStore-ref="objectStore"
    maxRetries="2" secondsBetweenRetries="2">
    <http:outbound-endpoint host="localhost" port="8082"
    path="outputService" />
    </until-successful>
    <default-exception-strategy>
    <logger level="ERROR" message="TEST2" />
    </default-exception-strategy>
    </flow>

    Show
    <spring:bean id="objectStore" class="org.mule.util.store.QueuePersistenceObjectStore" /> <flow name="main"> <http:inbound-endpoint host="localhost" port="8081" path="inputService" /> <logger level="ERROR" message="TEST1" /> <until-successful objectStore-ref="objectStore" maxRetries="2" secondsBetweenRetries="2"> <http:outbound-endpoint host="localhost" port="8082" path="outputService" /> </until-successful> <default-exception-strategy> <logger level="ERROR" message="TEST2" /> </default-exception-strategy> </flow>
  • Log Output:
    Hide

    ERROR 2012-04-09 16:33:37,963 [MuleServer.02] org.mule.retry.async.RetryWorker: java.lang.NullPointerException
    java.lang.NullPointerException
        at org.mule.routing.UntilSuccessful.threadSafeCopy(UntilSuccessful.java:411)
        at org.mule.routing.UntilSuccessful.incrementProcessAttemptCountOrRemoveFromStore(UntilSuccessful.java:309)
        at org.mule.routing.UntilSuccessful.access$200(UntilSuccessful.java:47)
        at org.mule.routing.UntilSuccessful$2.onFailure(UntilSuccessful.java:279)
        at org.mule.retry.policies.AbstractPolicyTemplate.execute(AbstractPolicyTemplate.java:83)
        at org.mule.retry.async.RetryWorker.run(RetryWorker.java:76)
        at org.mule.work.WorkerContext.run(WorkerContext.java:310)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
    Show
    ERROR 2012-04-09 16:33:37,963 [MuleServer.02] org.mule.retry.async.RetryWorker: java.lang.NullPointerException java.lang.NullPointerException     at org.mule.routing.UntilSuccessful.threadSafeCopy(UntilSuccessful.java:411)     at org.mule.routing.UntilSuccessful.incrementProcessAttemptCountOrRemoveFromStore(UntilSuccessful.java:309)     at org.mule.routing.UntilSuccessful.access$200(UntilSuccessful.java:47)     at org.mule.routing.UntilSuccessful$2.onFailure(UntilSuccessful.java:279)     at org.mule.retry.policies.AbstractPolicyTemplate.execute(AbstractPolicyTemplate.java:83)     at org.mule.retry.async.RetryWorker.run(RetryWorker.java:76)     at org.mule.work.WorkerContext.run(WorkerContext.java:310)     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)     at java.lang.Thread.run(Thread.java:679)
  • Similar Issues:
    None

Description

When using the Until successful message processor with the QueuePersistenceObjectStore, if the message could not be routed successfully,an exception is thrown indicating that the current message event context is null (this may be replicated by pointing the until-successful message processor to a non-existent endpoint).

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Pablo Kraan added a comment - 04/May/12 09:27 AM

I'm not able to reproduce the issue, I'm getting a different exception. Can you describe the steps required to reproduce the problem?

Here is the exception:

[05-04 11:11:54] ERROR DefaultMessagingExceptionStrategy [connector.http.mule.default.receiver.02]: 
********************************************************************************
Message               : Failed to schedule the event for processing. Message payload is of type: byte[]
Code                  : MULE_ERROR-29999
--------------------------------------------------------------------------------
Exception stack is:
1. org.mule.routing.UntilSuccessful$EventStoreKey cannot be cast to org.mule.util.queue.QueueKey (java.lang.ClassCastException)
  org.mule.util.store.QueuePersistenceObjectStore:255 (null)
2. Failed to schedule the event for processing. Message payload is of type: byte[] (org.mule.api.MessagingException)
  org.mule.routing.UntilSuccessful:224 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.lang.ClassCastException: org.mule.routing.UntilSuccessful$EventStoreKey cannot be cast to org.mule.util.queue.QueueKey
	at org.mule.util.store.QueuePersistenceObjectStore.createStoreFile(QueuePersistenceObjectStore.java:255)
	at org.mule.util.store.QueuePersistenceObjectStore.doContains(QueuePersistenceObjectStore.java:208)
	at org.mule.util.store.AbstractObjectStore.contains(AbstractObjectStore.java:39)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
Show
Pablo Kraan added a comment - 04/May/12 09:27 AM I'm not able to reproduce the issue, I'm getting a different exception. Can you describe the steps required to reproduce the problem? Here is the exception:
[05-04 11:11:54] ERROR DefaultMessagingExceptionStrategy [connector.http.mule.default.receiver.02]: 
********************************************************************************
Message               : Failed to schedule the event for processing. Message payload is of type: byte[]
Code                  : MULE_ERROR-29999
--------------------------------------------------------------------------------
Exception stack is:
1. org.mule.routing.UntilSuccessful$EventStoreKey cannot be cast to org.mule.util.queue.QueueKey (java.lang.ClassCastException)
  org.mule.util.store.QueuePersistenceObjectStore:255 (null)
2. Failed to schedule the event for processing. Message payload is of type: byte[] (org.mule.api.MessagingException)
  org.mule.routing.UntilSuccessful:224 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.lang.ClassCastException: org.mule.routing.UntilSuccessful$EventStoreKey cannot be cast to org.mule.util.queue.QueueKey
	at org.mule.util.store.QueuePersistenceObjectStore.createStoreFile(QueuePersistenceObjectStore.java:255)
	at org.mule.util.store.QueuePersistenceObjectStore.doContains(QueuePersistenceObjectStore.java:208)
	at org.mule.util.store.AbstractObjectStore.contains(AbstractObjectStore.java:39)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
Hide
Permalink
Pablo Kraan added a comment - 18/May/12 03:10 PM

Unable to reproduce the problem

Show
Pablo Kraan added a comment - 18/May/12 03:10 PM Unable to reproduce the problem

People

  • Assignee:
    Pablo Kraan
    Reporter:
    Gabriel Dimech
Vote (0)
Watch (0)

Dates

  • Created:
    10/Apr/12 08:13 AM
    Updated:
    18/May/12 03:10 PM
    Resolved:
    18/May/12 03:10 PM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.