t8y2/dbx · error

ZooKeeper request frame is %d bytes, maximum is %d

Error message

ZooKeeper request frame is %d bytes, maximum is %d

What it means

Returned by protocolZooKeeperClient.writeFrame when an outgoing ZooKeeper request frame exceeds zooKeeperMaxFrameSize bytes. This is a client-side limit before any bytes are written; a request this large usually means an oversized SASL token or an encoding bug rather than normal traffic.

Source

Thrown at agents/drivers/hive-go/zookeeper_protocol.go:340

	if xid != client.xid {
		return nil, fmt.Errorf("ZooKeeper response XID %d does not match request XID %d", xid, client.xid)
	}
	if _, err := decoder.int64(); err != nil {
		return nil, err
	}
	code, err := decoder.int32()
	if err != nil {
		return nil, err
	}
	if err := zooKeeperError(code); err != nil {
		return nil, err
	}
	return decoder.remaining(), nil
}

func (client *protocolZooKeeperClient) writeFrame(payload []byte) error {
	if len(payload) > zooKeeperMaxFrameSize {
		return fmt.Errorf("ZooKeeper request frame is %d bytes, maximum is %d", len(payload), zooKeeperMaxFrameSize)
	}
	if err := client.connection.SetWriteDeadline(time.Now().Add(client.timeout)); err != nil {
		return err
	}
	header := make([]byte, 4)
	binary.BigEndian.PutUint32(header, uint32(len(payload)))
	if err := writeAll(client.connection, header); err != nil {
		return err
	}
	return writeAll(client.connection, payload)
}

func (client *protocolZooKeeperClient) readFrame() ([]byte, error) {
	if err := client.connection.SetReadDeadline(time.Now().Add(client.timeout)); err != nil {
		return nil, err
	}
	header := make([]byte, 4)
	if _, err := io.ReadFull(client.connection, header); err != nil {

View on GitHub (pinned to c0390bff16)

Solutions

  1. Reduce the size of the payload being sent (e.g. avoid oversized auth tokens)
  2. Check for pathological input that inflates the encoded request
  3. Report/retry if the cause looks like an encoding bug generating runaway frame sizes
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at agents/drivers/hive-go/zookeeper_protocol.go:340 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05). Data as JSON: /api/errors/7b9eb0eca669b62c. Report an issue: GitHub.