Class GRpcAgentJobKillServiceImpl

  • All Implemented Interfaces:
    AgentJobKillService

    public class GRpcAgentJobKillServiceImpl
    extends java.lang.Object
    implements AgentJobKillService
    Implementation of the AgentJobKillService, listens for kill coming from server using long-polling.

    Note: this implementation still suffers from a serious flaw: because it is implemented with a unary call, the server will never realize the client is gone if the connection is broken. This can lead to an accumulation of parked calls on the server. A new protocol (based on a bidirectional stream) is necessary to solve this problem.

    Since:
    4.0.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void start​(@NotBlank(message="Job id cannot be blank") java.lang.String jobId)
      Start listening for job termination notification.
      void stop()
      Stop the service.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GRpcAgentJobKillServiceImpl

        public GRpcAgentJobKillServiceImpl​(com.netflix.genie.proto.JobKillServiceGrpc.JobKillServiceFutureStub client,
                                           KillService killService,
                                           org.springframework.scheduling.TaskScheduler taskScheduler,
                                           JobKillServiceProperties properties)
        Constructor.
        Parameters:
        client - The gRPC client to use to call the server
        killService - KillService for killing the agent
        taskScheduler - A task scheduler
        properties - The service properties
    • Method Detail

      • start

        public void start​(@NotBlank(message="Job id cannot be blank")
                          @NotBlank(message="Job id cannot be blank") java.lang.String jobId)
        Start listening for job termination notification.
        Specified by:
        start in interface AgentJobKillService
        Parameters:
        jobId - job id