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

IdempotentRedeliveryPolicy is not thread safe

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

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 3.2.2 (EE only), 3.3.0
  • Fix Version/s: 3.2.3 (EE only), 3.3.1, 3.4.0
  • Component/s: Core: Components
  • Labels:
    • targeted-3.3.1
  • User impact:
    High
  • Similar Issues:
    None

Description

IdempotentRedeliverPolicy retrieves a counter from the object store and then updates it. The problem is that multiple threads can process the same message at the same time and everyone can be updating the count state without noticing the other threads.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Pablo La Greca added a comment - 17/Aug/12 01:59 PM

This requires a locking mechanism for ObjectStore. So multiple threads don't update the same entry at the same time.

Show
Pablo La Greca added a comment - 17/Aug/12 01:59 PM This requires a locking mechanism for ObjectStore. So multiple threads don't update the same entry at the same time.
Hide
Permalink
Pablo La Greca added a comment - 17/Aug/12 02:13 PM - edited

3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24766
3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24767
3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24771
3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24772

Show
Pablo La Greca added a comment - 17/Aug/12 02:13 PM - edited 3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24766 3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24767 3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24771 3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24772
Hide
Permalink
Pablo La Greca added a comment - 20/Aug/12 10:29 PM

I'm going to revert all my changes around ObjectStore. For 3.3.1 I will only provide a locking mechanism and use that directly from IdempotentRedeliveryPolicy.

ObjectStore hierarchy is a mess. I prefer not to add anything related to locking until we refactor ObjectStore implementation.

Show
Pablo La Greca added a comment - 20/Aug/12 10:29 PM I'm going to revert all my changes around ObjectStore. For 3.3.1 I will only provide a locking mechanism and use that directly from IdempotentRedeliveryPolicy. ObjectStore hierarchy is a mess. I prefer not to add anything related to locking until we refactor ObjectStore implementation.
Hide
Permalink
Pablo La Greca added a comment - 20/Aug/12 10:52 PM - edited

Revert:
3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24785
3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24787
3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24789

Show
Pablo La Greca added a comment - 20/Aug/12 10:52 PM - edited Revert: 3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24785 3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24787 3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24789
Hide
Permalink
Pablo La Greca added a comment - 21/Aug/12 12:19 AM - edited

Simple lock mechanism fix:
3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24786
3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24796
3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24788
3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24792
3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24797
3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24790
3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24793
3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24798

Show
Pablo La Greca added a comment - 21/Aug/12 12:19 AM - edited Simple lock mechanism fix: 3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24786 3.2.x: https://fisheye.codehaus.org/changelog/mule/?cs=24796 3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24788 3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24792 3.3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24797 3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24790 3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24793 3.x: https://fisheye.codehaus.org/changelog/mule/?cs=24798

People

  • Assignee:
    Pablo La Greca
    Reporter:
    Pablo La Greca
Vote (0)
Watch (0)

Dates

  • Created:
    17/Aug/12 01:58 PM
    Updated:
    21/Aug/12 02:00 PM
    Resolved:
    21/Aug/12 02:00 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.