Skip to content

Unit test failure #6524

@fulmicoton

Description

@fulmicoton

Our scheduler proptest failed.

    thread 'indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions' (8548) panicked at quickwit-control-plane/src/indexing_scheduler/scheduling/scheduling_logic.rs:792:13:
    solution unstable!!!
    Solution 1: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 1, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {2: 1, 3: 1} }], capacity_scaling_iterations: 1 }
    Solution 2: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1} }], capacity_scaling_iterations: 1 }
    Solution 3: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1, 6: 1} }], capacity_scaling_iterations: 0 }
    stack backtrace:
       0: __rustc::rust_begin_unwind
       1: core::panicking::panic_fmt
       2: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions::{{closure}}
       3: core::ops::function::impls::<impl core::ops::function::Fn<A> for &F>::call
       4: proptest::test_runner::runner::call_test::{{closure}}::{{closure}}
       5: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
       6: std::panicking::catch_unwind::do_call
       7: __rust_try
       8: std::panic::catch_unwind
       9: proptest::test_runner::runner::call_test::{{closure}}
      10: proptest::test_runner::scoped_panic_hook::internal::with_hook
      11: proptest::test_runner::runner::call_test
      12: proptest::test_runner::runner::TestRunner::shrink
      13: proptest::test_runner::runner::TestRunner::run_one_with_replay
      14: proptest::test_runner::runner::TestRunner::gen_and_run_case
      15: proptest::test_runner::runner::TestRunner::run_in_process_with_replay
      16: proptest::test_runner::runner::TestRunner::run_in_process
      17: proptest::test_runner::runner::TestRunner::run
      18: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions
      19: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions::{{closure}}
      20: core::ops::function::FnOnce::call_once
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

    thread 'indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions' (8548) panicked at quickwit-control-plane/src/indexing_scheduler/scheduling/scheduling_logic.rs:792:13:
    solution unstable!!!
    Solution 1: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 1, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {2: 1, 3: 1} }], capacity_scaling_iterations: 1 }
    Solution 2: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1} }], capacity_scaling_iterations: 1 }
    Solution 3: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1, 6: 1} }], capacity_scaling_iterations: 0 }
    stack backtrace:
       0: __rustc::rust_begin_unwind
       1: core::panicking::panic_fmt
       2: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions::{{closure}}
       3: core::ops::function::impls::<impl core::ops::function::Fn<A> for &F>::call
       4: proptest::test_runner::runner::call_test::{{closure}}::{{closure}}
       5: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
       6: std::panicking::catch_unwind::do_call
       7: __rust_try
       8: std::panic::catch_unwind
       9: proptest::test_runner::runner::call_test::{{closure}}
      10: proptest::test_runner::scoped_panic_hook::internal::with_hook
      11: proptest::test_runner::runner::call_test
      12: proptest::test_runner::runner::TestRunner::shrink
      13: proptest::test_runner::runner::TestRunner::run_one_with_replay
      14: proptest::test_runner::runner::TestRunner::gen_and_run_case
      15: proptest::test_runner::runner::TestRunner::run_in_process_with_replay
      16: proptest::test_runner::runner::TestRunner::run_in_process
      17: proptest::test_runner::runner::TestRunner::run
      18: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions
      19: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions::{{closure}}
      20: core::ops::function::FnOnce::call_once
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

    thread 'indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions' (8548) panicked at quickwit-control-plane/src/indexing_scheduler/scheduling/scheduling_logic.rs:792:13:
    solution unstable!!!
    Solution 1: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 1, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {2: 1, 3: 1} }], capacity_scaling_iterations: 1 }
    Solution 2: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1} }], capacity_scaling_iterations: 1 }
    Solution 3: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1, 6: 1} }], capacity_scaling_iterations: 0 }
    stack backtrace:
       0: __rustc::rust_begin_unwind
       1: core::panicking::panic_fmt
       2: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions::{{closure}}
       3: core::ops::function::impls::<impl core::ops::function::Fn<A> for &F>::call
       4: proptest::test_runner::runner::call_test::{{closure}}::{{closure}}
       5: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
       6: std::panicking::catch_unwind::do_call
       7: __rust_try
       8: std::panic::catch_unwind
       9: proptest::test_runner::runner::call_test::{{closure}}
      10: proptest::test_runner::scoped_panic_hook::internal::with_hook
      11: proptest::test_runner::runner::call_test
      12: proptest::test_runner::runner::TestRunner::shrink
      13: proptest::test_runner::runner::TestRunner::run_one_with_replay
      14: proptest::test_runner::runner::TestRunner::gen_and_run_case
      15: proptest::test_runner::runner::TestRunner::run_in_process_with_replay
      16: proptest::test_runner::runner::TestRunner::run_in_process
      17: proptest::test_runner::runner::TestRunner::run
      18: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions
      19: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions::{{closure}}
      20: core::ops::function::FnOnce::call_once
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    proptest: Aborting shrinking after the PROPTEST_MAX_SHRINK_ITERS environment variable or ProptestConfig.max_shrink_iters iterations (set 1024 to a large(r) value to shrink more; current configuration: 1024 iterations)

    thread 'indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions' (8548) panicked at quickwit-control-plane/src/indexing_scheduler/scheduling/scheduling_logic.rs:780:5:
    Test failed: solution unstable!!!
    Solution 1: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 1, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {2: 1, 3: 1} }], capacity_scaling_iterations: 1 }
    Solution 2: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2, 6: 1} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1} }], capacity_scaling_iterations: 1 }
    Solution 3: SchedulingSolution { indexer_assignments: [IndexerAssignment { indexer_ord: 0, num_shards_per_source: {2: 2} }, IndexerAssignment { indexer_ord: 1, num_shards_per_source: {3: 1, 6: 1} }], capacity_scaling_iterations: 0 }.
    minimal failing input: (problem, solution) = (
        SchedulingProblem {
            sources: [
                Source {
                    source_ord: 0,
                    load_per_shard: 1,
                    affinities: {},
                    num_shards: 0,
                },
                Source {
                    source_ord: 1,
                    load_per_shard: 1,
                    affinities: {},
                    num_shards: 0,
                },
                Source {
                    source_ord: 2,
                    load_per_shard: 376,
                    affinities: {},
                    num_shards: 2,
                },
                Source {
                    source_ord: 3,
                    load_per_shard: 587,
                    affinities: {},
                    num_shards: 1,
                },
                Source {
                    source_ord: 4,
                    load_per_shard: 1,
                    affinities: {},
                    num_shards: 0,
                },
                Source {
                    source_ord: 5,
                    load_per_shard: 1,
                    affinities: {},
                    num_shards: 0,
                },
                Source {
                    source_ord: 6,
                    load_per_shard: 250,
                    affinities: {},
                    num_shards: 1,
                },
            ],
            indexer_cpu_capacities: [
                CpuCapacity(
                    951,
                ),
                CpuCapacity(
                    911,
                ),
            ],
        },
        SchedulingSolution {
            indexer_assignments: [
                IndexerAssignment {
                    indexer_ord: 0,
                    num_shards_per_source: {
                        2: 1,
                        6: 1,
                    },
                },
                IndexerAssignment {
                    indexer_ord: 1,
                    num_shards_per_source: {
                        2: 1,
                    },
                },
            ],
            capacity_scaling_iterations: 0,
        },
    )
    	successes: 0
    	local rejects: 0
    	global rejects: 0

    stack backtrace:
       0: __rustc::rust_begin_unwind
       1: core::panicking::panic_fmt
       2: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions
       3: quickwit_control_plane::indexing_scheduler::scheduling::scheduling_logic::tests::test_proptest_post_conditions::{{closure}}
       4: core::ops::function::FnOnce::call_once
    note: Some details are omitted, run with `RUST_BAC

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions