Skip to content

Commit 77e87a3

Browse files
committed
Change: remove InitializeError::NotAMembershipEntry error
Such an error can only be caused by internal calls. An application do not need to handle it.
1 parent ea214cf commit 77e87a3

File tree

3 files changed

+10
-36
lines changed

3 files changed

+10
-36
lines changed

openraft/src/engine/engine_impl.rs

+10-14
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use crate::engine::handler::vote_handler::VoteHandler;
88
use crate::engine::Command;
99
use crate::entry::RaftEntry;
1010
use crate::error::InitializeError;
11-
use crate::error::NotAMembershipEntry;
1211
use crate::error::NotAllowed;
1312
use crate::error::NotInMembers;
1413
use crate::internal_server_state::InternalServerState;
@@ -183,21 +182,18 @@ where
183182
self.output.push_command(Command::AppendInputEntries { range: 0..l });
184183

185184
let entry = &mut entries[0];
186-
if let Some(m) = entry.get_membership() {
187-
self.check_members_contain_me(m)?;
188-
} else {
189-
Err(NotAMembershipEntry {})?;
190-
}
185+
let m = entry.get_membership().expect("the only log entry for initializing has to be membership log");
186+
self.check_members_contain_me(m)?;
191187

192-
if let Some(m) = entry.get_membership() {
193-
let log_id = entry.get_log_id();
194-
tracing::debug!("update effective membership: log_id:{} {}", log_id, m.summary());
188+
let log_id = entry.get_log_id();
189+
tracing::debug!("update effective membership: log_id:{} {}", log_id, m.summary());
195190

196-
let em = EffectiveMembership::new_arc(Some(*log_id), m.clone());
197-
self.state.membership_state.append(em.clone());
198-
self.output.push_command(Command::UpdateMembership { membership: em });
199-
self.server_state_handler().update_server_state_if_changed();
200-
}
191+
let em = EffectiveMembership::new_arc(Some(*log_id), m.clone());
192+
self.state.membership_state.append(em.clone());
193+
194+
self.output.push_command(Command::UpdateMembership { membership: em });
195+
196+
self.server_state_handler().update_server_state_if_changed();
201197

202198
self.output.push_command(Command::MoveInputCursorBy { n: l });
203199

openraft/src/engine/initialize_test.rs

-14
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use crate::engine::Engine;
88
use crate::engine::LogIdList;
99
use crate::entry::EntryRef;
1010
use crate::error::InitializeError;
11-
use crate::error::NotAMembershipEntry;
1211
use crate::error::NotAllowed;
1312
use crate::error::NotInMembers;
1413
use crate::raft::VoteRequest;
@@ -243,18 +242,5 @@ fn test_initialize() -> anyhow::Result<()> {
243242
);
244243
}
245244

246-
tracing::info!("--- log entry is not a membership entry");
247-
{
248-
let mut eng = eng();
249-
250-
let payload = EntryPayload::<Config>::Blank;
251-
let mut entries = [EntryRef::new(&payload)];
252-
253-
assert_eq!(
254-
Err(InitializeError::NotAMembershipEntry(NotAMembershipEntry {})),
255-
eng.initialize(&mut entries)
256-
);
257-
}
258-
259245
Ok(())
260246
}

openraft/src/error.rs

-8
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,6 @@ where
171171
#[error(transparent)]
172172
NotInMembers(#[from] NotInMembers<NID, N>),
173173

174-
#[error(transparent)]
175-
NotAMembershipEntry(#[from] NotAMembershipEntry),
176-
177174
#[error(transparent)]
178175
Fatal(#[from] Fatal<NID>),
179176
}
@@ -424,11 +421,6 @@ where
424421
pub membership: Membership<NID, N>,
425422
}
426423

427-
#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
428-
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize), serde(bound = ""))]
429-
#[error("initializing log entry has to be a membership config entry")]
430-
pub struct NotAMembershipEntry {}
431-
432424
#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
433425
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
434426
#[error("new membership can not be empty")]

0 commit comments

Comments
 (0)