xline-kv / Xline

A geo-distributed KV store for metadata management
https://xline.cloud
Apache License 2.0
596 stars 74 forks source link

[Bug]: maintenance_test case "test_status" panic #623

Closed Phoenix500526 closed 8 months ago

Phoenix500526 commented 8 months ago

Description about the bug

The maintenance test case will panic since the assertion res.db_size > 0 failed.

Version

0.6.0 (Default)

Relevant log output

PASS [   1.273s] xline::it maintenance_test::follower_should_detect_no_space_alarm
        PASS [   1.245s] xline::it maintenance_test::leader_should_detect_no_space_alarm
        PASS [   1.197s] xline::it maintenance_test::test_snapshot_and_restore
        PASS [   0.029s] xline-client lease_gen::test::leases_are_valid
        PASS [   0.468s] xline::it watch_test::test_watch
     SIGABRT [   0.516s] xline::it maintenance_test::test_status

--- STDOUT:              xline::it maintenance_test::test_status ---

running 1 test
test panic! 
@info:
panicked at 'assertion failed: res.db_size > 0', xline/tests/it/maintenance_test.rs:114:5
@stackTrace:
   0: it::maintenance_test::test_status::{closure#0}
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1999:9
   2: std::panicking::rust_panic_with_hook
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:709:13
   3: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:595:13
   4: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys_common/backtrace.rs:151:18
   5: rust_begin_unwind
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:593:5
   6: core::panicking::panic_fmt
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panicking.rs:67:14
   7: core::panicking::panic
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panicking.rs:117:5
   8: it::maintenance_test::test_status::{closure#1}
   9: __covrec_6BD824399AF04720u
  10: <tokio::runtime::park::CachedParkThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), alloc::boxed::Box<dyn core::error::Error>>>>>::{closure#0}
  11: <tokio::runtime::park::CachedParkThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), alloc::boxed::Box<dyn core::error::Error>>>>>
  12: __covrec_74776E4B99EEDD50
  13: __covrec_483FC214DBBCAEF9u
  14: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::multi_thread::MultiThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), alloc::boxed::Box<dyn core::error::Error>>>>>::{closure#0}, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error>>>
  15: <tokio::runtime::scheduler::multi_thread::MultiThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), alloc::boxed::Box<dyn core::error::Error>>>>>
  16: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), alloc::boxed::Box<dyn core::error::Error>>>>>
  17: it::maintenance_test::test_status
  18: it::maintenance_test::test_status::{closure#0}
  19: <it::maintenance_test::test_status::{closure#0} as core::ops::function::FnOnce<()>>::call_once
  20: core::ops::function::FnOnce::call_once
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/ops/function.rs:250:5
  21: test::__rust_begin_short_backtrace
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/test/src/lib.rs:655:18
  22: test::run_test::{{closure}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/test/src/lib.rs:646:30
  23: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/ops/function.rs:250:5
  24: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
  25: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panic/unwind_safe.rs:271:9
  26: std::panicking::try::do_call
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:500:40
  27: std::panicking::try
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:464:19
  28: std::panic::catch_unwind
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panic.rs:142:14
  29: test::run_test_in_process
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/test/src/lib.rs:678:27
  30: test::run_test::run_test_inner::{{closure}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/test/src/lib.rs:572:39
  31: test::run_test::run_test_inner::{{closure}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/test/src/lib.rs:599:37
  32: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys_common/backtrace.rs:135:18
  33: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/thread/mod.rs:529:17
  34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panic/unwind_safe.rs:271:9
  35: std::panicking::try::do_call
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:500:40
  36: std::panicking::try
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:464:19
  37: std::panic::catch_unwind
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panic.rs:142:14
  38: std::thread::Builder::spawn_unchecked_::{{closure}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/thread/mod.rs:528:30
  39: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/ops/function.rs:250:5
  40: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
  41: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
  42: std::sys::unix::thread::Thread::new::thread_start
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys/unix/thread.rs:108:17
  43: <unknown>
  44: __clone

   Canceling due to test failure: 3 tests still running
        PASS [   0.671s] xline-client lease_gen::test::no_duplicates_in_multi
        PASS [   0.676s] xline-client lease_gen::test::no_duplicates_in_one
        PASS [   0.867s] xline-client::it auth::permission_operations_should_success_in_normal_path
        SLOW [> 40.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision
        SLOW [> 50.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision
        SLOW [> 60.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision
        SLOW [> 70.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision
        SLOW [> 80.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision
        SLOW [> 90.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision
        SLOW [>100.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision
        SLOW [>110.000s] curp::it server::concurrent_cmd_order_should_have_correct_revision

Code of Conduct