From bbea71767297e69d325dea15b66385e0bf10aa6c Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 16 Jan 2025 11:18:21 +0100 Subject: [PATCH] Adjust to latest golem-wit changes (host side) --- .../src/durable_host/durability.rs | 72 +++++++++---------- .../tests/common/mod.rs | 4 +- golem-worker-executor/src/lib.rs | 4 +- wit/host.wit | 2 +- 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/golem-worker-executor-base/src/durable_host/durability.rs b/golem-worker-executor-base/src/durable_host/durability.rs index 3f7775d8b..a0fa6f195 100644 --- a/golem-worker-executor-base/src/durable_host/durability.rs +++ b/golem-worker-executor-base/src/durable_host/durability.rs @@ -16,7 +16,7 @@ use crate::durable_host::DurableWorkerCtx; use crate::error::GolemError; use crate::metrics::wasm::record_host_function_call; use crate::model::PersistenceLevel; -use crate::preview2::golem::api1_2_0; +use crate::preview2::golem::durability::durability; use crate::services::oplog::{CommitLevel, OplogOps}; use crate::workerctx::WorkerCtx; use async_trait::async_trait; @@ -104,62 +104,62 @@ pub trait DurabilityHost { ) -> Result; } -impl From for DurableFunctionType { - fn from(value: api1_2_0::durability::DurableFunctionType) -> Self { +impl From for DurableFunctionType { + fn from(value: durability::DurableFunctionType) -> Self { match value { - api1_2_0::durability::DurableFunctionType::WriteRemote => { + durability::DurableFunctionType::WriteRemote => { DurableFunctionType::WriteRemote } - api1_2_0::durability::DurableFunctionType::WriteLocal => { + durability::DurableFunctionType::WriteLocal => { DurableFunctionType::WriteLocal } - api1_2_0::durability::DurableFunctionType::WriteRemoteBatched(oplog_index) => { + durability::DurableFunctionType::WriteRemoteBatched(oplog_index) => { DurableFunctionType::WriteRemoteBatched(oplog_index.map(OplogIndex::from_u64)) } - api1_2_0::durability::DurableFunctionType::ReadRemote => { + durability::DurableFunctionType::ReadRemote => { DurableFunctionType::ReadRemote } - api1_2_0::durability::DurableFunctionType::ReadLocal => DurableFunctionType::ReadLocal, + durability::DurableFunctionType::ReadLocal => DurableFunctionType::ReadLocal, } } } -impl From for api1_2_0::durability::DurableFunctionType { +impl From for durability::DurableFunctionType { fn from(value: DurableFunctionType) -> Self { match value { DurableFunctionType::WriteRemote => { - api1_2_0::durability::DurableFunctionType::WriteRemote + durability::DurableFunctionType::WriteRemote } DurableFunctionType::WriteLocal => { - api1_2_0::durability::DurableFunctionType::WriteLocal + durability::DurableFunctionType::WriteLocal } DurableFunctionType::WriteRemoteBatched(oplog_index) => { - api1_2_0::durability::DurableFunctionType::WriteRemoteBatched( + durability::DurableFunctionType::WriteRemoteBatched( oplog_index.map(|idx| idx.into()), ) } DurableFunctionType::ReadRemote => { - api1_2_0::durability::DurableFunctionType::ReadRemote + durability::DurableFunctionType::ReadRemote } - DurableFunctionType::ReadLocal => api1_2_0::durability::DurableFunctionType::ReadLocal, + DurableFunctionType::ReadLocal => durability::DurableFunctionType::ReadLocal, } } } -impl From for api1_2_0::durability::OplogEntryVersion { +impl From for durability::OplogEntryVersion { fn from(value: OplogEntryVersion) -> Self { match value { - OplogEntryVersion::V1 => api1_2_0::durability::OplogEntryVersion::V1, - OplogEntryVersion::V2 => api1_2_0::durability::OplogEntryVersion::V2, + OplogEntryVersion::V1 => durability::OplogEntryVersion::V1, + OplogEntryVersion::V2 => durability::OplogEntryVersion::V2, } } } impl From - for api1_2_0::durability::PersistedDurableFunctionInvocation + for durability::PersistedDurableFunctionInvocation { fn from(value: PersistedDurableFunctionInvocation) -> Self { - api1_2_0::durability::PersistedDurableFunctionInvocation { + durability::PersistedDurableFunctionInvocation { timestamp: value.timestamp.into(), function_name: value.function_name, response: value.response, @@ -170,7 +170,7 @@ impl From } #[async_trait] -impl api1_2_0::durability::Host for DurableWorkerCtx { +impl durability::Host for DurableWorkerCtx { async fn observe_function_call( &mut self, iface: String, @@ -182,16 +182,16 @@ impl api1_2_0::durability::Host for DurableWorkerCtx { async fn begin_durable_function( &mut self, - function_type: api1_2_0::durability::DurableFunctionType, - ) -> anyhow::Result { + function_type: durability::DurableFunctionType, + ) -> anyhow::Result { let oplog_idx = DurabilityHost::begin_durable_function(self, &function_type.into()).await?; Ok(oplog_idx.into()) } async fn end_durable_function( &mut self, - function_type: api1_2_0::durability::DurableFunctionType, - begin_index: api1_2_0::durability::OplogIndex, + function_type: durability::DurableFunctionType, + begin_index: durability::OplogIndex, ) -> anyhow::Result<()> { DurabilityHost::end_durable_function( self, @@ -204,18 +204,18 @@ impl api1_2_0::durability::Host for DurableWorkerCtx { async fn current_durable_execution_state( &mut self, - ) -> anyhow::Result { + ) -> anyhow::Result { let state = DurabilityHost::durable_execution_state(self); - Ok(api1_2_0::durability::DurableExecutionState { + Ok(durability::DurableExecutionState { is_live: state.is_live, persistence_level: match state.persistence_level { PersistenceLevel::PersistNothing => { - api1_2_0::durability::PersistenceLevel::PersistNothing + durability::PersistenceLevel::PersistNothing } PersistenceLevel::PersistRemoteSideEffects => { - api1_2_0::durability::PersistenceLevel::PersistRemoteSideEffects + durability::PersistenceLevel::PersistRemoteSideEffects } - PersistenceLevel::Smart => api1_2_0::durability::PersistenceLevel::Smart, + PersistenceLevel::Smart => durability::PersistenceLevel::Smart, }, }) } @@ -225,7 +225,7 @@ impl api1_2_0::durability::Host for DurableWorkerCtx { function_name: String, request: Vec, response: Vec, - function_type: api1_2_0::durability::DurableFunctionType, + function_type: durability::DurableFunctionType, ) -> anyhow::Result<()> { DurabilityHost::persist_durable_function_invocation( self, @@ -241,19 +241,19 @@ impl api1_2_0::durability::Host for DurableWorkerCtx { async fn persist_typed_durable_function_invocation( &mut self, function_name: String, - request: api1_2_0::durability::ValueAndType, - response: api1_2_0::durability::ValueAndType, - function_type: api1_2_0::durability::DurableFunctionType, + request: durability::ValueAndType, + response: durability::ValueAndType, + function_type: durability::DurableFunctionType, ) -> anyhow::Result<()> { let request = unsafe { transmute::< - api1_2_0::durability::ValueAndType, + durability::ValueAndType, golem_wasm_rpc::golem::rpc0_1_1::types::ValueAndType, >(request) }; let response = unsafe { transmute::< - api1_2_0::durability::ValueAndType, + durability::ValueAndType, golem_wasm_rpc::golem::rpc0_1_1::types::ValueAndType, >(response) }; @@ -270,7 +270,7 @@ impl api1_2_0::durability::Host for DurableWorkerCtx { async fn read_persisted_durable_function_invocation( &mut self, - ) -> anyhow::Result { + ) -> anyhow::Result { let invocation = DurabilityHost::read_persisted_durable_function_invocation(self).await?; Ok(invocation.into()) } diff --git a/golem-worker-executor-base/tests/common/mod.rs b/golem-worker-executor-base/tests/common/mod.rs index 86ee43862..3dd5e1606 100644 --- a/golem-worker-executor-base/tests/common/mod.rs +++ b/golem-worker-executor-base/tests/common/mod.rs @@ -82,7 +82,7 @@ use golem_test_framework::dsl::to_worker_metadata; use golem_wasm_rpc::golem::rpc0_1_1::types::{FutureInvokeResult, WasmRpc}; use golem_wasm_rpc::golem::rpc0_1_1::types::{HostFutureInvokeResult, Pollable}; use golem_worker_executor_base::preview2::golem; -use golem_worker_executor_base::preview2::golem::{api1_1_0, api1_2_0}; +use golem_worker_executor_base::preview2::golem::{api1_1_0, durability}; use golem_worker_executor_base::services::events::Events; use golem_worker_executor_base::services::oplog::plugin::OplogProcessorPlugin; use golem_worker_executor_base::services::plugins::{Plugins, PluginsObservations}; @@ -1014,7 +1014,7 @@ impl Bootstrap for ServerBootstrap { api0_2_0::host::add_to_linker_get_host(&mut linker, get_durable_ctx)?; api1_1_0::host::add_to_linker_get_host(&mut linker, get_durable_ctx)?; api1_1_0::oplog::add_to_linker_get_host(&mut linker, get_durable_ctx)?; - api1_2_0::durability::add_to_linker_get_host(&mut linker, get_durable_ctx)?; + durability::durability::add_to_linker_get_host(&mut linker, get_durable_ctx)?; golem_wasm_rpc::golem::rpc0_1_1::types::add_to_linker_get_host( &mut linker, get_durable_ctx, diff --git a/golem-worker-executor/src/lib.rs b/golem-worker-executor/src/lib.rs index 4ac0e4e8f..232403830 100644 --- a/golem-worker-executor/src/lib.rs +++ b/golem-worker-executor/src/lib.rs @@ -23,7 +23,7 @@ use async_trait::async_trait; use golem_common::model::component::ComponentOwner; use golem_common::model::plugin::{DefaultPluginOwner, DefaultPluginScope}; use golem_worker_executor_base::durable_host::{DurableWorkerCtx, DurableWorkerCtxWasiView}; -use golem_worker_executor_base::preview2::golem::{api0_2_0, api1_1_0, api1_2_0}; +use golem_worker_executor_base::preview2::golem::{api0_2_0, api1_1_0, durability}; use golem_worker_executor_base::services::active_workers::ActiveWorkers; use golem_worker_executor_base::services::blob_store::BlobStoreService; use golem_worker_executor_base::services::component::ComponentService; @@ -206,7 +206,7 @@ impl Bootstrap for ServerBootstrap { api0_2_0::host::add_to_linker_get_host(&mut linker, get_durable_ctx)?; api1_1_0::host::add_to_linker_get_host(&mut linker, get_durable_ctx)?; api1_1_0::oplog::add_to_linker_get_host(&mut linker, get_durable_ctx)?; - api1_2_0::durability::add_to_linker_get_host(&mut linker, get_durable_ctx)?; + durability::durability::add_to_linker_get_host(&mut linker, get_durable_ctx)?; golem_wasm_rpc::golem::rpc0_1_1::types::add_to_linker_get_host( &mut linker, get_durable_ctx, diff --git a/wit/host.wit b/wit/host.wit index d865b69d5..50a12be08 100644 --- a/wit/host.wit +++ b/wit/host.wit @@ -4,7 +4,7 @@ world golem { import golem:api/host@0.2.0; import golem:api/host@1.1.0; import golem:api/oplog@1.1.0; - import golem:api/durability@1.2.0; + import golem:durability/durability@1.2.0; import wasi:blobstore/blobstore; import wasi:blobstore/container;