mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
Rename Completion.deduplication_time to deduplication_duration [KVL-1057] (#10900)
* Rename Completion.deduplication_time to deduplication_duration CHANGELOG_BEGIN CHANGELOG_END * Breaking protobuf change: regenerate `buf` image Breaking-Proto: true * Re-compute sha256s of migrations * Fix expected error message Co-authored-by: Fabio Tudone <fabio.tudone@digitalasset.com>
This commit is contained in:
parent
8e22bb6b2d
commit
8a391189a6
Binary file not shown.
@ -69,6 +69,6 @@ message Completion {
|
||||
// It is measured in record time of completions.
|
||||
//
|
||||
// Must be non-negative.
|
||||
google.protobuf.Duration deduplication_time = 9;
|
||||
google.protobuf.Duration deduplication_duration = 9;
|
||||
}
|
||||
}
|
||||
|
@ -146,7 +146,7 @@ trait FieldValidations {
|
||||
val result = Duration.ofSeconds(duration.seconds, duration.nanos.toLong)
|
||||
validateDuration(
|
||||
result,
|
||||
s"The given deduplication time of $result exceeds the maximum deduplication time of $maxDeduplicationDuration",
|
||||
s"The given deduplication duration of $result exceeds the maximum deduplication time of $maxDeduplicationDuration",
|
||||
).map(DeduplicationPeriod.DeduplicationDuration)
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,7 @@ class SubmitRequestValidatorTest
|
||||
val label = "label"
|
||||
val constructor = "constructor"
|
||||
val submitter = "party"
|
||||
val deduplicationTime = new Duration().withSeconds(10)
|
||||
val deduplicationDuration = new Duration().withSeconds(10)
|
||||
val command = Command.of(
|
||||
Command.Command.Create(
|
||||
CreateCommand.of(
|
||||
@ -62,7 +62,7 @@ class SubmitRequestValidatorTest
|
||||
commandId = commandId.unwrap,
|
||||
party = submitter,
|
||||
commands = Seq(command),
|
||||
deduplicationPeriod = DeduplicationPeriodProto.DeduplicationTime(deduplicationTime),
|
||||
deduplicationPeriod = DeduplicationPeriodProto.DeduplicationTime(deduplicationDuration),
|
||||
minLedgerTimeAbs = None,
|
||||
minLedgerTimeRel = None,
|
||||
)
|
||||
@ -74,8 +74,8 @@ class SubmitRequestValidatorTest
|
||||
val timeDelta = java.time.Duration.ofSeconds(1)
|
||||
val maxDeduplicationDuration = java.time.Duration.ofDays(1)
|
||||
val deduplicationDuration = java.time.Duration.ofSeconds(
|
||||
api.deduplicationTime.seconds,
|
||||
api.deduplicationTime.nanos.toLong,
|
||||
api.deduplicationDuration.seconds,
|
||||
api.deduplicationDuration.nanos.toLong,
|
||||
)
|
||||
|
||||
val emptyCommands = ApiCommands(
|
||||
@ -335,7 +335,7 @@ class SubmitRequestValidatorTest
|
||||
}
|
||||
}
|
||||
|
||||
"not allow negative deduplication time" in {
|
||||
"not allow negative deduplication duration" in {
|
||||
forAll(
|
||||
Table(
|
||||
"deduplication period",
|
||||
@ -357,7 +357,7 @@ class SubmitRequestValidatorTest
|
||||
}
|
||||
}
|
||||
|
||||
"not allow deduplication time exceeding maximum deduplication time" in {
|
||||
"not allow deduplication time exceeding maximum deduplication duration" in {
|
||||
val durationSecondsExceedingMax =
|
||||
internal.maxDeduplicationDuration.plusSeconds(1).getSeconds
|
||||
forAll(
|
||||
@ -379,7 +379,7 @@ class SubmitRequestValidatorTest
|
||||
Some(internal.maxDeduplicationDuration),
|
||||
),
|
||||
INVALID_ARGUMENT,
|
||||
s"Invalid field deduplication_period: The given deduplication time of ${java.time.Duration
|
||||
s"Invalid field deduplication_period: The given deduplication duration of ${java.time.Duration
|
||||
.ofSeconds(durationSecondsExceedingMax)} exceeds the maximum deduplication time of ${internal.maxDeduplicationDuration}",
|
||||
)
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ private[testtool] abstract class CommandDeduplicationBase(
|
||||
|
||||
testGivenAllParticipants(
|
||||
s"${testNamingPrefix}SimpleDeduplicationBasic",
|
||||
"Deduplicate commands within the deduplication time window",
|
||||
"Deduplicate commands within the deduplication duration window",
|
||||
allocate(SingleParty),
|
||||
runConcurrently = false,
|
||||
)(implicit ec =>
|
||||
|
@ -79,7 +79,7 @@ abstract class KVCommandDeduplicationBase(
|
||||
// The [[Completion.deduplicationPeriod]] is set only for append-only ledgers
|
||||
if (deduplicationFeatures.appendOnlySchema) {
|
||||
val expectedCompletionDeduplicationPeriod =
|
||||
Completion.DeduplicationPeriod.DeduplicationTime(
|
||||
Completion.DeduplicationPeriod.DeduplicationDuration(
|
||||
maxDeduplicationDuration.asProtobuf
|
||||
)
|
||||
assert(
|
||||
|
@ -1 +1 @@
|
||||
b91197c8bc9b1942ad70fcae54aa8b9ca1b0bf380e46b08c038a9bf3764fbc35
|
||||
86ded6839752d76bb3e3e6cde7f4ec103dea6cee6382b6695de95e84dd74d2da
|
||||
|
@ -120,8 +120,8 @@ CREATE TABLE participant_command_completions (
|
||||
-- 2. a duration (split into two columns, seconds and nanos, mapping protobuf's 1:1)
|
||||
-- 3. an initial timestamp
|
||||
deduplication_offset VARCHAR,
|
||||
deduplication_time_seconds BIGINT,
|
||||
deduplication_time_nanos INT,
|
||||
deduplication_duration_seconds BIGINT,
|
||||
deduplication_duration_nanos INT,
|
||||
deduplication_start BIGINT,
|
||||
-- The three columns below are `NULL` if the completion is for an accepted transaction.
|
||||
-- The `rejection_status_details` column contains a Protocol-Buffers-serialized message of type
|
||||
|
@ -1 +1 @@
|
||||
1d1d77ce01814bbfabe592ef224193b05743fc6d1459b487fcc7fc527110b2c9
|
||||
fe940b22140c0a1da0a3e54c0087c8872828e4cb08bdcc30bbaa1db84f98b62b
|
||||
|
@ -124,8 +124,8 @@ CREATE TABLE participant_command_completions
|
||||
-- 2. a duration (split into two columns, seconds and nanos, mapping protobuf's 1:1)
|
||||
-- 3. an initial timestamp
|
||||
deduplication_offset VARCHAR2(4000),
|
||||
deduplication_time_seconds NUMBER,
|
||||
deduplication_time_nanos NUMBER,
|
||||
deduplication_duration_seconds NUMBER,
|
||||
deduplication_duration_nanos NUMBER,
|
||||
deduplication_start NUMBER,
|
||||
|
||||
submitters CLOB NOT NULL CONSTRAINT ensure_json_submitters CHECK (submitters IS JSON),
|
||||
|
@ -1 +1 @@
|
||||
281330bf9e361ecf12a2160c93ba3ce006a5a40564b6e5cf987b3ead71009ddb
|
||||
0b505bc0df2ffb4815a252f470ff820328c32fec4fdab46921c07674af852740
|
||||
|
@ -15,6 +15,6 @@ ALTER TABLE participant_command_completions
|
||||
-- 2. an initial timestamp
|
||||
-- 3. a duration (split into two columns, seconds and nanos, mapping protobuf's 1:1)
|
||||
ADD COLUMN deduplication_offset text,
|
||||
ADD COLUMN deduplication_time_seconds bigint,
|
||||
ADD COLUMN deduplication_time_nanos integer,
|
||||
ADD COLUMN deduplication_duration_seconds bigint,
|
||||
ADD COLUMN deduplication_duration_nanos integer,
|
||||
ADD COLUMN deduplication_start timestamp;
|
||||
|
@ -30,8 +30,8 @@ private[platform] object CompletionFromTransaction {
|
||||
applicationId: String,
|
||||
maybeSubmissionId: Option[String] = None,
|
||||
maybeDeduplicationOffset: Option[String] = None,
|
||||
maybeDeduplicationTimeSeconds: Option[Long] = None,
|
||||
maybeDeduplicationTimeNanos: Option[Int] = None,
|
||||
maybeDeduplicationDurationSeconds: Option[Long] = None,
|
||||
maybeDeduplicationDurationNanos: Option[Int] = None,
|
||||
): CompletionStreamResponse =
|
||||
CompletionStreamResponse.of(
|
||||
checkpoint = Some(toApiCheckpoint(recordTime, offset)),
|
||||
@ -43,8 +43,8 @@ private[platform] object CompletionFromTransaction {
|
||||
maybeStatus = Some(OkStatus),
|
||||
maybeSubmissionId = maybeSubmissionId,
|
||||
maybeDeduplicationOffset = maybeDeduplicationOffset,
|
||||
maybeDeduplicationTimeSeconds = maybeDeduplicationTimeSeconds,
|
||||
maybeDeduplicationTimeNanos = maybeDeduplicationTimeNanos,
|
||||
maybeDeduplicationDurationSeconds = maybeDeduplicationDurationSeconds,
|
||||
maybeDeduplicationDurationNanos = maybeDeduplicationDurationNanos,
|
||||
)
|
||||
),
|
||||
)
|
||||
@ -57,8 +57,8 @@ private[platform] object CompletionFromTransaction {
|
||||
applicationId: String,
|
||||
maybeSubmissionId: Option[String] = None,
|
||||
maybeDeduplicationOffset: Option[String] = None,
|
||||
maybeDeduplicationTimeSeconds: Option[Long] = None,
|
||||
maybeDeduplicationTimeNanos: Option[Int] = None,
|
||||
maybeDeduplicationDurationSeconds: Option[Long] = None,
|
||||
maybeDeduplicationDurationNanos: Option[Int] = None,
|
||||
): CompletionStreamResponse =
|
||||
CompletionStreamResponse.of(
|
||||
checkpoint = Some(toApiCheckpoint(recordTime, offset)),
|
||||
@ -70,8 +70,8 @@ private[platform] object CompletionFromTransaction {
|
||||
maybeStatus = Some(status),
|
||||
maybeSubmissionId = maybeSubmissionId,
|
||||
maybeDeduplicationOffset = maybeDeduplicationOffset,
|
||||
maybeDeduplicationTimeSeconds = maybeDeduplicationTimeSeconds,
|
||||
maybeDeduplicationTimeNanos = maybeDeduplicationTimeNanos,
|
||||
maybeDeduplicationDurationSeconds = maybeDeduplicationDurationSeconds,
|
||||
maybeDeduplicationDurationNanos = maybeDeduplicationDurationNanos,
|
||||
)
|
||||
),
|
||||
)
|
||||
@ -89,8 +89,8 @@ private[platform] object CompletionFromTransaction {
|
||||
maybeStatus: Option[StatusProto],
|
||||
maybeSubmissionId: Option[String],
|
||||
maybeDeduplicationOffset: Option[String],
|
||||
maybeDeduplicationTimeSeconds: Option[Long],
|
||||
maybeDeduplicationTimeNanos: Option[Int],
|
||||
maybeDeduplicationDurationSeconds: Option[Long],
|
||||
maybeDeduplicationDurationNanos: Option[Int],
|
||||
): Completion = {
|
||||
val completionWithMandatoryFields = Completion(
|
||||
commandId = commandId,
|
||||
@ -100,8 +100,8 @@ private[platform] object CompletionFromTransaction {
|
||||
)
|
||||
val maybeDeduplicationPeriod = toApiDeduplicationPeriod(
|
||||
maybeDeduplicationOffset = maybeDeduplicationOffset,
|
||||
maybeDeduplicationTimeSeconds = maybeDeduplicationTimeSeconds,
|
||||
maybeDeduplicationTimeNanos = maybeDeduplicationTimeNanos,
|
||||
maybeDeduplicationDurationSeconds = maybeDeduplicationDurationSeconds,
|
||||
maybeDeduplicationDurationNanos = maybeDeduplicationDurationNanos,
|
||||
)
|
||||
(maybeSubmissionId, maybeDeduplicationPeriod) match {
|
||||
case (Some(submissionId), Some(deduplicationPeriod)) =>
|
||||
@ -124,27 +124,30 @@ private[platform] object CompletionFromTransaction {
|
||||
|
||||
private def toApiDeduplicationPeriod(
|
||||
maybeDeduplicationOffset: Option[String],
|
||||
maybeDeduplicationTimeSeconds: Option[Long],
|
||||
maybeDeduplicationTimeNanos: Option[Int],
|
||||
maybeDeduplicationDurationSeconds: Option[Long],
|
||||
maybeDeduplicationDurationNanos: Option[Int],
|
||||
): Option[Completion.DeduplicationPeriod] =
|
||||
// The only invariant that should hold, considering legacy data, is that either
|
||||
// the deduplication time seconds and nanos are both populated, or neither is.
|
||||
(maybeDeduplicationOffset, (maybeDeduplicationTimeSeconds, maybeDeduplicationTimeNanos)) match {
|
||||
// the deduplication duration seconds and nanos are both populated, or neither is.
|
||||
(
|
||||
maybeDeduplicationOffset,
|
||||
(maybeDeduplicationDurationSeconds, maybeDeduplicationDurationNanos),
|
||||
) match {
|
||||
case (None, (None, None)) => None
|
||||
case (Some(offset), _) =>
|
||||
Some(Completion.DeduplicationPeriod.DeduplicationOffset(offset))
|
||||
case (_, (Some(deduplicationTimeSeconds), Some(deduplicationTimeNanos))) =>
|
||||
case (_, (Some(deduplicationDurationSeconds), Some(deduplicationDurationNanos))) =>
|
||||
Some(
|
||||
Completion.DeduplicationPeriod.DeduplicationTime(
|
||||
Completion.DeduplicationPeriod.DeduplicationDuration(
|
||||
new Duration(
|
||||
seconds = deduplicationTimeSeconds,
|
||||
nanos = deduplicationTimeNanos,
|
||||
seconds = deduplicationDurationSeconds,
|
||||
nanos = deduplicationDurationNanos,
|
||||
)
|
||||
)
|
||||
)
|
||||
case _ =>
|
||||
throw new IllegalArgumentException(
|
||||
"One of deduplication time seconds and nanos has been provided " +
|
||||
"One of deduplication duration seconds and nanos has been provided " +
|
||||
"but they must be either both provided or both absent"
|
||||
)
|
||||
}
|
||||
|
@ -128,8 +128,8 @@ object DbDto {
|
||||
rejection_status_details: Option[Array[Byte]],
|
||||
submission_id: Option[String],
|
||||
deduplication_offset: Option[String],
|
||||
deduplication_time_seconds: Option[Long],
|
||||
deduplication_time_nanos: Option[Int],
|
||||
deduplication_duration_seconds: Option[Long],
|
||||
deduplication_duration_nanos: Option[Int],
|
||||
deduplication_start: Option[Long],
|
||||
) extends DbDto
|
||||
|
||||
|
@ -268,7 +268,7 @@ object UpdateToDbDto {
|
||||
transactionId: Option[Ref.TransactionId],
|
||||
completionInfo: CompletionInfo,
|
||||
): DbDto.CommandCompletion = {
|
||||
val (deduplicationOffset, deduplicationTimeSeconds, deduplicationTimeNanos) =
|
||||
val (deduplicationOffset, deduplicationDurationSeconds, deduplicationDurationNanos) =
|
||||
completionInfo.optDeduplicationPeriod
|
||||
.map {
|
||||
case DeduplicationOffset(offset) =>
|
||||
@ -290,8 +290,8 @@ object UpdateToDbDto {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = deduplicationOffset,
|
||||
deduplication_time_seconds = deduplicationTimeSeconds,
|
||||
deduplication_time_nanos = deduplicationTimeNanos,
|
||||
deduplication_duration_seconds = deduplicationDurationSeconds,
|
||||
deduplication_duration_nanos = deduplicationDurationNanos,
|
||||
deduplication_start = None,
|
||||
)
|
||||
}
|
||||
|
@ -45,8 +45,8 @@ trait CompletionStorageBackendTemplate extends CompletionStorageBackend {
|
||||
application_id,
|
||||
submission_id,
|
||||
deduplication_offset,
|
||||
deduplication_time_seconds,
|
||||
deduplication_time_nanos,
|
||||
deduplication_duration_seconds,
|
||||
deduplication_duration_nanos,
|
||||
deduplication_start
|
||||
FROM
|
||||
participant_command_completions
|
||||
@ -73,9 +73,9 @@ trait CompletionStorageBackendTemplate extends CompletionStorageBackend {
|
||||
private val deduplicationOffsetColumn: RowParser[Option[String]] =
|
||||
str("deduplication_offset").?
|
||||
private val deduplicationTimeSecondsColumn: RowParser[Option[Long]] =
|
||||
long("deduplication_time_seconds").?
|
||||
long("deduplication_duration_seconds").?
|
||||
private val deduplicationTimeNanosColumn: RowParser[Option[Int]] =
|
||||
int("deduplication_time_nanos").?
|
||||
int("deduplication_duration_nanos").?
|
||||
private val deduplicationStartColumn: RowParser[Option[Instant]] =
|
||||
instantFromMicros("deduplication_start").?
|
||||
|
||||
@ -94,8 +94,8 @@ trait CompletionStorageBackendTemplate extends CompletionStorageBackend {
|
||||
applicationId = applicationId,
|
||||
maybeSubmissionId = submissionId,
|
||||
maybeDeduplicationOffset = deduplicationOffset,
|
||||
maybeDeduplicationTimeSeconds = deduplicationTimeSeconds,
|
||||
maybeDeduplicationTimeNanos = deduplicationTimeNanos,
|
||||
maybeDeduplicationDurationSeconds = deduplicationTimeSeconds,
|
||||
maybeDeduplicationDurationNanos = deduplicationTimeNanos,
|
||||
)
|
||||
}
|
||||
|
||||
@ -125,8 +125,8 @@ trait CompletionStorageBackendTemplate extends CompletionStorageBackend {
|
||||
applicationId = applicationId,
|
||||
maybeSubmissionId = submissionId,
|
||||
maybeDeduplicationOffset = deduplicationOffset,
|
||||
maybeDeduplicationTimeSeconds = deduplicationTimeSeconds,
|
||||
maybeDeduplicationTimeNanos = deduplicationTimeNanos,
|
||||
maybeDeduplicationDurationSeconds = deduplicationTimeSeconds,
|
||||
maybeDeduplicationDurationNanos = deduplicationTimeNanos,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -215,8 +215,10 @@ private[backend] object AppendOnlySchema {
|
||||
"rejection_status_details" -> fieldStrategy.byteaOptional(_.rejection_status_details),
|
||||
"submission_id" -> fieldStrategy.stringOptional(_.submission_id),
|
||||
"deduplication_offset" -> fieldStrategy.stringOptional(_.deduplication_offset),
|
||||
"deduplication_time_seconds" -> fieldStrategy.bigintOptional(_.deduplication_time_seconds),
|
||||
"deduplication_time_nanos" -> fieldStrategy.intOptional(_.deduplication_time_nanos),
|
||||
"deduplication_duration_seconds" -> fieldStrategy.bigintOptional(
|
||||
_.deduplication_duration_seconds
|
||||
),
|
||||
"deduplication_duration_nanos" -> fieldStrategy.intOptional(_.deduplication_duration_nanos),
|
||||
"deduplication_start" -> fieldStrategy.bigintOptional(_.deduplication_start),
|
||||
)
|
||||
|
||||
|
@ -217,8 +217,8 @@ private[backend] object StorageBackendTestValues {
|
||||
applicationId: String = someApplicationId,
|
||||
submissionId: Option[String] = Some(UUID.randomUUID().toString),
|
||||
deduplicationOffset: Option[String] = None,
|
||||
deduplicationTimeSeconds: Option[Long] = None,
|
||||
deduplicationTimeNanos: Option[Int] = None,
|
||||
deduplicationDurationSeconds: Option[Long] = None,
|
||||
deduplicationDurationNanos: Option[Int] = None,
|
||||
deduplicationStart: Option[Timestamp] = None,
|
||||
): DbDto.CommandCompletion =
|
||||
DbDto.CommandCompletion(
|
||||
@ -233,8 +233,8 @@ private[backend] object StorageBackendTestValues {
|
||||
rejection_status_details = None,
|
||||
submission_id = submissionId,
|
||||
deduplication_offset = deduplicationOffset,
|
||||
deduplication_time_seconds = deduplicationTimeSeconds,
|
||||
deduplication_time_nanos = deduplicationTimeNanos,
|
||||
deduplication_duration_seconds = deduplicationDurationSeconds,
|
||||
deduplication_duration_nanos = deduplicationDurationNanos,
|
||||
deduplication_start = deduplicationStart.map(_.micros),
|
||||
)
|
||||
|
||||
|
@ -149,14 +149,14 @@ private[backend] trait StorageBackendTestsCompletions
|
||||
dtoCompletion(
|
||||
offset(2),
|
||||
submitter = party,
|
||||
deduplicationTimeSeconds = Some(seconds),
|
||||
deduplicationTimeNanos = Some(nanos),
|
||||
deduplicationDurationSeconds = Some(seconds),
|
||||
deduplicationDurationNanos = Some(nanos),
|
||||
),
|
||||
dtoCompletion(
|
||||
offset(3),
|
||||
submitter = party,
|
||||
deduplicationTimeSeconds = None,
|
||||
deduplicationTimeNanos = None,
|
||||
deduplicationDurationSeconds = None,
|
||||
deduplicationDurationNanos = None,
|
||||
),
|
||||
)
|
||||
|
||||
@ -172,11 +172,11 @@ private[backend] trait StorageBackendTestsCompletions
|
||||
val List(completionWithDeduplicationOffset, completionWithoutDeduplicationOffset) =
|
||||
completions
|
||||
completionWithDeduplicationOffset.completions should have length 1
|
||||
completionWithDeduplicationOffset.completions.head.deduplicationPeriod.deduplicationTime should be(
|
||||
completionWithDeduplicationOffset.completions.head.deduplicationPeriod.deduplicationDuration should be(
|
||||
Some(expectedDuration)
|
||||
)
|
||||
completionWithoutDeduplicationOffset.completions should have length 1
|
||||
completionWithoutDeduplicationOffset.completions.head.deduplicationPeriod.deduplicationTime should not be defined
|
||||
completionWithoutDeduplicationOffset.completions.head.deduplicationPeriod.deduplicationDuration should not be defined
|
||||
}
|
||||
}
|
||||
|
||||
@ -186,7 +186,7 @@ private[backend] trait StorageBackendTestsCompletions
|
||||
val nanos = 10
|
||||
|
||||
val expectedErrorMessage =
|
||||
"One of deduplication time seconds and nanos has been provided " +
|
||||
"One of deduplication duration seconds and nanos has been provided " +
|
||||
"but they must be either both provided or both absent"
|
||||
|
||||
val dtos1 = Vector(
|
||||
@ -194,8 +194,8 @@ private[backend] trait StorageBackendTestsCompletions
|
||||
dtoCompletion(
|
||||
offset(2),
|
||||
submitter = party,
|
||||
deduplicationTimeSeconds = Some(seconds),
|
||||
deduplicationTimeNanos = None,
|
||||
deduplicationDurationSeconds = Some(seconds),
|
||||
deduplicationDurationNanos = None,
|
||||
),
|
||||
)
|
||||
|
||||
@ -215,8 +215,8 @@ private[backend] trait StorageBackendTestsCompletions
|
||||
dtoCompletion(
|
||||
offset(3),
|
||||
submitter = party,
|
||||
deduplicationTimeSeconds = None,
|
||||
deduplicationTimeNanos = Some(nanos),
|
||||
deduplicationDurationSeconds = None,
|
||||
deduplicationDurationNanos = Some(nanos),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -265,8 +265,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = Some(StatusDetails.of(status.details).toByteArray),
|
||||
submission_id = Some(someSubmissionId),
|
||||
deduplication_offset = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
DbDto.CommandDeduplication(
|
||||
@ -342,8 +342,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = Some(someSubmissionId),
|
||||
deduplication_offset = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -415,8 +415,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -500,8 +500,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -585,8 +585,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -753,8 +753,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -855,8 +855,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -981,8 +981,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -1084,8 +1084,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -1164,8 +1164,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = completionInfo.submissionId,
|
||||
deduplication_offset = None,
|
||||
deduplication_time_nanos = None,
|
||||
deduplication_time_seconds = None,
|
||||
deduplication_duration_nanos = None,
|
||||
deduplication_duration_seconds = None,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
@ -1231,8 +1231,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
(
|
||||
"Deduplication period",
|
||||
"Expected deduplication offset",
|
||||
"Expected deduplication time seconds",
|
||||
"Expected deduplication time nanos",
|
||||
"Expected deduplication duration seconds",
|
||||
"Expected deduplication duration nanos",
|
||||
),
|
||||
(None, None, None, None),
|
||||
(
|
||||
@ -1255,8 +1255,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
case (
|
||||
deduplicationPeriod,
|
||||
expectedDeduplicationOffset,
|
||||
expectedDeduplicationTimeSeconds,
|
||||
expectedDeduplicationTimeNanos,
|
||||
expectedDeduplicationDurationSeconds,
|
||||
expectedDeduplicationDurationNanos,
|
||||
) =>
|
||||
val completionInfo = someCompletionInfo.copy(optDeduplicationPeriod = deduplicationPeriod)
|
||||
val update = state.Update.CommandRejected(
|
||||
@ -1281,8 +1281,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = Some(StatusDetails.of(status.details).toByteArray),
|
||||
submission_id = Some(someSubmissionId),
|
||||
deduplication_offset = expectedDeduplicationOffset,
|
||||
deduplication_time_seconds = expectedDeduplicationTimeSeconds,
|
||||
deduplication_time_nanos = expectedDeduplicationTimeNanos,
|
||||
deduplication_duration_seconds = expectedDeduplicationDurationSeconds,
|
||||
deduplication_duration_nanos = expectedDeduplicationDurationNanos,
|
||||
deduplication_start = None,
|
||||
),
|
||||
DbDto.CommandDeduplication(
|
||||
@ -1313,8 +1313,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
case (
|
||||
deduplicationPeriod,
|
||||
expectedDeduplicationOffset,
|
||||
expectedDeduplicationTimeSeconds,
|
||||
expectedDeduplicationTimeNanos,
|
||||
expectedDeduplicationDurationSeconds,
|
||||
expectedDeduplicationDurationNanos,
|
||||
) =>
|
||||
val completionInfo = someCompletionInfo.copy(optDeduplicationPeriod = deduplicationPeriod)
|
||||
val update = state.Update.TransactionAccepted(
|
||||
@ -1367,8 +1367,8 @@ class UpdateToDbDtoSpec extends AnyWordSpec with Matchers {
|
||||
rejection_status_details = None,
|
||||
submission_id = Some(someSubmissionId),
|
||||
deduplication_offset = expectedDeduplicationOffset,
|
||||
deduplication_time_seconds = expectedDeduplicationTimeSeconds,
|
||||
deduplication_time_nanos = expectedDeduplicationTimeNanos,
|
||||
deduplication_duration_seconds = expectedDeduplicationDurationSeconds,
|
||||
deduplication_duration_nanos = expectedDeduplicationDurationNanos,
|
||||
deduplication_start = None,
|
||||
),
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user