Skip to content

Alternator Streams: minor incompatibilities in GetRecords response fields #6931

@nyh

Description

@nyh

This issue is about minor differences between the fields that Alternator puts in the response of the GetRecords operations - and what DynamoDB returns. All of these differences seem to me minor - perhaps even completely unimportant - but I wanted to explicitly list these differences somewhere (in this issue), and wanted to make a conscious decision whether we believe that those differences will never matter. If that is the case, we can close this issue. If it's not the case, we should fix some or all of these differences.

The differences:

  1. DynamoDB always sets eventSource to the string aws:dynamodb. We decided to write a different string - scylladb:alternator. This probably makes sense. That is, unless applications may be written to look for that aws:dynamodb value?
  2. DynamoDB always sets the awsRegion field, we don't set it. I'm worried there may be clients that fail their parsing if this field is missing, even if they don't care about it. Boto3 is perfectly fine with this and other fields being missing in responses, but maybe other clients are not. We could set awsRegion to Scylla, or perhaps even use the current DC's name (which is analogous to DynamoDB's concept of region).
  3. DynamoDB sets the eventVersion field to the string 1.1. Alternator keeps it unset. Again, could there be clients that fail parsing if this is missing?
  4. DynamoDB sets a SizeBytes subfield inside the dynamodb field. Alternator doesn't. I don't know what clients might use this field for, and what happens if it's missing.

CC @elcallio

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions