kamu-data / kamu-cli

Next-generation decentralized data lakehouse and a multi-party stream processing network
https://kamu.dev
Other
300 stars 13 forks source link

Regression in `kamu init --exists-ok` #853

Closed sergiimk closed 1 week ago

sergiimk commented 1 week ago

Describe the bug

kamu init --exists-ok should skip workspace creation if it already exists, but it started crashing

Steps To Reproduce

  1. mkdir test && cd test
  2. kamu init --exists-ok - successful creation
  3. kamu init --exests-ok - crash

Current Behavior

Error:
  0: Internal error
  1: File exists (os error 17)

Backtrace:
   0: internal_error::InternalError::new
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/utils/internal-error/src/lib.rs:38:18
   1: <E as internal_error::ErrorIntoInternal>::int_err
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/utils/internal-error/src/lib.rs:80:9
   2: <core::result::Result<OK,E> as internal_error::ResultIntoInternal<OK>>::int_err
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/utils/internal-error/src/lib.rs:109:27
   3: kamu_cli::services::workspace::workspace_layout::WorkspaceLayout::create
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/app/cli/src/services/workspace/workspace_layout.rs:59:13
   4: <kamu_cli::commands::init_command::InitCommand as kamu_cli::commands::Command>::run::{{closure}}
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/app/cli/src/commands/init_command.rs:61:9
   5: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/core/src/future/future.rs:123:9
   6: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.40/src/instrument.rs:321:9
   7: kamu_cli::app::run::{{closure}}::{{closure}}::{{closure}}
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/app/cli/src/app.rs:277:18
   8: kamu_cli::app::maybe_transactional::{{closure}}
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/app/cli/src/app.rs:358:25
   9: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.40/src/instrument.rs:321:9
  10: kamu_cli::app::run::{{closure}}
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/app/cli/src/app.rs:281:6
  11: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/park.rs:281:63
  12: tokio::runtime::coop::with_budget
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/coop.rs:107:5
  13: tokio::runtime::coop::budget
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/coop.rs:73:5
  14: tokio::runtime::park::CachedParkThread::block_on
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/park.rs:281:31
  15: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/context/blocking.rs:66:9
  16: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/scheduler/multi_thread/mod.rs:87:13
  17: tokio::runtime::context::runtime::enter_runtime
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/context/runtime.rs:65:16
  18: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
  19: tokio::runtime::runtime::Runtime::block_on
             at /home/smikhtoniuk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/runtime/runtime.rs:349:45
  20: kamu_cli::main
             at /home/smikhtoniuk/Work/projects/kamu/kamu-cli/src/app/cli/src/main.rs:17:18
  21: core::ops::function::FnOnce::call_once
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/core/src/ops/function.rs:250:5
  22: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/sys_common/backtrace.rs:155:18
  23: std::rt::lang_start::{{closure}}
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/rt.rs:159:18
  24: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/core/src/ops/function.rs:284:13
  25: std::panicking::try::do_call
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/panicking.rs:553:40
  26: std::panicking::try
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/panicking.rs:517:19
  27: std::panic::catch_unwind
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/panic.rs:350:14
  28: std::rt::lang_start_internal::{{closure}}
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/rt.rs:141:48
  29: std::panicking::try::do_call
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/panicking.rs:553:40
  30: std::panicking::try
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/panicking.rs:517:19
  31: std::panic::catch_unwind
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/panic.rs:350:14
  32: std::rt::lang_start_internal
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/rt.rs:141:20
  33: std::rt::lang_start
             at /rustc/8337ba9189de188e2ed417018af2bf17a57d51ac/library/std/src/rt.rs:158:17
  34: main
  35: <unknown>
  36: __libc_start_main
  37: _start

Expected Behavior

Command succeeds

kamu system info

0.204.1

Logs

No response

Anything else?

No response