You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 21, 2023. It is now read-only.
Implementation issue following the discussion in #81.
Specifically the RPC should block until at least one event is accepted into the queue. The RPC should not block until all events in the batch have been accepted into the queue.
The shipper queue's publish interface already blocks when the queue is full based on the underlying Beats' memory and disk queue implementations:
One missing piece with the existing Publish method is that it does not accept a context.Context as input. This means that when a PublishEvents RPC call is made with a timeout then that timeout will be ignored if the RPC is blocked in the queue Publish method. We will need to modify the queue interface to accept a context.Context and propagate the RPC context to it in the PublishEvents method.
Implementation issue following the discussion in #81.
Specifically the RPC should block until at least one event is accepted into the queue. The RPC should not block until all events in the batch have been accepted into the queue.
The shipper queue's publish interface already blocks when the queue is full based on the underlying Beats' memory and disk queue implementations:
elastic-agent-shipper/queue/queue.go
Lines 57 to 64 in cf6513d
One missing piece with the existing
Publishmethod is that it does not accept acontext.Contextas input. This means that when aPublishEventsRPC call is made with a timeout then that timeout will be ignored if the RPC is blocked in the queuePublishmethod. We will need to modify the queue interface to accept acontext.Contextand propagate the RPCcontextto it in thePublishEventsmethod.