mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-07-28 20:02:00 +03:00
fixing reviewer comments
- style fixes - small improvement to avoid unnecessary search on close_orphaned_sr
This commit is contained in:
@ -355,6 +355,7 @@ namespace wsrep
|
|||||||
* Return current view
|
* Return current view
|
||||||
*/
|
*/
|
||||||
const wsrep::view& current_view() const { return current_view_; }
|
const wsrep::view& current_view() const { return current_view_; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set last committed GTID.
|
* Set last committed GTID.
|
||||||
*/
|
*/
|
||||||
|
@ -887,21 +887,8 @@ void wsrep::server_state::on_view(const wsrep::view& view,
|
|||||||
{
|
{
|
||||||
wsrep::log_info()
|
wsrep::log_info()
|
||||||
<< "================================================\nView:\n"
|
<< "================================================\nView:\n"
|
||||||
<< " id: " << view.state_id() << "\n"
|
<< view
|
||||||
<< " seqno: " << view.view_seqno() << "\n"
|
<< "=================================================";
|
||||||
<< " status: " << view.status() << "\n"
|
|
||||||
<< " protocol_version: " << view.protocol_version() << "\n"
|
|
||||||
<< " own_index: " << view.own_index() << "\n"
|
|
||||||
<< " final: " << view.final() << "\n"
|
|
||||||
<< " members";
|
|
||||||
const std::vector<wsrep::view::member>& members(view.members());
|
|
||||||
for (std::vector<wsrep::view::member>::const_iterator i(members.begin());
|
|
||||||
i != members.end(); ++i)
|
|
||||||
{
|
|
||||||
wsrep::log_info() << " id: " << i->id() << " "
|
|
||||||
<< "name: " << i->name();
|
|
||||||
}
|
|
||||||
wsrep::log_info() << "=================================================";
|
|
||||||
if (current_view_.status() == wsrep::view::primary)
|
if (current_view_.status() == wsrep::view::primary)
|
||||||
{
|
{
|
||||||
previous_primary_view_ = current_view_;
|
previous_primary_view_ = current_view_;
|
||||||
@ -1309,12 +1296,13 @@ void wsrep::server_state::close_orphaned_sr_transactions(
|
|||||||
streaming_appliers_map::iterator i(streaming_appliers_.begin());
|
streaming_appliers_map::iterator i(streaming_appliers_.begin());
|
||||||
while (i != streaming_appliers_.end())
|
while (i != streaming_appliers_.end())
|
||||||
{
|
{
|
||||||
bool origin_not_in_view = std::find_if(current_view_.members().begin(),
|
// rollback SR on equal consecutive primary views or if its
|
||||||
current_view_.members().end(),
|
// originator is not in the current view
|
||||||
server_id_cmp(i->first.first)) ==
|
if (equal_consecutive_views ||
|
||||||
current_view_.members().end();
|
(std::find_if(current_view_.members().begin(),
|
||||||
|
current_view_.members().end(),
|
||||||
if (origin_not_in_view || equal_consecutive_views)
|
server_id_cmp(i->first.first)) ==
|
||||||
|
current_view_.members().end()))
|
||||||
{
|
{
|
||||||
WSREP_LOG_DEBUG(wsrep::log::debug_log_level(),
|
WSREP_LOG_DEBUG(wsrep::log::debug_log_level(),
|
||||||
wsrep::log::debug_level_server_state,
|
wsrep::log::debug_level_server_state,
|
||||||
|
@ -43,7 +43,8 @@ bool wsrep::view::equal_membership(const wsrep::view& other) const
|
|||||||
for (std::vector<member>::const_iterator i(members_.begin());
|
for (std::vector<member>::const_iterator i(members_.begin());
|
||||||
i != members_.end(); ++i)
|
i != members_.end(); ++i)
|
||||||
{
|
{
|
||||||
if (other.member_index(i->id()) == -1) {
|
if (other.member_index(i->id()) == -1)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -54,7 +55,7 @@ void wsrep::view::print(std::ostream& os) const
|
|||||||
{
|
{
|
||||||
os << " id: " << state_id() << "\n"
|
os << " id: " << state_id() << "\n"
|
||||||
<< " status: " << to_c_string(status()) << "\n"
|
<< " status: " << to_c_string(status()) << "\n"
|
||||||
<< " prococol_version: " << protocol_version() << "\n"
|
<< " protocol_version: " << protocol_version() << "\n"
|
||||||
<< " capabilities: " << provider::capability::str(capabilities())<<"\n"
|
<< " capabilities: " << provider::capability::str(capabilities())<<"\n"
|
||||||
<< " final: " << (final() ? "yes" : "no") << "\n"
|
<< " final: " << (final() ? "yes" : "no") << "\n"
|
||||||
<< " own_index: " << own_index() << "\n"
|
<< " own_index: " << own_index() << "\n"
|
||||||
|
@ -28,12 +28,12 @@ BOOST_AUTO_TEST_CASE(view_test_member_index)
|
|||||||
members.push_back(wsrep::view::member(wsrep::id("3"), "", ""));
|
members.push_back(wsrep::view::member(wsrep::id("3"), "", ""));
|
||||||
|
|
||||||
wsrep::view view(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
wsrep::view view(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
||||||
wsrep::seqno(1),
|
wsrep::seqno(1),
|
||||||
wsrep::view::primary,
|
wsrep::view::primary,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
members);
|
members);
|
||||||
BOOST_REQUIRE(view.member_index(wsrep::id("1")) == 0);
|
BOOST_REQUIRE(view.member_index(wsrep::id("1")) == 0);
|
||||||
BOOST_REQUIRE(view.member_index(wsrep::id("2")) == 1);
|
BOOST_REQUIRE(view.member_index(wsrep::id("2")) == 1);
|
||||||
BOOST_REQUIRE(view.member_index(wsrep::id("3")) == 2);
|
BOOST_REQUIRE(view.member_index(wsrep::id("3")) == 2);
|
||||||
@ -59,28 +59,28 @@ BOOST_AUTO_TEST_CASE(view_test_equal_membership)
|
|||||||
m3.push_back(wsrep::view::member(wsrep::id("4"), "", ""));
|
m3.push_back(wsrep::view::member(wsrep::id("4"), "", ""));
|
||||||
|
|
||||||
wsrep::view v1(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
wsrep::view v1(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
||||||
wsrep::seqno(1),
|
wsrep::seqno(1),
|
||||||
wsrep::view::primary,
|
wsrep::view::primary,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
m1);
|
m1);
|
||||||
|
|
||||||
wsrep::view v2(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
wsrep::view v2(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
||||||
wsrep::seqno(1),
|
wsrep::seqno(1),
|
||||||
wsrep::view::primary,
|
wsrep::view::primary,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
m2);
|
m2);
|
||||||
|
|
||||||
wsrep::view v3(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
wsrep::view v3(wsrep::gtid(wsrep::id("cluster"), wsrep::seqno(1)),
|
||||||
wsrep::seqno(1),
|
wsrep::seqno(1),
|
||||||
wsrep::view::primary,
|
wsrep::view::primary,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
m3);
|
m3);
|
||||||
|
|
||||||
BOOST_REQUIRE(v1.equal_membership(v2));
|
BOOST_REQUIRE(v1.equal_membership(v2));
|
||||||
BOOST_REQUIRE(v2.equal_membership(v1));
|
BOOST_REQUIRE(v2.equal_membership(v1));
|
||||||
|
Reference in New Issue
Block a user