-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add AirbyteTraceMessage to Airbyte protocol #12458
Changes from all commits
d90e8be
f6fab4d
5948b31
43f8194
69a732a
1a905d3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,6 +26,7 @@ definitions: | |
- SPEC | ||
- CONNECTION_STATUS | ||
- CATALOG | ||
- TRACE | ||
log: | ||
description: "log message: any kind of logging you want the platform to know about." | ||
"$ref": "#/definitions/AirbyteLogMessage" | ||
|
@@ -43,6 +44,9 @@ definitions: | |
state: | ||
description: "schema message: the state. Must be the last message produced. The platform uses this information" | ||
"$ref": "#/definitions/AirbyteStateMessage" | ||
trace: | ||
description: "trace message: a message to communicate information about the status and performance of a connector" | ||
"$ref": "#/definitions/AirbyteTraceMessage" | ||
AirbyteRecordMessage: | ||
type: object | ||
additionalProperties: true | ||
|
@@ -94,6 +98,45 @@ definitions: | |
message: | ||
description: "the log message" | ||
type: string | ||
AirbyteTraceMessage: | ||
type: object | ||
additionalProperties: true | ||
required: | ||
- type | ||
- emitted_at | ||
properties: | ||
type: | ||
description: "the type of trace message" | ||
type: string | ||
enum: | ||
- ERROR | ||
emitted_at: | ||
description: "the time in ms that the message was emitted" | ||
type: number | ||
error: | ||
description: "error trace message: the error object" | ||
"$ref": "#/definitions/AirbyteErrorTraceMessage" | ||
AirbyteErrorTraceMessage: | ||
type: object | ||
additionalProperties: true | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍 on cc @pedroslopez There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. recap from discussion on the doc: this will not be the case - No further properties are expected to be included in |
||
required: | ||
- message | ||
properties: | ||
message: | ||
description: A user-friendly message that indicates the cause of the error | ||
type: string | ||
internal_message: | ||
description: The internal error that caused the failure | ||
type: string | ||
stack_trace: | ||
description: The full stack trace of the error | ||
type: string | ||
failure_type: | ||
description: The type of error | ||
type: string | ||
enum: | ||
- system_error | ||
- config_error | ||
AirbyteConnectionStatus: | ||
description: Airbyte connection status | ||
type: object | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was going to leave a comment here suggesting that we use the json schema
oneOf
to implement the different types here instead of having atype
property, and a separate property for each trace message type. However, I found this comment in our code base which indicates that jsonschema2pojo does not supportoneOf
. Since we use that to generate pojos for our platform, this means we can't use that here, so we'll have to stick with thistype
enum approach.