---
id: runbook-table-data-cache-proxy
title: Table Data Cache Proxy runbook
---

The [Table Data Cache Proxy (TDCP)](../core-components/table-data-cache-proxy.md) is a Deephaven data management service that caches table data to reduce load on upstream data servers. It multiplexes data requests from multiple local worker processes to minimize connections to high-traffic sources like the Data Import Server (DIS).

## Impact of Table Data Cache Proxy failure

| Level            | Impact                                                                                                                                                  |
| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Sev 1 - Critical | Intraday data will not be available to workers on this host. Workers will fail to start or will be unable to access table data, causing query failures. |

> [!NOTE]
> TDCP is typically deployed on every host with workers. Its failure affects only the workers on that host, not the entire cluster.

## Table Data Cache Proxy dependencies

The TDCP requires:

1. **Configuration Server** — Must be running to access routing configuration.
2. **Authentication Server** — Must be running for token validation.
3. **Upstream data servers** — DIS, LTDS, or other TDCP instances must be accessible.
4. **etcd cluster** — Must be accessible (via Configuration Server).

## Checking Table Data Cache Proxy status

Check process is running with monit:

```bash
dh_monit status db_tdcp
```

Expected output should show status `Running`.

## Viewing Table Data Cache Proxy logs

View application log:

```bash
cat /var/log/deephaven/tdcp/TableDataCacheProxy.log.current
```

Tail the log to follow in real-time:

```bash
tail -f /var/log/deephaven/tdcp/TableDataCacheProxy.log.current
```

List historical log files:

```bash
ls -ltr /var/log/deephaven/tdcp/db_tdcp.log.????-??-??
```

View process stdout/stderr logs:

```bash
cat /var/log/deephaven/tdcp/db_tdcp.log.$(date +%Y-%m-%d)
```

## Restart procedure

Restart the TDCP:

```bash
dh_monit restart db_tdcp
```

> [!WARNING]
> Restarting the TDCP disconnects all active worker connections and clears the in-memory cache. Workers automatically reconnect and resume subscriptions, but there may be a brief interruption in data access.

Verify the restart was successful:

```bash
dh_monit status db_tdcp
```

Monitor the log during startup:

```bash
tail -f /var/log/deephaven/tdcp/TableDataCacheProxy.log.current
```

## Routing configuration

The TDCP uses the routing configuration to determine how to route table requests to upstream data servers. Routing is managed through `dhconfig routing` and can be updated dynamically without restarting the TDCP.

See [Data routing overview](../configuration/data-routing-overview.md) and [dhconfig routing command reference](../configuration/dhconfig/routing.md) for details.

## Configuration files and locations

**monit configuration:** `/etc/sysconfig/illumon.d/monit/db_tdcp.conf`

**Property files:**

- `/etc/sysconfig/illumon.d/resources/iris-common.prop`
- Service-specific properties configured through `dhconfig`

**Routing configuration:** Managed through `dhconfig routing`

**Log directory:** `/var/log/deephaven/tdcp/`

## Related documentation

- [Table Data Cache Proxy overview](../core-components/table-data-cache-proxy.md)
- [Data routing overview](../configuration/data-routing-overview.md)
- [Authenticated Table Data Protocol](../configuration/authenticated-tdp.md)
- [dhconfig routing command reference](../configuration/dhconfig/routing.md)
- [System processes overview](../architecture/architecture-overview.md)
- [Data Import Server runbook](runbook-data-import-server.md)
- [Local Table Data Server runbook](runbook-local-table-data-server.md)
- [Remote Query Dispatcher runbook](runbook-remote-query-dispatcher.md)
