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-4251

Connector workManager's should be disposed in stop phase before transport itself is stopped.

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

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 2.1.4 (EE only), ITR20, 2.2.2 (EE only)
  • Component/s: Core: Transports
  • Labels:
    None
  • User impact:
    High
  • Log Output:
    Hide
    [03-11 23:13:28] ERROR DefaultExceptionStrategy [jmsConnector.dispatcher.7]: Caught exception in Exception Strategy: The producer is closed
    javax.jms.IllegalStateException: The producer is closed
    at org.apache.activemq.ActiveMQMessageProducer.checkClosed(ActiveMQMessageProducer.java:333)
    at org.apache.activemq.ActiveMQMessageProducer.getDestination(ActiveMQMessageProducer.java:297)
    at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:384)
    at org.mule.transport.jms.Jms102bSupport.send(Jms102bSupport.java:244)
    at org.mule.transport.jms.JmsMessageDispatcher.dispatchMessage(JmsMessageDispatcher.java:219)
    at org.mule.transport.jms.JmsMessageDispatcher.doDispatch(JmsMessageDispatcher.java:72)
    at org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262)
    at org.mule.work.WorkerContext.run(WorkerContext.java:310)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
    at java.lang.Thread.run(Thread.java:613)

    Show
    [03-11 23:13:28] ERROR DefaultExceptionStrategy [jmsConnector.dispatcher.7]: Caught exception in Exception Strategy: The producer is closed javax.jms.IllegalStateException: The producer is closed at org.apache.activemq.ActiveMQMessageProducer.checkClosed(ActiveMQMessageProducer.java:333) at org.apache.activemq.ActiveMQMessageProducer.getDestination(ActiveMQMessageProducer.java:297) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:384) at org.mule.transport.jms.Jms102bSupport.send(Jms102bSupport.java:244) at org.mule.transport.jms.JmsMessageDispatcher.dispatchMessage(JmsMessageDispatcher.java:219) at org.mule.transport.jms.JmsMessageDispatcher.doDispatch(JmsMessageDispatcher.java:72) at org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262) at org.mule.work.WorkerContext.run(WorkerContext.java:310) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:613)
  • Similar Issues:
    None

Description

Disposal of the workManagers in stop() before the transport itself has been stopped allows jobs to complete and dispatch before the transport is stopped. Currently messages randomly get lost (based on timing) with errors because there are still pending dispatcher jobs when the transport implementation is stopped.

Example of error is shown below.

Issue Links

blocks

Bug - A problem which impairs or prevents the functions of the product. MULE-4259 NullPointerException in CxfMessageDispatcher when executing loanbroker [cxf, asynchrounous] for 100 requests

  • Critical - Crashes, loss of data, severe memory leak.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.
is blocked by

Bug - A problem which impairs or prevents the functions of the product. MULE-4268 Retry should not stop/start connector

  • Critical - Crashes, loss of data, severe memory leak.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.
relates to

Task - A task that needs to be done. MULE-3679 Review connector lifecyle

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Bug - A problem which impairs or prevents the functions of the product. MULE-4269 Message are lost between connector stop and dispose when dispatcher thread pool is used

  • Critical - Crashes, loss of data, severe memory leak.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Daniel Feist added a comment - 12/Mar/09 12:43 PM

http://svn.mule.codehaus.org/changelog/mule/branches/mule-2.x?cs=14267

Show
Daniel Feist added a comment - 12/Mar/09 12:43 PM http://svn.mule.codehaus.org/changelog/mule/branches/mule-2.x?cs=14267
Hide
Permalink
Daniel Feist added a comment - 12/Mar/09 12:52 PM

This fix correct things, but if for some reason someone tries to send a message when connecter has been stopped this will result in a NullPointerException.

This wouldn't happen if it wasn't for MULE-4254, but we need to decide if we want to fix MULE-4254 across the board or only in/for transport where the concept of start/stop applies.

Show
Daniel Feist added a comment - 12/Mar/09 12:52 PM This fix correct things, but if for some reason someone tries to send a message when connecter has been stopped this will result in a NullPointerException. This wouldn't happen if it wasn't for MULE-4254, but we need to decide if we want to fix MULE-4254 across the board or only in/for transport where the concept of start/stop applies.
Hide
Permalink
Daniel Feist added a comment - 02/Jun/09 10:07 AM

This will need to be fixed properly in 3.0. For 2.2 we can implement some workarounds so that retry is not affected by this fix.

Show
Daniel Feist added a comment - 02/Jun/09 10:07 AM This will need to be fixed properly in 3.0. For 2.2 we can implement some workarounds so that retry is not affected by this fix.
Hide
Permalink
Travis Carlson added a comment - 12/Jun/09 02:34 PM

2.1.x:
http://fisheye.codehaus.org/changelog/mule/?cs=14945
http://fisheye.codehaus.org/changelog/mule/?cs=14947

2.2.x:
http://fisheye.codehaus.org/changelog/mule/?cs=14946
http://fisheye.codehaus.org/changelog/mule/?cs=14948

Show
Travis Carlson added a comment - 12/Jun/09 02:34 PM 2.1.x: http://fisheye.codehaus.org/changelog/mule/?cs=14945 http://fisheye.codehaus.org/changelog/mule/?cs=14947 2.2.x: http://fisheye.codehaus.org/changelog/mule/?cs=14946 http://fisheye.codehaus.org/changelog/mule/?cs=14948

People

  • Assignee:
    Travis Carlson
    Reporter:
    Daniel Feist
Vote (0)
Watch (1)

Dates

  • Created:
    11/Mar/09 08:14 PM
    Updated:
    12/Jun/09 02:34 PM
    Resolved:
    12/Jun/09 02:34 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.