Skip to content

Best Practice Target Capability: Data Type Failsafe #20

@aaronsteers

Description

@aaronsteers

We've run into many, many cases where a specific target receives a JSON schema type that it doesn't expect and then immediately terminates the entire stream.

Rather than failing the sync entirely, we'd like to propose a best practice of always having a failsafe data type which handles two common scenarios:

  1. A catch for parsing exceptions when reading the json schema type. For instance, a $ref or missing properties can cause KeyError during type evaluation. These should be caught and handled with a default type - such as string.
  2. A final else statement at the end of all known cases. Similarly as with the above, if all known cases are evaluated and we've received a type we don't recognize, we should again default to string of similar so that the node's data can still be serialized without terminating the sync.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions