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

Log the first heartbeat after a series of missed #5629

Merged
merged 7 commits into from
Nov 25, 2015

Commits on Nov 11, 2015

  1. Log the first heartbeat after a series of missed

    Previously we logged all heartbeat messages. This is too much logging
    for the system to handle, so we removed it. This change introduces
    logging of the interesting heartbeat messages, the ones for when the
    heartbeat comes back after having missed a few beats. We already log
    heartbeat timeouts, so adding logging of when the heartbeat returns is
    sufficient for being able to reason about the heartbeats.
    thobe committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    ffa5c68 View commit details
    Browse the repository at this point in the history
  2. Introduce LoggingContext

    The context implementations were exposing a wider interface (LogService)
    than what was being used. This introduces a narrower interface to only
    expose what is needed.
    thobe committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    3f5fb6d View commit details
    Browse the repository at this point in the history
  3. Refactor clustering code to use LogProvider

    The clustering code was passing around a LogService, which is a much
    more capable interface than what it needed. In fact all usages just used
    the internal log provider. The needs of the clustering system can be
    fulfilled by passing a LogProvider to the various components instead.
    thobe committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    e6de3ab View commit details
    Browse the repository at this point in the history
  4. AsyncEvents concurrency primitive

    The AsyncEvents concurrency primitive can be used for very quickly enqueueing events to be processed in a background thread.
    
    This will be useful for building asynchronous logging.
    chrisvest authored and thobe committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    628dc09 View commit details
    Browse the repository at this point in the history
  5. Introduce asynchronous logging

    Asynchronous logging is implemented by simply delegating to AsyncEvents.
    thobe committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    db2e4f8 View commit details
    Browse the repository at this point in the history
  6. Introduce FeatureToggles

    FeatureToggles is a helper class that makes it easer to use java System
    properties to control certain features. This is done by providing
    methods for boolean flag values (with a default value), integer
    parameters, and enum flags. All feature toggle System parameter names
    are fully qualified with a class name.
    The intended use case is for the FeatureToggles methods to be invoked
    from a static context and the value stored in a static final field.
    The default value is used if the parameter is not set or if the
    parameter has an unrecognized value.
    thobe committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    a529a04 View commit details
    Browse the repository at this point in the history
  7. Use asynchronous logging in clustering code

    The clustering code is extremely time sensitive. If logging gets delayed
    waiting for I/O the cluster could become unstable. Therefore all logging
    in the clustering code is made asynchronous, in order to ensure that it
    does not block.
    thobe committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    becd524 View commit details
    Browse the repository at this point in the history