---
title: "DF0029: Stream Buffer Overflow"
description: "Stream \"{channel}#{id}\" dropped {dropped} chunk(s) after exceeding the client high-water mark."
canonical_url: "https://devfra.me/errors/df0029"
---
# DF0029: Stream Buffer Overflow

> Stream "\{channel}#\{id}" dropped \{dropped} chunk(s) after exceeding the client high-water mark.

## Message

> Stream "`{channel}#{id}`" dropped `{dropped}` chunk(s) after exceeding the client high-water mark.

## Cause

The consumer is slower than the producer, so the subscriber's queue grew past its `highWaterMark` and the oldest chunks were dropped to keep memory bounded. The stream keeps running and remaining chunks still flow.

## Fix

- Raise `highWaterMark` on `rpc.streaming.subscribe(channel, id, { highWaterMark })` if the consumer can occasionally catch up.
- Slow the producer by throttling, debouncing, or batching chunks server-side.
- Use `sharedState` if you only need the latest value rather than every chunk.

## Source

- [`packages/devframe/src/client/rpc-streaming.ts`](https://github.com/devframes/devframe/blob/main/packages/devframe/src/client/rpc-streaming.ts): the client subscription queue logs `DF0029` (with the dropped chunk count) when buffered chunks exceed `highWaterMark`.


## Sitemap

See the full [sitemap](https://devfra.me/sitemap.md) for all pages.
