Skip to content

Mass file retrieval failures (parts.mismatch, MESSAGE_IDS_EMPTY) with large dataset (~1.1M files) #562

@paul19920801

Description

@paul19920801

I’m experiencing widespread failures retrieving files from Teldrive. Files are listed correctly, but downloads/streams fail.

Errors:

parts.mismatch expected=1 actual=0
stream.parts_fetch_failed
rpc error code 400: MESSAGE_IDS_EMPTY
Downloads return ~20 bytes

Example:

ERROR [FILE] parts.mismatch expected=1 actual=0
ERROR [FILE] stream.parts_fetch_failed error=file parts mismatch

Environment:

Self-hosted Teldrive
PostgreSQL backend
Telegram channel storage
~1,100,000 files in dataset
Bots configured but not actively used (to my knowledge)
Logged in via Telegram user session (QR login)

Database observations:

Active channel (channel_id = 2506079362)
Example valid entry:
[{"id": 7679}]
Invalid entries also exist:
id = 0 (~1,300 rows)
NULL (~8,900 rows)

Behaviour:

Files visible in Telegram manually (same account)
File listing works in Teldrive
Retrieval fails for many files (both old and new)

Important context:

Previously ran multiple Teldrive instances sharing a DB
Later split instances into separate setups
Channel remained the same

Problem:

Even when:

message IDs exist
files exist in Telegram
session is authenticated

👉 Teldrive returns MESSAGE_IDS_EMPTY and cannot fetch data

Questions:

Can message IDs become invalid after splitting instances / reusing DB?
Does Teldrive depend on original uploader context (bot vs user session)?
Are there known limits/issues when working with very large channels (~1M+ files)?
Is there a supported way to re-index or repair parts mappings?
How should invalid entries (id = 0 / NULL) be handled?

Impact:

Large portion of library unusable
Downloads unreliable
Concern about data integrity

Request:

Looking for:

Root cause of MESSAGE_IDS_EMPTY in this scenario
Recommended recovery or re-index approach
Confirmation if this is expected behaviour or a bug

Happy to provide additional logs or DB dumps if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions