Databento import: “{n} sessions not written” and the reasons in Senzoukria
Senzoukria writes an imported Replay session only when it is complete and unambiguous. A session is not written when the previous day’s file is missing, the day’s own file is missing, two files carry the same contract, it exceeds the Replay limit, or the disk write fails.
Senzoukria · Troubleshooting · Updated September 2026
At a glance
- Message
- “{n} sessions not written:” with one reason per day
- Reasons
- session open file missing · day file missing · conflict · too many trades · disk write
- Replay cap
- 5,000,000 trades per session
- Result line
- “{n} sessions written ({contracts}), {first} → {last}.”
What you see
After the import, “{n} sessions not written:” lists days with one of these reasons: “the previous day’s file is missing or unreadable (session open)”, “the day’s own file is missing or unreadable”, “two different files carry the same contract”, “too many trades for the Replay”, “could not be written to disk”. If nothing could be written: “No complete session could be written.”
Why it happens
A CME day spans the end of the previous UTC file and the day’s own file. The importer writes it only if both were read without error and no source announcing either day failed; a day missing its open or its close is reported, never replayed truncated. Two different sources for the same contract and day are refused rather than added (double volume) or chosen arbitrarily. A session above 5,000,000 trades exceeds the Replay’s memory cap. Sessions are rebuilt in full and written atomically, so an interrupted import only leaves complete days.
How to fix it
- Add the missing daily file (often the day before your first session) and import again; re-importing rewrites the same bytes and never double counts.
- Keep a single source per contract and day: not a trades file plus a tbbo file for the same day.
- For a day refused as too large, there is no workaround in the Replay; pick another day.
- For disk errors, free space in the app’s data folder and retry.
What it is not
- Not a partial session: refused days are not written at all.
- Not caused by trades without an aggressor side: those are set aside and counted in a separate line.
When to contact support
If the message comes back after these steps, report it from Menu → Report a problem or on the Senzoukria Discord. Paste the “sessions not written” list and the list of files for those days.
Related pages
In the same section
- Databento files set aside
- DOM: aggregated L2 only
- dxFeed: no order book
- Free Rithmic demo refused
- DBN parent symbol not imported
- GEX delayed or stale
- Diagnostic: session already running
- GEX no data or provider error
This page in other languages
Frequently asked questions
- Does re-running the import duplicate sessions?
- No. Each session is rebuilt entirely from its sources and written atomically, so a second run produces the same file.
- What happens to trades without an aggressor side?
- They are set aside and counted, never classified as buys, and they are missing from the sessions’ volume; the report says how many contracts that represents.