When uploading to Kinesis Data Streams with StreamManager, uploading happens in batches of 500 instead of immediately, even though batch_size value in ExportDefinition:KinesisConfig is not specified. According to documentation:
batch_size: The maximum size of a batch to send to Kinesis. Messages will be queued until the batch size is reached, after which they will then be uploaded. If unspecified the default will be 1.
Setting batch_size to 1, solves the issue, i.e. data is uploaded as it comes to the stream. Did I misread the documentation or is it a bug?