glazedlists
  1. glazedlists
  2. GLAZEDLISTS-492

MatcherEditor's event mechanism causes reentrancy

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: current
    • Fix Version/s: milestone 1
    • Component/s: core
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      492

      Description

      In the current implementation MatcherEditor's interaction with FilterList causes
      events to be fired outside of control of ListEventPublisher. This can cause all
      sorts of problems if the MatcherEditor change event fires as a result of an
      ongoing event pipeline update.

      I'm attaching a unit test that demonstrates the issue.

      For now, the solution is to get the MatcherEditor change event off of the thread
      that is processing the event pipeline update. This is hard to do in the general
      case because a given pipeline update could originate from any thread. The only
      way to really guarantee this is to spawn a new thread in the MatcherEditor and
      have it obtain a write lock before firing it's event into the FilterList.

        Activity

        Hide
        trumpetinc added a comment -

        Created an attachment (id=54)
        Unit test demonstrating issue

        Show
        trumpetinc added a comment - Created an attachment (id=54) Unit test demonstrating issue

          People

          • Assignee:
            jessewilson
            Reporter:
            trumpetinc
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: