Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-34

ForwardingRulesManager.updateNodeFlowsDB() is not thread-safety.

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Resolution: Done
    • 0.4.0
    • None
    • adsal
    • None
    • Operating System: All
      Platform: All

    Description

      We are writing a code which call ForwardingRulesManager API by multiple threads at same time.
      But, when our code call uninstallFlowEntry() by multiple threads at same time in cluster mode, ConcurrentModificationException occurred in updateNodeFlowsDB(). It seems that it occurred due to accessing same ArrayList<FlowEntryInstall> object at same time. (I attached stack trace.)

      And I saw ForwardingRulesManager.java, but it seems that a execlusive controll for common resources(nodeDB, groupDB and so on) is not implemented in ForwardingRulesManager.updateNodeFlowsDB() and other methods of ForwardingRulesManager. There may be same probelms in other methods of ForwardingRulesManager.java.

      please let me know, if you have any questions.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            aboch@cisco.com Alessandro Boch
            kawagishi-takayuki@mxj.nes.nec.co.jp Takayuki Kawagishi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: