Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non blocking ReservedThreadExecutor #6535

Merged
merged 36 commits into from Jul 28, 2021

Commits on Jul 6, 2021

  1. Thought bubble on #6495

    gregw committed Jul 6, 2021
    Copy the full SHA
    7e92507 View commit details
    Browse the repository at this point in the history
  2. Thought bubble on #6495

    gregw committed Jul 6, 2021
    Copy the full SHA
    3ce1e11 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2021

  1. Thought bubble on #6495

    gregw committed Jul 7, 2021
    Copy the full SHA
    5cd35ec View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2021

  1. Thought bubble on #6495

    gregw committed Jul 12, 2021
    Copy the full SHA
    25f0e6f View commit details
    Browse the repository at this point in the history
  2. Thought bubble on #6495

    gregw committed Jul 12, 2021
    Copy the full SHA
    0f6f5ae View commit details
    Browse the repository at this point in the history
  3. Defensive "fix" for #6495

    Never block waiting for reserved thread.
    Dump reserved thread stack if it does not make the rendezvous
    gregw committed Jul 12, 2021
    Copy the full SHA
    2e005c0 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2021

  1. Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-64…

    …95-ReservedThreadExecutor
    gregw committed Jul 13, 2021
    Copy the full SHA
    49ebdcf View commit details
    Browse the repository at this point in the history
  2. Defensive "fix" for #6495

    fix warnings
    gregw committed Jul 13, 2021
    Copy the full SHA
    5ff14cf View commit details
    Browse the repository at this point in the history
  3. Additional logging to try to catch the issue.

    Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
    sbordet committed Jul 13, 2021
    Copy the full SHA
    e253e19 View commit details
    Browse the repository at this point in the history
  4. Additional logging to try to catch the issue, take 2.

    Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
    sbordet committed Jul 13, 2021
    Copy the full SHA
    51dcf9d View commit details
    Browse the repository at this point in the history
  5. Additional logging to try to catch the issue, take 3.

    Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
    sbordet committed Jul 13, 2021
    Copy the full SHA
    508e37f View commit details
    Browse the repository at this point in the history
  6. Additional logging to try to catch the issue, take 3.

    Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
    sbordet committed Jul 13, 2021
    Copy the full SHA
    8ee82e9 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2021

  1. Defensive "fix" for #6495

    avoid waiting 1s
    gregw committed Jul 14, 2021
    Copy the full SHA
    5c91535 View commit details
    Browse the repository at this point in the history
  2. Defensive "fix" for #6495

    If a reserved thread does not rendezvous, put it back on the bottom of the stack.
    gregw committed Jul 14, 2021
    Copy the full SHA
    29959d2 View commit details
    Browse the repository at this point in the history
  3. Defensive "fix" for #6495

    Even more paranoid checks:
     + test if an missed offer was for a thread that removed itself from the stack
     + test if a reserved thread is already on the stack before adding it.
    gregw committed Jul 14, 2021
    Copy the full SHA
    bbc254a View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2021

  1. Defensive "fix" for #6495

    Even more paranoid checks:
     + try to poll after remove to check for race in remove
    gregw committed Jul 16, 2021
    Copy the full SHA
    6348908 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2021

  1. Defensive "fix" for #6495

    Even more paranoid checks:
     + try to poll after remove to check for race in remove
    gregw committed Jul 19, 2021
    Copy the full SHA
    c286da0 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2021

  1. Defensive "fix" for #6495

    This is a new approach to #6495.    A call to offer must never block, nor even yield, since to do so give an opportunity for the allocated CPU core to change, defeating the whole purpose of the class.
    
    There is also some reasonable level of diagnostic warnings if a reserved thread misses too many offers consecutively, based on tracking the state of the reserved thread.
    gregw committed Jul 22, 2021
    Copy the full SHA
    fa8daee View commit details
    Browse the repository at this point in the history
  2. Defensive "fix" for #6495

    Use MAX_VALUE rather than -1 as the stopped marker value.
    gregw committed Jul 22, 2021
    Copy the full SHA
    06de795 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2021

  1. Alternative "fix" for #6495

    Remove the stack data structure entirely.  ReservedThreads all poll the same SynchronousQueue and tryExecute does a non blocking offer.
    gregw committed Jul 23, 2021
    Copy the full SHA
    f7a662b View commit details
    Browse the repository at this point in the history
  2. Alternative "fix" for #6495

    Added test for busy shrinking
    gregw committed Jul 23, 2021
    Copy the full SHA
    e4dbdd3 View commit details
    Browse the repository at this point in the history
  3. Alternative "fix" for #6495

    Remember last time we hit zero reserved threads
    gregw committed Jul 23, 2021
    Copy the full SHA
    069550c View commit details
    Browse the repository at this point in the history
  4. Alternative "fix" for #6495

    updates from review
    gregw committed Jul 23, 2021
    Copy the full SHA
    db7a2f1 View commit details
    Browse the repository at this point in the history
  5. Alternative "fix" for #6495

    fixed busy idle
    gregw committed Jul 23, 2021
    Copy the full SHA
    5cd41f0 View commit details
    Browse the repository at this point in the history
  6. Alternative "fix" for #6495

    fixed busy idle
    gregw committed Jul 23, 2021
    Copy the full SHA
    5b0176c View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2021

  1. Alternative "fix" for #6495

    simplified stop
    gregw committed Jul 24, 2021
    Copy the full SHA
    43f2b58 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2021

  1. Alternative "fix" for #6495

    updates from review
    gregw committed Jul 25, 2021
    Copy the full SHA
    51ff7e4 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2021

  1. Alternative "fix" for #6495

    updates from review
    gregw committed Jul 27, 2021
    Copy the full SHA
    986e3b1 View commit details
    Browse the repository at this point in the history
  2. update from review

    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Jul 27, 2021
    Copy the full SHA
    c89d9c5 View commit details
    Browse the repository at this point in the history
  3. update from review

    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Jul 27, 2021
    Copy the full SHA
    c335169 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'jetty-9.4.x-6495-ReservedThreadExecutor3' of github.com…

    …:eclipse/jetty.project into jetty-9.4.x-6495-ReservedThreadExecutor3
    gregw committed Jul 27, 2021
    Copy the full SHA
    03688e9 View commit details
    Browse the repository at this point in the history
  5. Alternative "fix" for #6495

    updates from review
    gregw committed Jul 27, 2021
    Copy the full SHA
    3db3166 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2021

  1. Alternative "fix" for #6495

    simplified tryExecute
    gregw committed Jul 28, 2021
    Copy the full SHA
    2ea7a09 View commit details
    Browse the repository at this point in the history
  2. Alternative "fix" for #6495

    updates from review
    gregw committed Jul 28, 2021
    Copy the full SHA
    735d718 View commit details
    Browse the repository at this point in the history
  3. Alternative "fix" for #6495

    updates from review
    gregw committed Jul 28, 2021
    Copy the full SHA
    7950b84 View commit details
    Browse the repository at this point in the history
  4. Alternative "fix" for #6495

    updates from review
    gregw committed Jul 28, 2021
    Copy the full SHA
    61d11ef View commit details
    Browse the repository at this point in the history