Uploaded image for project: 'Flume'
  1. Flume
  2. FLUME-2233

MemoryChannel lock contention on every put due to bytesRemaining Semaphore

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5.0
    • Component/s: None
    • Labels:
      None

      Description

      This semaphore is checked every time there is a put (unlike the queueRemaining semaphore which is checked only on transaction commits), causing the channel to slow down, even when the user does not care about memory usage.

      We must add a new parameter to make sure that we look at bytesRemaining only when required which the user can disable if memory is not something they worry about because they know the channel size will be sufficiently small. By default, we will need to still check bytesRemaining to avoid breaking existing configurations.

        Attachments

        1. FLUME-2233.patch
          6 kB
          Hari Shreedharan
        2. FLUME-2233.patch
          10 kB
          Hari Shreedharan
        3. FLUME-2233.patch
          10 kB
          Hari Shreedharan
        4. FLUME-2233.patch
          8 kB
          Hari Shreedharan

          Issue Links

            Activity

              People

              • Assignee:
                hshreedharan Hari Shreedharan
                Reporter:
                hshreedharan Hari Shreedharan
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: