istio/istio · error

context expired before request sent: %v

Error message

context expired before request sent: %v

What it means

Error "context expired before request sent: %v" thrown in istio/istio.

Source

Thrown at cni/pkg/nodeagent/ztunnelserver_linux.go:174

}

func (z ztunnelUDSConnection) ReadHello() (*zdsapi.ZdsHello, error) {
	// get hello message from ztunnel
	m, _, err := readProto[zdsapi.ZdsHello](z.u, readWriteDeadline, nil)
	return m, err
}

func (z ztunnelUDSConnection) Send(ctx context.Context, data *zdsapi.WorkloadRequest, fd *int) (*zdsapi.WorkloadResponse, error) {
	ret := make(chan updateResponse, 1)
	req := updateRequest{
		update: data,
		fd:     fd,
		resp:   ret,
	}
	select {
	case z.updates <- req:
	case <-ctx.Done():
		return nil, fmt.Errorf("context expired before request sent: %v", ctx.Err())
	case <-z.done:
		return nil, fmt.Errorf("connection closed before request sent")
	}

	select {
	case r := <-ret:
		return r.resp, r.err
	case <-ctx.Done():
		return nil, fmt.Errorf("context expired before response received: %v", ctx.Err())
	case <-z.done:
		return nil, fmt.Errorf("connection closed before response received")
	}
}

func (z ztunnelUDSConnection) SendMsgAndWaitForAck(msg *zdsapi.WorkloadRequest, fd *int) (*zdsapi.WorkloadResponse, error) {
	data, err := proto.Marshal(msg)
	if err != nil {
		return nil, err

View on GitHub (pinned to 8dc789c5cf)

When it happens

Trigger: Thrown at cni/pkg/nodeagent/ztunnelserver_linux.go:174 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of istio/istio@8dc789c5cf (2026-08-15). Data as JSON: /api/errors/220336b28dc95223. Report an issue: GitHub.