Skip to content
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

CORE-20867 add a flow retry topic to handle retries of transient RPC calls #1707

Closed
wants to merge 10 commits into from
Prev Previous commit
Next Next commit
CORE-20867 add avro object to track sync request headers
LWogan committed Oct 24, 2024
commit e84724ebd3ace0414d3e8c0dc01286c92dd8df32
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"type": "record",
"name": "RequestHeader",
"namespace": "net.corda.data",
"doc": "Key-value pair of request header. Key is type String and value can be bytes or String.",
"fields": [
{
"name": "key",
"type": "string"
},
{
"name": "value",
"type": ["null", "string", "bytes"]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"type": "record",
"name": "RequestHeaders",
"namespace": "net.corda.data",
"doc": "Avro representation of the RPC Sync Request Headers",
"fields": [
{
"name": "items",
"doc": "List of the headers.",
"type": {
"type": "array",
"items": "RequestHeader"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -13,7 +13,8 @@
"net.corda.data.flow.event.StartFlow",
"net.corda.data.flow.output.FlowStatus",
"net.corda.data.flow.event.SessionEvent",
"net.corda.data.flow.event.external.ExternalEventResponse"
"net.corda.data.flow.event.external.ExternalEventResponse",
"net.corda.data.flow.event.external.ExternalEventRetryRequest"
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"type": "record",
"name": "ExternalEventRetryRequest",
"namespace": "net.corda.data.flow.event.external",
"doc": "This event captures the details of the external event request to allow it to be polled from the bus and retried.",
"fields": [

{
"name": "payload",
"type": ["null", "bytes"],
"doc": "Avro serialized representation of the external event payload"
},
{
"name": "requestHeaders",
"type": "net.corda.data.RequestHeaders",
"doc": "The key/value headers for the sync request."
},
{
"name": "timestamp",
"type": {
"type": "long",
"logicalType": "timestamp-millis"
},
"doc": "Time ([Instant]) in milliseconds when the retry request was (re)created."
}
]
}