Merge pull request #4412 from cpuguy83/shim2_event_cancelled
shim: move event context timeout to publsher
This commit is contained in:
commit
2cc2414ec5
@ -769,9 +769,7 @@ func (s *service) forward(ctx context.Context, publisher shim.Publisher) {
|
|||||||
ns, _ := namespaces.Namespace(ctx)
|
ns, _ := namespaces.Namespace(ctx)
|
||||||
ctx = namespaces.WithNamespace(context.Background(), ns)
|
ctx = namespaces.WithNamespace(context.Background(), ns)
|
||||||
for e := range s.events {
|
for e := range s.events {
|
||||||
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
|
|
||||||
err := publisher.Publish(ctx, runc.GetTopic(e), e)
|
err := publisher.Publish(ctx, runc.GetTopic(e), e)
|
||||||
cancel()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.WithError(err).Error("post event")
|
logrus.WithError(err).Error("post event")
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,9 @@ func (l *RemoteEventsPublisher) Publish(ctx context.Context, topic string, event
|
|||||||
func (l *RemoteEventsPublisher) forwardRequest(ctx context.Context, req *v1.ForwardRequest) error {
|
func (l *RemoteEventsPublisher) forwardRequest(ctx context.Context, req *v1.ForwardRequest) error {
|
||||||
service, err := l.client.EventsService()
|
service, err := l.client.EventsService()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
_, err = service.Forward(ctx, req)
|
fCtx, cancel := context.WithTimeout(ctx, 5*time.Second)
|
||||||
|
_, err = service.Forward(fCtx, req)
|
||||||
|
cancel()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -149,7 +151,12 @@ func (l *RemoteEventsPublisher) forwardRequest(ctx context.Context, req *v1.Forw
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if _, err = service.Forward(ctx, req); err != nil {
|
|
||||||
|
// try again with a fresh context, otherwise we may get a context timeout unexpectedly.
|
||||||
|
fCtx, cancel := context.WithTimeout(ctx, 5*time.Second)
|
||||||
|
_, err = service.Forward(fCtx, req)
|
||||||
|
cancel()
|
||||||
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user