nautechsystems/nautilus_trader · error

Saving signals for Redis cache adapter not supported

Error message

Saving signals for Redis cache adapter not supported

What it means

add_signals on the Redis cache adapter is an unimplemented operation: signal persistence is deliberately not supported by the Redis cache, so any caller attempting to save signals gets this sentinel bail instead of a partial write.

Source

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

        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")
    }

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

View on GitHub (pinned to 18893faf8b)

Solutions

  1. Persist signals via a different sink or the SQL cache adapter
  2. Extend the adapter if signal persistence in Redis is required
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/infrastructure/src/redis/cache.rs:1744 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/2eaf9acd71f32d25. Report an issue: GitHub.