Skip to content

Commit e2f0dfa

Browse files
committed
cleanup protobuf:
1 parent 708f3f1 commit e2f0dfa

6 files changed

Lines changed: 64 additions & 78 deletions

File tree

golem-api-grpc/proto/golem/worker/v1/worker_service.proto

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,7 @@ message LaunchNewWorkerResponse {
6161
message LaunchNewWorkerSuccessResponse {
6262
golem.worker.AgentId agentId = 1;
6363
uint64 component_version = 2;
64-
oneof fingerprint {
65-
golem.common.UUID fingerprint_uuid = 3;
66-
google.protobuf.Timestamp fingerprint_timestamp = 4;
67-
}
64+
golem.common.UUID instance_id = 3;
6865
}
6966

7067
message CompletePromiseRequest {

golem-api-grpc/proto/golem/workerexecutor/v1/worker_executor.proto

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,7 @@ message CreateWorkerRequest {
132132
}
133133

134134
message CreateWorkerSuccessResponse {
135-
oneof fingerprint {
136-
golem.common.UUID fingerprint_uuid = 1;
137-
google.protobuf.Timestamp fingerprint_timestamp = 2;
138-
}
135+
golem.common.UUID instance_id = 1;
139136
}
140137

141138
message CreateWorkerResponse {

golem-worker-executor/src/grpc/mod.rs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2021,22 +2021,17 @@ impl<Ctx: WorkerCtx, Svcs: HasAll<Ctx> + UsesAllDeps<Ctx = Ctx> + Send + Sync +
20212021
.instrument(record.span.clone())
20222022
.await
20232023
{
2024-
Ok(fingerprint) => {
2025-
use golem::workerexecutor::v1::create_worker_success_response::Fingerprint;
2026-
record.succeed(Ok(Response::new(
2027-
golem::workerexecutor::v1::CreateWorkerResponse {
2028-
result: Some(
2029-
golem::workerexecutor::v1::create_worker_response::Result::Success(
2030-
golem::workerexecutor::v1::CreateWorkerSuccessResponse {
2031-
fingerprint: Some(Fingerprint::FingerprintUuid(
2032-
fingerprint.0.into(),
2033-
)),
2034-
},
2035-
),
2024+
Ok(fingerprint) => record.succeed(Ok(Response::new(
2025+
golem::workerexecutor::v1::CreateWorkerResponse {
2026+
result: Some(
2027+
golem::workerexecutor::v1::create_worker_response::Result::Success(
2028+
golem::workerexecutor::v1::CreateWorkerSuccessResponse {
2029+
instance_id: Some(fingerprint.0.into()),
2030+
},
20362031
),
2037-
},
2038-
)))
2039-
}
2032+
),
2033+
},
2034+
))),
20402035
Err(mut err) => record.fail(
20412036
Ok(Response::new(
20422037
golem::workerexecutor::v1::CreateWorkerResponse {

golem-worker-executor/src/services/worker_proxy.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -302,14 +302,12 @@ impl WorkerProxy for RemoteWorkerProxy {
302302

303303
match response.result {
304304
Some(launch_new_worker_response::Result::Success(success)) => {
305-
use golem_api_grpc::proto::golem::worker::v1::launch_new_worker_success_response::Fingerprint;
306-
let fingerprint = match success.fingerprint {
307-
Some(Fingerprint::FingerprintUuid(u)) => AgentFingerprint(u.into()),
308-
// Timestamp variant and missing fingerprint should not occur with new servers;
309-
// generate a fresh UUID as a safe fallback.
310-
_ => AgentFingerprint::new(),
311-
};
312-
Ok(fingerprint)
305+
let instance_id = success.instance_id.ok_or_else(|| {
306+
WorkerProxyError::InternalError(WorkerExecutorError::unknown(
307+
"Missing instance_id in LaunchNewWorker response",
308+
))
309+
})?;
310+
Ok(AgentFingerprint(instance_id.into()))
313311
}
314312
Some(launch_new_worker_response::Result::Error(error)) => match error.error {
315313
Some(agent_error::Error::AlreadyExists(_)) => Ok(AgentFingerprint::new()),

golem-worker-service/src/grpcapi/worker.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,13 @@ impl GrpcWorkerService for WorkerGrpcApi {
6262
.instrument(record.span.clone())
6363
.await
6464
{
65-
Ok((agent_id, component_version, fingerprint)) => {
66-
use golem_api_grpc::proto::golem::worker::v1::launch_new_worker_success_response::Fingerprint;
67-
record.succeed(launch_new_worker_response::Result::Success(
68-
LaunchNewWorkerSuccessResponse {
69-
agent_id: Some(agent_id.into()),
70-
component_version: component_version.into(),
71-
fingerprint: Some(Fingerprint::FingerprintUuid(fingerprint.0.into())),
72-
},
73-
))
74-
}
65+
Ok((agent_id, component_version, fingerprint)) => record.succeed(
66+
launch_new_worker_response::Result::Success(LaunchNewWorkerSuccessResponse {
67+
agent_id: Some(agent_id.into()),
68+
component_version: component_version.into(),
69+
instance_id: Some(fingerprint.0.into()),
70+
}),
71+
),
7572
Err(error) => record.fail(
7673
launch_new_worker_response::Result::Error(error.clone()),
7774
&mut WorkerTraceErrorKind(&error),

golem-worker-service/src/service/worker/client.rs

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -427,48 +427,50 @@ impl WorkerClient for WorkerExecutorWorkerClient {
427427
) -> WorkerResult<(AgentId, AgentFingerprint)> {
428428
let agent_id_clone = agent_id.clone();
429429
let account_id_clone = account_id;
430-
let fingerprint = self.call_worker_executor(
431-
agent_id.clone(),
432-
"create_worker",
433-
move |worker_executor_client| {
434-
let agent_id = agent_id_clone.clone();
435-
Box::pin(
436-
worker_executor_client.create_worker(CreateWorkerRequest {
437-
agent_id: Some(agent_id.into()),
438-
env: environment_variables.clone(),
439-
config: config
440-
.clone()
441-
.into_iter()
442-
.map(golem_api_grpc::proto::golem::worker::AgentConfigEntryDto::from)
443-
.collect(),
444-
component_owner_account_id: Some(account_id_clone.into()),
445-
environment_id: Some(environment_id.into()),
446-
ignore_already_existing,
447-
auth_ctx: Some(auth_ctx.clone().into()),
448-
principal: principal.clone(),
449-
invocation_context: invocation_context.clone(),
450-
}),
451-
)
452-
},
453-
|response| {
454-
use workerexecutor::v1::create_worker_success_response::Fingerprint;
455-
match response.into_inner() {
430+
let fingerprint = self
431+
.call_worker_executor(
432+
agent_id.clone(),
433+
"create_worker",
434+
move |worker_executor_client| {
435+
let agent_id = agent_id_clone.clone();
436+
Box::pin(
437+
worker_executor_client.create_worker(CreateWorkerRequest {
438+
agent_id: Some(agent_id.into()),
439+
env: environment_variables.clone(),
440+
config: config
441+
.clone()
442+
.into_iter()
443+
.map(
444+
golem_api_grpc::proto::golem::worker::AgentConfigEntryDto::from,
445+
)
446+
.collect(),
447+
component_owner_account_id: Some(account_id_clone.into()),
448+
environment_id: Some(environment_id.into()),
449+
ignore_already_existing,
450+
auth_ctx: Some(auth_ctx.clone().into()),
451+
principal: principal.clone(),
452+
invocation_context: invocation_context.clone(),
453+
}),
454+
)
455+
},
456+
|response| match response.into_inner() {
456457
workerexecutor::v1::CreateWorkerResponse {
457-
result: Some(workerexecutor::v1::create_worker_response::Result::Success(
458-
workerexecutor::v1::CreateWorkerSuccessResponse {
459-
fingerprint: Some(Fingerprint::FingerprintUuid(u)),
460-
},
461-
)),
458+
result:
459+
Some(workerexecutor::v1::create_worker_response::Result::Success(
460+
workerexecutor::v1::CreateWorkerSuccessResponse {
461+
instance_id: Some(u),
462+
},
463+
)),
462464
} => Ok(AgentFingerprint(u.into())),
463465
workerexecutor::v1::CreateWorkerResponse {
464-
result: Some(workerexecutor::v1::create_worker_response::Result::Failure(err)),
466+
result:
467+
Some(workerexecutor::v1::create_worker_response::Result::Failure(err)),
465468
} => Err(err.into()),
466469
workerexecutor::v1::CreateWorkerResponse { .. } => Err("Empty response".into()),
467-
}
468-
},
469-
WorkerServiceError::InternalCallError,
470-
)
471-
.await?;
470+
},
471+
WorkerServiceError::InternalCallError,
472+
)
473+
.await?;
472474

473475
Ok((agent_id.clone(), fingerprint))
474476
}

0 commit comments

Comments
 (0)