-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Commits on Nov 11, 2015
-
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.
Configuration menu - View commit details
-
Copy full SHA for ffa5c68 - Browse repository at this point
Copy the full SHA ffa5c68View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 3f5fb6d - Browse repository at this point
Copy the full SHA 3f5fb6dView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for e6de3ab - Browse repository at this point
Copy the full SHA e6de3abView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 628dc09 - Browse repository at this point
Copy the full SHA 628dc09View commit details -
Introduce asynchronous logging
Asynchronous logging is implemented by simply delegating to AsyncEvents.
Configuration menu - View commit details
-
Copy full SHA for db2e4f8 - Browse repository at this point
Copy the full SHA db2e4f8View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for a529a04 - Browse repository at this point
Copy the full SHA a529a04View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for becd524 - Browse repository at this point
Copy the full SHA becd524View commit details