diff --git a/src/main/k8s/duchy.cue b/src/main/k8s/duchy.cue index 1268131ff76..a7b64e589de 100644 --- a/src/main/k8s/duchy.cue +++ b/src/main/k8s/duchy.cue @@ -350,6 +350,7 @@ import ("strings") _object_prefix + "llv2-mill-app", _object_prefix + "hmss-mill-app", _object_prefix + "async-computation-control-server-app", + _object_prefix + "computation-control-server-app", _object_prefix + "requisition-fulfillment-server-app", _object_prefix + "computations-cleaner-app", ] diff --git a/src/main/kotlin/org/wfanet/measurement/duchy/service/internal/computations/Protos.kt b/src/main/kotlin/org/wfanet/measurement/duchy/service/internal/computations/Protos.kt index 78da7a40fb4..fd124c2940a 100644 --- a/src/main/kotlin/org/wfanet/measurement/duchy/service/internal/computations/Protos.kt +++ b/src/main/kotlin/org/wfanet/measurement/duchy/service/internal/computations/Protos.kt @@ -79,6 +79,7 @@ fun ComputationToken.inputPathList(): List = /** Extract the [RoleInComputation] from a [ComputationToken]. */ fun ComputationToken.role(): RoleInComputation { + @Suppress("WHEN_ENUM_CAN_BE_NULL_IN_JAVA") // Proto enum fields are never null. return when (computationDetails.protocolCase) { ComputationDetails.ProtocolCase.LIQUID_LEGIONS_V2 -> computationDetails.liquidLegionsV2.role ComputationDetails.ProtocolCase.REACH_ONLY_LIQUID_LEGIONS_V2 -> diff --git a/src/main/kotlin/org/wfanet/measurement/duchy/service/system/v1alpha/ComputationControlService.kt b/src/main/kotlin/org/wfanet/measurement/duchy/service/system/v1alpha/ComputationControlService.kt index 7a651a567f8..ba918782c0d 100644 --- a/src/main/kotlin/org/wfanet/measurement/duchy/service/system/v1alpha/ComputationControlService.kt +++ b/src/main/kotlin/org/wfanet/measurement/duchy/service/system/v1alpha/ComputationControlService.kt @@ -17,6 +17,8 @@ package org.wfanet.measurement.duchy.service.system.v1alpha import com.google.protobuf.ByteString import io.grpc.Status import io.grpc.StatusException +import java.util.logging.Level +import java.util.logging.Logger import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import org.wfanet.measurement.common.ConsumedFlowItem @@ -148,6 +150,9 @@ class ComputationControlService( ) .token } catch (e: StatusException) { + logger.log(Level.WARNING) { + "Fail to get computation token. global_computation_id=${stageKey.computationId}" + } throw when (e.status.code) { Status.Code.UNAVAILABLE -> Status.UNAVAILABLE Status.Code.ABORTED -> Status.ABORTED @@ -160,4 +165,8 @@ class ComputationControlService( } return computationToken.toSystemStage(duchyId) } + + companion object { + private val logger: Logger = Logger.getLogger(this::class.java.name) + } }