Skip to content

Commit

Permalink
Merge branch 'release/os/5.3' into merge-release/os/5.2-release/os/5.…
Browse files Browse the repository at this point in the history
…3-2024-04-30-86
  • Loading branch information
ronanbrowne authored May 7, 2024
2 parents dfd7db3 + 4037068 commit eb0fbd5
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -309,12 +309,14 @@ FlowSession initiateFlow(
* stops receiving heartbeat messages from the counterparty within the configurable timeout.
* <p>
* The {@code payload} object should be of a type that is annotated with @CordaSerializable or a primitive type. This
* function cannot handle types that do not meet these criteria.
* function cannot handle types that do not meet these criteria. The maximum payload size that can be sent at once is
* dictated by `session.maxPayloadSize`, and defaults to 100MB.
*
* @param payload the payload to send, which should be either a primitive type or a type annotated with @CordaSerializable.
* Payload size should not exceed the configurable maximum size in bytes (default of 100MB).
* @param sessions the sessions to send the provided payload to.
*
* @throws CordaRuntimeException if any session is closed or in a failed state.
* @throws CordaRuntimeException if any session is closed or in a failed state, or if the payload size exceeds the configured maximum size in bytes.
*/
@Suspendable
void sendAll(@NotNull Object payload, @NotNull Set<FlowSession> sessions);
Expand All @@ -327,12 +329,14 @@ FlowSession initiateFlow(
* stops receiving heartbeat messages from the counterparty within the configurable timeout.
* <p>
* The objects in {@code payloadsPerSession} should be of types that are annotated with @CordaSerializable or be primitive types. This
* function cannot handle types that do not meet these criteria.
* function cannot handle types that do not meet these criteria. The maximum payload size that can be sent at once is
* dictated by `session.maxPayloadSize`, and defaults to 100MB.
*
* @param payloadsPerSession a mapping that contains the payload to be sent to each session.
* The payloads should be either of primitive types or types annotated with @CordaSerializable.
* Payload size should not exceed the configurable maximum size in bytes (default of 100MB).
*
* @throws CordaRuntimeException if any session is closed or in a failed state.
* @throws CordaRuntimeException if any session is closed or in a failed state, or if the payload size exceeds the configured maximum size in bytes.
*/
@Suspendable
void sendAllMap(@NotNull Map<FlowSession, Object> payloadsPerSession);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,17 @@ public interface FlowSession {
* <p>
* Both the {@code payload} object and the {@code receiveType} should be of a type that is annotated
* with @CordaSerializable or a primitive type. This function cannot handle types that do not meet these criteria.
* The maximum payload size that can be sent at once is dictated by `session.maxPayloadSize`, and defaults to 100MB.
*
* @param <R> The data type received from the counterparty.
* @param receiveType The data type received from the counterparty.
* @param payload The data sent to the counterparty, which should be either a primitive type
* or a type annotated with @CordaSerializable.
* or a type annotated with @CordaSerializable. Payload size should not exceed the configurable maximum size in bytes
* (default of 100MB).
*
* @return The received data <R>
*
* @throws CordaRuntimeException if the session is closed or in a failed state.
* @throws CordaRuntimeException if the session is closed or in a failed state, or if the payload size exceeds the configured maximum size in bytes.
*/
@Suspendable
@NotNull
Expand Down Expand Up @@ -116,12 +118,14 @@ public interface FlowSession {
* network's event horizon time.
* <p>
* The {@code payload} object should be of a type that is annotated with @CordaSerializable or a primitive type. This
* function cannot handle types that do not meet these criteria.
* function cannot handle types that do not meet these criteria. The maximum payload size that can be
* sent at once is dictated by `session.maxPayloadSize`, and defaults to 100MB.
*
* @param payload The data sent to the counterparty, which should be either a primitive type
* or a type annotated with @CordaSerializable.
* or a type annotated with @CordaSerializable. Payload size should not exceed the configurable maximum size in bytes
* (default of 100MB).
*
* @throws CordaRuntimeException if the session is closed or in a failed state.
* @throws CordaRuntimeException if the session is closed or in a failed state, or if the payload size exceeds the configured maximum size in bytes.
*/
@Suspendable
void send(@NotNull Object payload);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@
"type": "string",
"doc": "The transaction ID, derived from the root hash of its Merkle tree"
},
{
"name": "startingIndex",
"type": "int",
"doc": "The index to insert the new signatures from"
},
{
"name": "signatures",
"type": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ private FlowConfig() {
public static final String SESSION_TIMEOUT_WINDOW = "session.timeout";
public static final String SESSION_P2P_TTL = "session.p2pTTL";
public static final String SESSION_FLOW_CLEANUP_TIME = "session.cleanupTime";
public static final String SESSION_FLOW_MAX_PAYLOAD = "session.maxPayloadSize";
public static final String PROCESSING_MAX_RETRY_ATTEMPTS = "processing.maxRetryAttempts";
public static final String PROCESSING_MAX_RETRY_WINDOW_DURATION = "processing.maxRetryWindowDuration";
public static final String PROCESSING_MAX_RETRY_DELAY = "processing.maxRetryDelay";
public static final String PROCESSING_MAX_FLOW_SLEEP_DURATION = "processing.maxFlowSleepDuration";
public static final String PROCESSING_FLOW_MAPPER_CLEANUP_TIME = "processing.cleanupTime";
public static final String PROCESSING_MAX_IDLE_TIME = "processing.maxIdleTime";
public static final String PROCESSING_FLOW_FIBER_TIMEOUT = "processing.fiberTimeout";
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@
"maximum": 2147483647,
"default": 600000
},
"fiberTimeout": {
"description": "The length of time in milliseconds before fiber times out. This value must be lower than subscription.processorTimeout.",
"type": "integer",
"minimum": 1000,
"maximum": 2147483647,
"default": 11250
},
"poolSize": {
"description": "The size of the flow event processing pool size.",
"type": "integer",
Expand Down Expand Up @@ -109,6 +116,13 @@
"minimum": 10000,
"maximum": 2147483647,
"default": 600000
},
"maxPayloadSize": {
"description": "The maximum size of a payload in bytes that is allowed to be sent to a counterparty at once.",
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"default": 104857600
}
},
"additionalProperties": false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,18 @@
<column name="transaction_id"/>
</createIndex>

<dropPrimaryKey constraintName="utxo_transaction_signature_pkey"
dropIndex="true"
tableName="utxo_transaction_signature"
/>

<addPrimaryKey columnNames="transaction_id, pub_key_hash"
constraintName="utxo_transaction_signature_pkey"
tableName="utxo_transaction_signature"
/>

<dropColumn columnName="signature_idx" tableName="utxo_transaction_signature"/>

</changeSet>

</databaseChangeLog>
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cordaProductVersion = 5.3.0
# 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 = 12
cordaApiRevision = 13

# Main
kotlin.stdlib.default.dependency = false
Expand Down
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ slf4jVersion = { strictly = "1.7.36" }

# Main implementation dependencies
avroVersion = "1.11.3"
apacheCommonsCodecVersion="1.16.1"
apacheCommonsCodecVersion="1.17.0"
commonsCompressVersion = "1.26.1"
bouncycastleVersion = "1.77"
javaxPersistenceApiVersion = "2.2"
jacksonVersion = "2.17.0"
jacksonVersion = "2.17.1"
osgiVersion = "8.0.0"
osgiAnnotationVersion = "8.1.0"
osgiSvcAnnotationVersion = "1.5.1"
Expand Down

0 comments on commit eb0fbd5

Please sign in to comment.