Uploaded image for project: 'netvirt'
  1. netvirt
  2. NETVIRT-424

ElanPacketInHandler locks on Mac+Elan which doesn't converge in scale scenarios

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • Boron
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 7530

    Description

      onPacketReceived is doing 3 operations in a single job.
      1) Updates a MacEntry data structure per interface name.
      2) Updates a MacEntry data structure which is global.
      3) Install flows into a DPN.

      The key to lock this job is MAC + ELAN, which is too coarse for this operations. Operation 1 and 3 could have being done with a fined-grained key that includes the DPNID too.
      The suggested solution is to split this into 2 jobs, one for tasks 1 and 3 with a lock that includes DPNID and another job for task 2 with the current lock.

      In a scale scenario with 180 Computes and 16GB heap, the pending jobs didn't converge and caused Full GC because the flows are installed sequentially to each OVS instead of being installed concurrently.

      Attachments

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

        Activity

          People

            Unassigned Unassigned
            guy.sela@hpe.com Guy Sela
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: