Class ClusterProcessingControl<F extends RemoteProcessingControlResource>
java.lang.Object
org.graylog2.system.processing.control.ClusterProcessingControl<F>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final record -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Stringprotected final com.github.joschi.jadconfig.util.Durationprotected final NodeService<ServerNodeDto>protected final RemoteInterfaceProvider -
Constructor Summary
ConstructorsConstructorDescriptionClusterProcessingControl(String authorizationToken, RemoteInterfaceProvider remoteInterfaceProvider, NodeService<ServerNodeDto> nodeService, com.github.joschi.jadconfig.util.Duration connectionTimeout, com.github.joschi.jadconfig.util.Duration bufferDrainInterval, int maxBufferDrainRetries) -
Method Summary
Modifier and TypeMethodDescriptionprotected <R> retrofit2.Response<R>getrResponse(Function<F, retrofit2.Call<R>> callRemoteResource, Map.Entry<String, ServerNodeDto> entry) protected booleanisOutputRateCloseToZero(double outputRate) The output rate is the number of messages per second that are being written to OpenSearch (usually a whole number followed by some meaningless decimals - e.g. 100.01 messages/second).voidprotected voidvoidrunOnAllActiveNodes(String operationName, Function<F, retrofit2.Call<R>> callRemoteResource, boolean stopOnFirstException) tryGetExceptionNodes(com.github.rholder.retry.RetryException e) Try to retrieve the nodes that have a non-zero output rate from the RetryException.void
-
Field Details
-
authorizationToken
-
remoteInterfaceProvider
-
nodeService
-
connectionTimeout
protected final com.github.joschi.jadconfig.util.Duration connectionTimeout
-
-
Constructor Details
-
ClusterProcessingControl
public ClusterProcessingControl(String authorizationToken, RemoteInterfaceProvider remoteInterfaceProvider, NodeService<ServerNodeDto> nodeService, com.github.joschi.jadconfig.util.Duration connectionTimeout, com.github.joschi.jadconfig.util.Duration bufferDrainInterval, int maxBufferDrainRetries)
-
-
Method Details
-
pauseProcessing
public void pauseProcessing() -
runOnAllActiveNodes
-
getrResponse
protected <R> retrofit2.Response<R> getrResponse(Function<F, retrofit2.Call<R>> callRemoteResource, Map.Entry<String, throws IOExceptionServerNodeDto> entry) - Throws:
IOException
-
waitForEmptyBuffers
-
tryGetExceptionNodes
Try to retrieve the nodes that have a non-zero output rate from the RetryException. This should succeed with the current implementation. -
isOutputRateCloseToZero
protected boolean isOutputRateCloseToZero(double outputRate) The output rate is the number of messages per second that are being written to OpenSearch (usually a whole number followed by some meaningless decimals - e.g. 100.01 messages/second). A value < 1 is effectively zero. The rate might become very small, but not zero in some cases, so this method accounts for that condition. -
resumeGraylogMessageProcessing
public void resumeGraylogMessageProcessing() -
printNodeDebugInfo
protected void printNodeDebugInfo()
-