{"record":{"id":"a91cc15f7be64bdb","repo":"cocoindex-io/cocoindex","slug":"iggy-topic-self-stream-self-topic-does-not-e","errorCode":null,"errorMessage":"Iggy topic {self._stream}/{self._topic} does not exist.","messagePattern":"Iggy topic (.+?)/(.+?) does not exist\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"python/cocoindex/connectors/iggy/_source.py","lineNumber":296,"sourceCode":"        self._polling_retry_interval = polling_retry_interval\n        self._init_retries = init_retries\n        self._init_retry_interval = init_retry_interval\n        self._allow_replay = allow_replay\n        self._initial_high_watermark = initial_high_watermark\n        self._watch_guard = SingleWatcherGuard(\"Iggy TopicStream\")\n\n    def payloads(self) -> LiveStream[bytes]:\n        \"\"\"View of this stream yielding each message payload as bytes.\"\"\"\n        return _TopicPayloadsStream(self)\n\n    async def _resolve_initial_high_watermark(self) -> int:\n        \"\"\"Resolve the initial next-offset watermark for readiness.\"\"\"\n        if self._initial_high_watermark is not None:\n            return self._initial_high_watermark\n\n        topic = await self._client.get_topic(self._stream, self._topic)\n        if topic is None:\n            raise RuntimeError(\n                f\"Iggy topic {self._stream}/{self._topic} does not exist.\"\n            )\n        if topic.partitions_count != 1:\n            raise RuntimeError(\n                \"The Python Iggy SDK does not expose per-partition high watermarks. \"\n                \"Pass initial_high_watermark for multi-partition topics, or consume \"\n                \"a single-partition topic.\"\n            )\n        return int(topic.messages_count)\n\n    async def _create_consumer(self) -> IggyConsumer:\n        \"\"\"Create an Iggy consumer group configured for manual offset storage.\"\"\"\n        return await self._client.consumer_group(\n            name=self._consumer_group,\n            stream=self._stream,\n            topic=self._topic,\n            partition_id=self._partition_id,\n            polling_strategy=PollingStrategy.Next(),","sourceCodeStart":278,"sourceCodeEnd":314,"githubUrl":"https://github.com/cocoindex-io/cocoindex/blob/e84aa99b3292c5270a4b313b2a7137ad9ce8ab3b/python/cocoindex/connectors/iggy/_source.py#L278-L314","documentation":"During readiness resolution the Iggy source fetches the topic to read its initial high-watermark. If the server reports the stream/topic does not exist (get_topic returns None), a RuntimeError is raised because offsets cannot be resolved for a nonexistent topic.","triggerScenarios":"Starting _watch/consumption against an Iggy stream/topic name that was never created (or was deleted), before _resolve_initial_high_watermark can read messages_count.","commonSituations":"Typos in stream/topic names in configuration; pointing at an environment where the topic was not provisioned; a topic deleted between runs.","solutions":["Create the Iggy stream/topic (or fix the configured names) before starting the source","Verify stream and topic names against `iggy` CLI listing","Point the connector at the correct Iggy server/environment where the topic exists"],"exampleFix":"// before\nsrc = iggy.IggySource(client, stream=\"my_strem\", topic=\"events\")\n// after\nsrc = iggy.IggySource(client, stream=\"my_stream\", topic=\"events\")  # topic must exist server-side","handlingStrategy":"validation","validationCode":"topic = await client.get_topic(stream_name, topic_name)\nif topic is None:\n    raise RuntimeError(f\"Create topic {stream_name}/{topic_name} before consuming\")","typeGuard":null,"tryCatchPattern":"try:\n    await source.start()\nexcept RuntimeError as e:\n    if \"does not exist\" in str(e):\n        await ensure_topic_exists(client, stream_name, topic_name)","preventionTips":["Provision Iggy streams/topics via IaC or startup scripts before app start","Validate names against `iggy topic list` in deployment checks","Keep environment configs (dev/prod) with correct stream/topic names"],"tags":["iggy","topic","not-found","streaming"],"backgroundTag":"entity-not-found","analyzedSha":"e84aa99b3292c5270a4b313b2a7137ad9ce8ab3b","analyzedAt":"2026-09-08T15:59:19.997Z","contentChangedAt":"2026-09-08T15:59:19.997Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}