Skip to content

Commit

Permalink
refactor: Replace deprecated Spanner function calls
Browse files Browse the repository at this point in the history
  • Loading branch information
SanjayVas committed Sep 19, 2024
1 parent d711fd9 commit 9d3de2a
Show file tree
Hide file tree
Showing 35 changed files with 109 additions and 92 deletions.
8 changes: 4 additions & 4 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ K8S_CLIENT_VERSION = "21.0.1"
# See https://github.com/bazelbuild/bazel/discussions/23075.
bazel_dep(
name = "rules_kotlin_jvm",
version = "0.3.0",
version = "0.4.0",
repo_name = "wfa_rules_kotlin_jvm",
)
bazel_dep(
Expand All @@ -37,7 +37,7 @@ bazel_dep(
)
bazel_dep(
name = "common-jvm",
version = "0.91.0",
version = "0.92.0",
repo_name = "wfa_common_jvm",
)
bazel_dep(
Expand Down Expand Up @@ -125,11 +125,11 @@ bazel_dep(
)
bazel_dep(
name = "rules_java",
version = "7.9.1",
version = "7.11.1",
)
bazel_dep(
name = "rules_jvm_external",
version = "6.2.bzlmod.1",
version = "6.4",
)
bazel_dep(
name = "rules_python",
Expand Down
53 changes: 23 additions & 30 deletions MODULE.bazel.lock

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import org.wfanet.measurement.duchy.db.computation.ComputationTypeEnumHelper
import org.wfanet.measurement.gcloud.common.toGcloudByteArray
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.setJson
import org.wfanet.measurement.gcloud.spanner.toProtoEnum
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.gcloud.spanner.toProtoJson
import org.wfanet.measurement.internal.duchy.ComputationBlobDependency
import org.wfanet.measurement.internal.duchy.ComputationStageAttemptDetails
Expand Down Expand Up @@ -325,7 +325,7 @@ class ComputationMutations<
m.set("ComputationStage").to(computationStageEnumToLongValues(stage).stage)
m.set("BlobId").to(blobId)
pathToBlob?.let { m.set("PathToBlob").to(nonNullValueString(it)) }
dependencyType?.let { m.set("DependencyType").toProtoEnum(it) }
dependencyType?.let { m.set("DependencyType").toInt64(it) }
return m.build()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ package org.wfanet.measurement.kingdom.deploy.gcloud.spanner.queries
import com.google.cloud.spanner.Statement
import org.wfanet.measurement.gcloud.spanner.appendClause
import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.toProtoEnum
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.EventGroup
import org.wfanet.measurement.internal.kingdom.StreamEventGroupsRequest
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.readers.EventGroupReader
Expand Down Expand Up @@ -57,7 +57,7 @@ class StreamEventGroups(requestFilter: StreamEventGroupsRequest.Filter, limit: I

if (!filter.showDeleted) {
conjuncts.add("State != @$DELETED_STATE")
bind(DELETED_STATE).toProtoEnum(EventGroup.State.DELETED)
bind(DELETED_STATE).toInt64(EventGroup.State.DELETED)
}

if (filter.hasAfter()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import com.google.cloud.spanner.Statement
import org.wfanet.measurement.gcloud.common.toCloudDate
import org.wfanet.measurement.gcloud.spanner.appendClause
import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.toProtoEnumArray
import org.wfanet.measurement.gcloud.spanner.toInt64Array
import org.wfanet.measurement.internal.kingdom.ExchangeStep
import org.wfanet.measurement.internal.kingdom.StreamExchangeStepsRequest
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.readers.ExchangeStepReader
Expand Down Expand Up @@ -59,7 +59,7 @@ class StreamExchangeSteps(requestFilter: StreamExchangeStepsRequest.Filter, limi

if (filter.statesList.isNotEmpty()) {
conjuncts.add("ExchangeSteps.State IN UNNEST(@${Params.STATES})")
bind(Params.STATES).toProtoEnumArray(filter.statesList)
bind(Params.STATES).toInt64Array(filter.statesList)
}

if (filter.externalDataProviderId != 0L) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ package org.wfanet.measurement.kingdom.deploy.gcloud.spanner.queries

import org.wfanet.measurement.common.identity.InternalId
import org.wfanet.measurement.gcloud.spanner.appendClause
import org.wfanet.measurement.gcloud.spanner.toProtoEnumArray
import org.wfanet.measurement.gcloud.spanner.toInt64Array
import org.wfanet.measurement.internal.kingdom.Measurement
import org.wfanet.measurement.internal.kingdom.Requisition
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.readers.MeasurementDetailsReader
Expand All @@ -38,7 +38,7 @@ class StreamMeasurementsByDataProviderCertificate(
)
bind("dataProviderCertificateId").to(dataProviderCertificateId.value)
bind("requisitionStates")
.toProtoEnumArray(listOf(Requisition.State.PENDING_PARAMS, Requisition.State.UNFULFILLED))
bind("pendingStates").toProtoEnumArray(pendingMeasurementStates)
.toInt64Array(listOf(Requisition.State.PENDING_PARAMS, Requisition.State.UNFULFILLED))
bind("pendingStates").toInt64Array(pendingMeasurementStates)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ package org.wfanet.measurement.kingdom.deploy.gcloud.spanner.queries

import org.wfanet.measurement.common.identity.InternalId
import org.wfanet.measurement.gcloud.spanner.appendClause
import org.wfanet.measurement.gcloud.spanner.toProtoEnum
import org.wfanet.measurement.gcloud.spanner.toProtoEnumArray
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.gcloud.spanner.toInt64Array
import org.wfanet.measurement.internal.kingdom.ComputationParticipant
import org.wfanet.measurement.internal.kingdom.Measurement
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.readers.MeasurementDetailsReader
Expand All @@ -39,7 +39,7 @@ class StreamMeasurementsByDuchyCertificate(
)
bind("duchyCertificateId").to(duchyCertificateId.value)
bind("computationParticipantState")
.toProtoEnum(ComputationParticipant.State.REQUISITION_PARAMS_SET)
bind("pendingStates").toProtoEnumArray(pendingMeasurementStates)
.toInt64(ComputationParticipant.State.REQUISITION_PARAMS_SET)
bind("pendingStates").toInt64Array(pendingMeasurementStates)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import com.google.cloud.spanner.Statement
import org.wfanet.measurement.gcloud.common.toGcloudTimestamp
import org.wfanet.measurement.gcloud.spanner.appendClause
import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.toProtoEnum
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.ModelOutage
import org.wfanet.measurement.internal.kingdom.StreamModelOutagesRequest.Filter
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.readers.ModelOutageReader
Expand Down Expand Up @@ -67,7 +67,7 @@ class StreamModelOutages(private val requestFilter: Filter, limit: Int = 0) :

if (!filter.showDeleted) {
conjuncts.add("State != @${DELETED_STATE}")
bind(DELETED_STATE).toProtoEnum(ModelOutage.State.DELETED)
bind(DELETED_STATE).toInt64(ModelOutage.State.DELETED)
}

if (filter.hasOutageInterval()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import org.wfanet.measurement.gcloud.common.toProtoDate
import org.wfanet.measurement.gcloud.spanner.AsyncDatabaseClient
import org.wfanet.measurement.gcloud.spanner.appendClause
import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.toProtoEnum
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.ExchangeStep
import org.wfanet.measurement.internal.kingdom.ExchangeStepAttempt
import org.wfanet.measurement.internal.kingdom.ExchangeStepAttemptDetails
Expand Down Expand Up @@ -120,8 +120,8 @@ class ExchangeStepAttemptReader : SpannerReader<ExchangeStepAttemptReader.Result
"ExchangeStepAttempts.State = @${Params.EXCHANGE_STEP_ATTEMPT_STATE}",
"ExchangeStepAttempts.ExpirationTime <= @${Params.NOW}",
)
bind(Params.EXCHANGE_STEP_STATE).toProtoEnum(ExchangeStep.State.IN_PROGRESS)
bind(Params.EXCHANGE_STEP_ATTEMPT_STATE).toProtoEnum(ExchangeStepAttempt.State.ACTIVE)
bind(Params.EXCHANGE_STEP_STATE).toInt64(ExchangeStep.State.IN_PROGRESS)
bind(Params.EXCHANGE_STEP_ATTEMPT_STATE).toInt64(ExchangeStepAttempt.State.ACTIVE)
// Due to the fact that we set ExpirationTime using the application clock, we should to be
// consistent and use the application clock for comparisons rather than DB time.
bind(Params.NOW).to(clock.instant().toGcloudTimestamp())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import org.wfanet.measurement.common.identity.InternalId
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.bufferUpdateMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.Account
import org.wfanet.measurement.internal.kingdom.AccountKt.openIdConnectIdentity
import org.wfanet.measurement.internal.kingdom.copy
Expand Down Expand Up @@ -79,7 +80,7 @@ class ActivateAccount(

transactionContext.bufferUpdateMutation("Accounts") {
set("AccountId" to readAccountResult.accountId)
set("ActivationState" to Account.ActivationState.ACTIVATED)
set("ActivationState").toInt64(Account.ActivationState.ACTIVATED)
set("UpdateTime" to Value.COMMIT_TIMESTAMP)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import org.wfanet.measurement.gcloud.common.toGcloudTimestamp
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.statement
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.ClaimReadyExchangeStepRequest
import org.wfanet.measurement.internal.kingdom.ExchangeStep
import org.wfanet.measurement.internal.kingdom.ExchangeStepAttempt
Expand Down Expand Up @@ -121,7 +122,7 @@ class ClaimReadyExchangeStep(
set("Date" to date.toCloudDate())
set("StepIndex" to stepIndex)
set("AttemptIndex" to attemptIndex)
set("State" to ExchangeStepAttempt.State.ACTIVE)
set("State").toInt64(ExchangeStepAttempt.State.ACTIVE)

// TODO(@efoxepstein): make this variable based on the step type or something.
set("ExpirationTime" to (now + DEFAULT_EXPIRATION_DURATION).toGcloudTimestamp())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.bufferUpdateMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.statement
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.ComputationParticipant
import org.wfanet.measurement.internal.kingdom.ConfirmComputationParticipantRequest
import org.wfanet.measurement.internal.kingdom.Measurement
Expand Down Expand Up @@ -113,7 +114,7 @@ class ConfirmComputationParticipant(private val request: ConfirmComputationParti
set("MeasurementId" to measurementId)
set("DuchyId" to duchyId)
set("UpdateTime" to Value.COMMIT_TIMESTAMP)
set("State" to NEXT_COMPUTATION_PARTICIPANT_STATE)
set("State").toInt64(NEXT_COMPUTATION_PARTICIPANT_STATE)
}

val duchyIds: List<InternalId> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import com.google.cloud.spanner.Value
import org.wfanet.measurement.common.identity.ExternalId
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.Account
import org.wfanet.measurement.internal.kingdom.account
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.common.AccountNotFoundException
Expand Down Expand Up @@ -69,7 +70,7 @@ class CreateAccount(

set("AccountId" to internalAccountId)
set("ExternalAccountId" to externalAccountId)
set("ActivationState" to Account.ActivationState.UNACTIVATED)
set("ActivationState").toInt64(Account.ActivationState.UNACTIVATED)
set("ActivationToken" to activationToken)
set("CreateTime" to Value.COMMIT_TIMESTAMP)
set("UpdateTime" to Value.COMMIT_TIMESTAMP)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import org.wfanet.measurement.gcloud.spanner.AsyncDatabaseClient
import org.wfanet.measurement.gcloud.spanner.bufferTo
import org.wfanet.measurement.gcloud.spanner.insertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.Certificate
import org.wfanet.measurement.kingdom.deploy.common.DuchyIds
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.common.CertSubjectKeyIdAlreadyExistsException
Expand Down Expand Up @@ -141,7 +142,7 @@ fun Certificate.toInsertMutation(internalId: InternalId): Mutation {
set("SubjectKeyIdentifier" to subjectKeyIdentifier.toGcloudByteArray())
set("NotValidBefore" to notValidBefore.toGcloudTimestamp())
set("NotValidAfter" to notValidAfter.toGcloudTimestamp())
set("RevocationState" to revocationState)
set("RevocationState").toInt64(revocationState)
set("CertificateDetails").to(details)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import org.wfanet.measurement.common.identity.ExternalId
import org.wfanet.measurement.common.identity.InternalId
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.CreateEventGroupRequest
import org.wfanet.measurement.internal.kingdom.EventGroup
import org.wfanet.measurement.internal.kingdom.copy
Expand Down Expand Up @@ -83,7 +84,7 @@ class CreateEventGroup(private val request: CreateEventGroupRequest) :
if (request.eventGroup.hasDetails()) {
set("EventGroupDetails").to(request.eventGroup.details)
}
set("State" to EventGroup.State.ACTIVE)
set("State").toInt64(EventGroup.State.ACTIVE)
}

return request.eventGroup.copy {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import org.wfanet.measurement.common.identity.ExternalId
import org.wfanet.measurement.gcloud.common.toCloudDate
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.Exchange
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.common.RecurringExchangeNotFoundException
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.readers.RecurringExchangeReader
Expand All @@ -42,7 +43,7 @@ class CreateExchange(private val exchange: Exchange) : SimpleSpannerWriter<Excha
transactionContext.bufferInsertMutation("Exchanges") {
set("RecurringExchangeId" to recurringExchangeId)
set("Date" to exchange.date.toCloudDate())
set("State" to INITIAL_STATE)
set("State").toInt64(INITIAL_STATE)
set("ExchangeDetails").to(exchange.details)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.bufferUpdateMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.Exchange
import org.wfanet.measurement.internal.kingdom.ExchangeDetails
import org.wfanet.measurement.internal.kingdom.ExchangeStep
Expand Down Expand Up @@ -96,8 +97,8 @@ class CreateExchangesAndSteps(
"""
.trimIndent(),
)
bind(Params.RECURRING_EXCHANGE_STATE to RecurringExchange.State.ACTIVE)
bind(Params.EXCHANGE_STATE to Exchange.State.FAILED)
bind(Params.RECURRING_EXCHANGE_STATE).toInt64(RecurringExchange.State.ACTIVE)
bind(Params.EXCHANGE_STATE).toInt64(Exchange.State.FAILED)

when (party) {
ExchangeWorkflow.Party.MODEL_PROVIDER -> {
Expand Down Expand Up @@ -126,7 +127,7 @@ class CreateExchangesAndSteps(
transactionContext.bufferInsertMutation("Exchanges") {
set("RecurringExchangeId" to recurringExchangeId)
set("Date" to date.toCloudDate())
set("State" to Exchange.State.ACTIVE)
set("State").toInt64(Exchange.State.ACTIVE)
set("ExchangeDetails").to(exchangeDetails)
}
}
Expand All @@ -153,7 +154,7 @@ class CreateExchangesAndSteps(
set("RecurringExchangeId" to recurringExchangeId)
set("Date" to date.toCloudDate())
set("StepIndex" to step.stepIndex.toLong())
set("State" to ExchangeStep.State.BLOCKED)
set("State").toInt64(ExchangeStep.State.BLOCKED)
set("UpdateTime" to Value.COMMIT_TIMESTAMP)
set(
"ModelProviderId" to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import org.wfanet.measurement.gcloud.spanner.appendClause
import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.ComputationParticipant
import org.wfanet.measurement.internal.kingdom.ComputationParticipantDetails
import org.wfanet.measurement.internal.kingdom.CreateMeasurementRequest
Expand Down Expand Up @@ -327,7 +328,7 @@ class CreateMeasurements(private val requests: List<CreateMeasurementRequest>) :
set("ProvidedMeasurementId" to createMeasurementRequest.measurement.providedMeasurementId)
}
set("CertificateId" to measurementConsumerCertificateId)
set("State" to initialMeasurementState)
set("State").toInt64(initialMeasurementState)
set("MeasurementDetails").to(createMeasurementRequest.measurement.details)
set("CreateTime" to Value.COMMIT_TIMESTAMP)
set("UpdateTime" to Value.COMMIT_TIMESTAMP)
Expand All @@ -345,7 +346,7 @@ class CreateMeasurements(private val requests: List<CreateMeasurementRequest>) :
set("MeasurementId" to measurementId)
set("DuchyId" to duchyId)
set("UpdateTime" to Value.COMMIT_TIMESTAMP)
set("State" to ComputationParticipant.State.CREATED)
set("State").toInt64(ComputationParticipant.State.CREATED)
set("ParticipantDetails").to(participantDetails)
}
}
Expand Down Expand Up @@ -411,7 +412,7 @@ class CreateMeasurements(private val requests: List<CreateMeasurementRequest>) :
set("UpdateTime" to Value.COMMIT_TIMESTAMP)
set("ExternalRequisitionId" to externalRequisitionId)
set("DataProviderCertificateId" to dataProviderCertificateId)
set("State" to initialRequisitionState)
set("State").toInt64(initialRequisitionState)
fulfillingDuchyId?.let { set("FulfillingDuchyId" to it) }
set("RequisitionDetails").to(details)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.statement
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.ModelLine
import org.wfanet.measurement.internal.kingdom.copy
import org.wfanet.measurement.kingdom.deploy.gcloud.spanner.common.ModelLineInvalidArgsException
Expand Down Expand Up @@ -93,7 +94,7 @@ class CreateModelLine(private val modelLine: ModelLine, private val clock: Clock
if (modelLine.hasActiveEndTime()) {
set("ActiveEndTime" to modelLine.activeEndTime.toGcloudTimestamp())
}
set("Type" to modelLine.type)
set("Type").toInt64(modelLine.type)
if (modelLine.externalHoldbackModelLineId != 0L) {
val holdbackModelLineResult =
ModelLineReader()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import org.wfanet.measurement.gcloud.spanner.bind
import org.wfanet.measurement.gcloud.spanner.bufferInsertMutation
import org.wfanet.measurement.gcloud.spanner.set
import org.wfanet.measurement.gcloud.spanner.statement
import org.wfanet.measurement.gcloud.spanner.toInt64
import org.wfanet.measurement.internal.kingdom.ModelLine
import org.wfanet.measurement.internal.kingdom.ModelOutage
import org.wfanet.measurement.internal.kingdom.copy
Expand Down Expand Up @@ -94,7 +95,7 @@ class CreateModelOutage(private val modelOutage: ModelOutage) :
set("ExternalModelOutageId" to externalModelOutageId)
set("OutageStartTime" to modelOutage.modelOutageStartTime.toGcloudTimestamp())
set("OutageEndTime" to modelOutage.modelOutageEndTime.toGcloudTimestamp())
set("State" to ModelOutage.State.ACTIVE)
set("State").toInt64(ModelOutage.State.ACTIVE)
set("CreateTime" to Value.COMMIT_TIMESTAMP)
}

Expand Down
Loading

0 comments on commit 9d3de2a

Please sign in to comment.