{"record":{"id":"a5abf5141f6d6cf2","repo":"pathwaycom/pathway","slug":"start-from-timestamp-ms-must-be-a-non-negative-num","errorCode":null,"errorMessage":"start_from_timestamp_ms must be a non-negative number of milliseconds since the UNIX epoch; got {start_from_timestamp_ms}","messagePattern":"start_from_timestamp_ms must be a non-negative number of milliseconds since the UNIX epoch; got (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/pathway/io/_utils.py","lineNumber":686,"sourceCode":"def resolve_start_from_timestamp_ms(\n    start_from: str,\n    start_from_timestamp_ms: int | None,\n) -> int | None:\n    \"\"\"Validates a (``start_from``, ``start_from_timestamp_ms``) pair and encodes\n    it into the single ``start_from_timestamp_ms`` field understood by the engine.\n\n    The engine reserves ``-1`` in this field as an internal sentinel for\n    ``start_from=\"end\"``, so an explicit timestamp must be non-negative —\n    otherwise a user-provided ``-1`` would silently turn into \"start from\n    the end of the stream\" instead of raising an error.\n    \"\"\"\n    if start_from == \"timestamp\":\n        if start_from_timestamp_ms is None:\n            raise ValueError(\n                \"start_from_timestamp_ms is required when start_from='timestamp'\"\n            )\n        if start_from_timestamp_ms < 0:\n            raise ValueError(\n                \"start_from_timestamp_ms must be a non-negative number of\"\n                f\" milliseconds since the UNIX epoch; got {start_from_timestamp_ms}\"\n            )\n        return start_from_timestamp_ms\n    if start_from_timestamp_ms is not None:\n        raise ValueError(\n            f\"start_from_timestamp_ms must not be set when start_from='{start_from}'\"\n        )\n    return -1 if start_from == \"end\" else None\n\n\ndef _get_unique_name(\n    name: str | None, kwargs: dict[str, Any], stacklevel: int = 6\n) -> str:\n    deprecated_name = kwargs.get(\"persistent_id\")\n    if name is not None:\n        if deprecated_name is not None:\n            raise ValueError(","sourceCodeStart":668,"sourceCodeEnd":704,"githubUrl":"https://github.com/pathwaycom/pathway/blob/fa2f74a4649b7c5908690cf60137263d8d80de5f/python/pathway/io/_utils.py#L668-L704","documentation":"Error \"start_from_timestamp_ms must be a non-negative number of milliseconds since the UNIX epoch; got {start_from_timestamp_ms}\" thrown in pathwaycom/pathway.","triggerScenarios":"Thrown at python/pathway/io/_utils.py:686 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a non-negative Unix epoch timestamp in milliseconds (>= 0)."],"exampleFix":"pw.io.kafka.read(rdkafka_settings, topic='t', start_from='timestamp', start_from_timestamp_ms=1700000000000)","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa2f74a4649b7c5908690cf60137263d8d80de5f","analyzedAt":"2026-08-15T01:48:17.006Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}