We currently don't clean up the system_distributed.view_build_status table after removed nodes. This can cause false-positive check for whether view update generation is needed for streaming. The proper fix is to clean up this table, but that will be more involved, it even when done, it might not be immediate. So until then and to be on the safe side, filter out entries belonging to unknown hosts from said table. Fixes: #11905 Refs: #11836 Closes #11860
35 lines
562 B
C++
35 lines
562 B
C++
/*
|
|
* Copyright (C) 2019-present ScyllaDB
|
|
*/
|
|
|
|
/*
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <seastar/core/future.hh>
|
|
#include "streaming/stream_reason.hh"
|
|
#include "seastarx.hh"
|
|
|
|
namespace replica {
|
|
class table;
|
|
}
|
|
|
|
namespace db {
|
|
|
|
class system_distributed_keyspace;
|
|
|
|
}
|
|
|
|
namespace locator {
|
|
class token_metadata;
|
|
}
|
|
|
|
namespace db::view {
|
|
|
|
future<bool> check_needs_view_update_path(db::system_distributed_keyspace& sys_dist_ks, const locator::token_metadata& tm, const replica::table& t,
|
|
streaming::stream_reason reason);
|
|
|
|
}
|