{"record":{"id":"7706dd10a7bdcf57","repo":"nautechsystems/nautilus_trader","slug":"dbn-message-type-is-not-currently-supported","errorCode":null,"errorMessage":"DBN message type is not currently supported","messagePattern":"DBN message type is not currently supported","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/databento/src/decode/market_data.rs","lineNumber":867,"sourceCode":"                instrument_id,\n                price_precision,\n                Some(ts_init),\n                include_trades,\n            )?;\n            (maybe_quote.map(Data::Quote), maybe_trade.map(Data::Trade))\n        }\n    } else if let Some(msg) = record.get::<dbn::TbboMsg>() {\n        // TBBO always has a trade, quote may be skipped if prices undefined\n        let ts_init = determine_timestamp(ts_init, msg.ts_recv.into());\n        let (maybe_quote, trade) =\n            decode_tbbo_msg(msg, instrument_id, price_precision, Some(ts_init))?;\n        (maybe_quote.map(Data::Quote), Some(Data::Trade(trade)))\n    } else if let Some(msg) = record.get::<dbn::CbboMsg>() {\n        let ts_init = determine_timestamp(ts_init, msg.ts_recv.into());\n        let maybe_quote = decode_cbbo_msg(msg, instrument_id, price_precision, Some(ts_init))?;\n        (maybe_quote.map(Data::Quote), None)\n    } else {\n        anyhow::bail!(\"DBN message type is not currently supported\")\n    };\n\n    Ok(result)\n}\n\nconst fn determine_timestamp(ts_init: Option<UnixNanos>, msg_timestamp: UnixNanos) -> UnixNanos {\n    match ts_init {\n        Some(ts_init) => ts_init,\n        None => msg_timestamp,\n    }\n}\n","sourceCodeStart":849,"sourceCodeEnd":879,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/databento/src/decode/market_data.rs#L849-L879","documentation":"`decode_record` dispatches a DBN record by concrete type (MboMsg, TradeMsg, Mbp1Msg, ..., CbboMsg). If the record is none of the supported types, the decoder cannot process it and bails with this catch-all message.","triggerScenarios":"Decoding a DBN record of a type the adapter does not support yet (e.g. newer Databento record types like `ImbalanceMsg` or definition/status types routed here), via `get_range_quotes`/`get_range_trades` or historical live streams.","commonSituations":"Subscribing to schemas whose records have no decode branch; version skew where a newer dbn crate emits record types the adapter decoder doesn't know; accidentally decoding definition records through the market-data path.","solutions":["Only subscribe to/request schemas supported by the adapter (mbo, trades, mbp variants, cbbo)","Upgrade the adapter crate to one that decodes the record type you need","Log the record's rtype/encoding to identify the unsupported type and request support","Filter unsupported record types out of the stream before decoding"],"exampleFix":"// before\nsubscribe(schema=\"imbalance\") // record type has no decode branch\n// after\nsubscribe(schema=\"mbp-1\") // supported record type","handlingStrategy":"try-catch","validationCode":"const SUPPORTED_SCHEMAS: &[&str] = &[\"mbo\", \"trades\", \"mbp-1\", \"mbp-10\", \"tbbo\", \"cbbo\"]; // supported record types\nfn is_supported_schema(schema: &str) -> bool { SUPPORTED_SCHEMAS.contains(&schema) }","typeGuard":null,"tryCatchPattern":"match decode_record(record) {\n    Ok(data) => Some(data),\n    Err(e) if e.to_string().contains(\"DBN message type is not currently supported\") => {\n        log::debug!(\"skipping unsupported DBN record type\");\n        None\n    }\n    Err(e) => return Err(e.into()),\n}","preventionTips":["Subscribe only to schemas with decode branches in the adapter","Keep adapter and dbn crate versions aligned","Check the changelog before enabling new Databento schemas","Route definition/status records through their dedicated decoders"],"tags":["rust","databento","records","decoding"],"backgroundTag":"unsupported-operation","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}