aws / aws/aws-greengrass-core-sdk-python

StreamManager KeyError

Open
#15 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
55
Forks
39
PR merge metrics
No merged PRs in 30d

Description

```
ERROR:StreamManagerClient:Unhandled exception occurred
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/greengrasssdk/stream_manager/streammanagerclient.py", line 201, in __read_loop
await self.__handle_read_response(payload, response)
File "/usr/local/lib/python3.8/site-packages/greengrasssdk/stream_manager/streammanagerclient.py", line 226, in __handle_read_response
await self.__requests[response.request_id].put(response)
KeyError: '3e299203-e8a6-4341-ac86-e1db7eae1636'
{"message": "Unhandled exception occurred", "exc_info": "Traceback (most recent call last):\n File \"/usr/local/lib/python3.8/site-packages/greengrasssdk/stream_manager/streammanagerclient.py\", line 201, in __read_loop\n await self.__handle_read_response(payload, response)\n File \"/usr/local/lib/python3.8/site-packages/greengrasssdk/stream_manager/streammanagerclient.py\", line 226, in __handle_read_response\n await self.__requests[response.request_id].put(response)\nKeyError: '3e299203-e8a6-4341-ac86-e1db7eae1636'"}
ERROR:root:error writing data to stream manager
{"message": "error writing data to stream manager"}
```
**Current Setup:**
Streaming a small amount of IOT sensor data(250 events a minute) through StreamManager for extended periods of time.

The stack ran in a healthy state for around 18 hours after which all events to Kinesis stopped when we saw this error in the logs. A restart of the component containing the stream manager client did not fix the problem. A full restart of greengrass with systemd fixed it and events were again flowing all the way to Kinesis.

How do we handle this issue? Appreciate any help on this.

**Stream Manager Client Config**

```
exports = ExportDefinition(kinesis=[KinesisConfig(identifier="KinesisExport" + self.stream_name, kinesis_stream_name=kinesis_stream_name, batch_size=250)] )

MessageStreamDefinition(name=self.stream_name, strategy_on_full=StrategyOnFull.OverwriteOldestData, persistence=Persistence.File, flush_on_write=True, export_definition=exports)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.