nautechsystems/nautilus_trader · error

Saving market data for Redis cache adapter not supported

Error message

Saving market data for Redis cache adapter not supported

What it means

Sentinel error in the Redis cache adapter's add_order_book: persisting raw order book market data is intentionally unsupported by the Redis cache adapter (only positional/order/signal state is stored), so the call always fails with this message.

Source

Thrown at crates/infrastructure/src/redis/cache.rs:1740

            DatabaseOperation::Delete,
            INDEX_POSITIONS_CLOSED.to_string(),
            Some(vec![position_id_bytes]),
        )?;

        Ok(())
    }

    fn add_position_snapshot(&self, snapshot: &PositionSnapshot) -> anyhow::Result<()> {
        let key = format!(
            "{SNAPSHOTS}{REDIS_DELIMITER}{POSITIONS}{REDIS_DELIMITER}{}",
            snapshot.position_id
        );
        let payload = DatabaseQueries::serialize_payload(self.encoding(), snapshot)?;
        self.database.insert(key, Some(vec![Bytes::from(payload)]))
    }

    fn add_order_book(&self, _order_book: &OrderBook) -> anyhow::Result<()> {
        anyhow::bail!("Saving market data for Redis cache adapter not supported")
    }

    fn add_signal(&self, _signal: &Signal) -> anyhow::Result<()> {
        anyhow::bail!("Saving signals for Redis cache adapter not supported")
    }

    fn add_custom_data(&self, data: &CustomData) -> anyhow::Result<()> {
        self.database.add_custom_data(data)
    }

    fn add_quote(&self, _quote: &QuoteTick) -> anyhow::Result<()> {
        anyhow::bail!("Saving market data for Redis cache adapter not supported")
    }

    fn add_trade(&self, _trade: &TradeTick) -> anyhow::Result<()> {
        anyhow::bail!("Saving market data for Redis cache adapter not supported")
    }

View on GitHub (pinned to 18893faf8b)

Solutions

  1. Persist market data to the Parquet data catalog instead
  2. Use a different cache adapter if market-data persistence is required
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/infrastructure/src/redis/cache.rs:1740 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of nautechsystems/nautilus_trader@18893faf8b (2026-09-08). Data as JSON: /api/errors/87cdd9b29bcea39d. Report an issue: GitHub.