diff --git a/data/avro-schema/src/main/resources/avro/net/corda/data/flow/event/FlowEvent.avsc b/data/avro-schema/src/main/resources/avro/net/corda/data/flow/event/FlowEvent.avsc index 53b7fcb9b1..3ccff118ea 100644 --- a/data/avro-schema/src/main/resources/avro/net/corda/data/flow/event/FlowEvent.avsc +++ b/data/avro-schema/src/main/resources/avro/net/corda/data/flow/event/FlowEvent.avsc @@ -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" ] } ] diff --git a/data/avro-schema/src/main/resources/avro/net/corda/data/flow/event/external/ExternalEventRetryRequest.avsc b/data/avro-schema/src/main/resources/avro/net/corda/data/flow/event/external/ExternalEventRetryRequest.avsc new file mode 100644 index 0000000000..05fe29f034 --- /dev/null +++ b/data/avro-schema/src/main/resources/avro/net/corda/data/flow/event/external/ExternalEventRetryRequest.avsc @@ -0,0 +1,21 @@ +{ + "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": "requestId", + "type": "string", + "doc": "The requestId of the external event request to retry." + }, + { + "name": "timestamp", + "type": { + "type": "long", + "logicalType": "timestamp-millis" + }, + "doc": "Time ([Instant]) in milliseconds when the request was created. Ensures each request is unique for replay logic." + } + ] +} diff --git a/data/config-schema/src/main/java/net/corda/schema/configuration/MessagingConfig.java b/data/config-schema/src/main/java/net/corda/schema/configuration/MessagingConfig.java index c850ec22c2..17158ea396 100644 --- a/data/config-schema/src/main/java/net/corda/schema/configuration/MessagingConfig.java +++ b/data/config-schema/src/main/java/net/corda/schema/configuration/MessagingConfig.java @@ -25,6 +25,7 @@ private Bus() { public static final String KAFKA_BOOTSTRAP_SERVERS = KAFKA_PROPERTIES_COMMON + ".bootstrap.servers"; public static final String KAFKA_PROPERTIES_CONSUMER = KAFKA_PROPERTIES + ".consumer"; public static final String KAFKA_CONSUMER_MAX_POLL_INTERVAL = KAFKA_PROPERTIES_CONSUMER + ".max.poll.interval.ms"; + public static final String KAFKA_CONSUMER_MAX_POLL_RECORDS = KAFKA_PROPERTIES_CONSUMER + ".max.poll.records"; public static final String KAFKA_PROPERTIES_PRODUCER = KAFKA_PROPERTIES + ".producer"; public static final String KAFKA_PRODUCER_CLIENT_ID = KAFKA_PROPERTIES_PRODUCER + ".client.id"; diff --git a/data/config-schema/src/main/resources/net/corda/schema/configuration/flow/1.0/corda.flow.json b/data/config-schema/src/main/resources/net/corda/schema/configuration/flow/1.0/corda.flow.json index 3ceeb8dbfb..ec206525c7 100644 --- a/data/config-schema/src/main/resources/net/corda/schema/configuration/flow/1.0/corda.flow.json +++ b/data/config-schema/src/main/resources/net/corda/schema/configuration/flow/1.0/corda.flow.json @@ -126,7 +126,7 @@ "default": 60000 }, "maxRetries": { - "description": "The maximum number of times Corda retries a request before returning an exception.", + "description": "The maximum number of times Corda retries a request before returning an exception for error cases other than transient errors. Transient errors will be retied until flows are cleaned up when the maxIdleTime expires.", "type": "integer", "minimum": 0, "maximum": 2147483647, diff --git a/data/topic-schema/src/main/resources/net/corda/schema/Flow.yaml b/data/topic-schema/src/main/resources/net/corda/schema/Flow.yaml index fc47fff16a..3fc8b9f8c0 100644 --- a/data/topic-schema/src/main/resources/net/corda/schema/Flow.yaml +++ b/data/topic-schema/src/main/resources/net/corda/schema/Flow.yaml @@ -89,4 +89,3 @@ topics: producers: - flow config: - diff --git a/gradle.properties b/gradle.properties index 2f92d360fc..5adb08edc5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ cordaProductVersion = 5.2.1 # NOTE: update this each time this module contains a breaking change ## NOTE: currently this is a top level revision, so all API versions will line up, but this could be moved to ## a per module property in which case module versions can change independently. -cordaApiRevision = 53 +cordaApiRevision = 54 # Main kotlin.stdlib.default.dependency = false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ea43820d35..bfdb89d3a8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ kotlinVersion = "1.8.21" slf4jVersion = { strictly = "1.7.36" } # Main implementation dependencies -avroVersion = "1.11.3" +avroVersion = "1.11.4" apacheCommonsCodecVersion="1.16.1" commonsCompressVersion = "1.26.0" bouncycastleVersion = "1.77"