Skip to content

Commit

Permalink
[MetadataServer] minor changes
Browse files Browse the repository at this point in the history
- Always flush metadata-server CFs on shutdown
- INFO logging for leadership changes events

```
// intentionally left empty
```
  • Loading branch information
AhmedSoliman committed Feb 6, 2025
1 parent fa15440 commit d73ab60
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
7 changes: 5 additions & 2 deletions crates/metadata-server/src/raft/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -656,8 +656,11 @@ impl Member {
self.is_leader = self.raw_node.raft.leader_id == self.raw_node.raft.id;

if previous_is_leader && !self.is_leader {
debug!("Lost metadata store leadership");
let known_leader = self.known_leader();
info!(
possible_leader = ?known_leader,
"Lost metadata store leadership"
);

// todo we might fail some of the request too eagerly here because the answer might be
// stored in the unapplied log entries. Better to fail the callbacks based on
Expand All @@ -670,7 +673,7 @@ impl Member {
self.fail_join_callbacks(|| JoinClusterError::NotLeader(known_leader.clone()));
self.read_index_to_request_id.clear();
} else if !previous_is_leader && self.is_leader {
debug!("Won metadata store leadership");
info!("Won metadata store leadership");
}
}

Expand Down
22 changes: 13 additions & 9 deletions crates/metadata-server/src/raft/storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,21 @@
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0.

use crate::raft::RaftConfiguration;
use crate::{util, StorageId};
use std::array::TryFromSliceError;
use std::cell::RefCell;
use std::mem::size_of;
use std::sync::Arc;
use std::{error, mem};

use bytes::{BufMut, BytesMut};
use flexbuffers::{DeserializationError, SerializationError};
use protobuf::{Message, ProtobufError};
use raft::eraftpb::{ConfState, Entry, Snapshot};
use raft::prelude::HardState;
use raft::{GetEntriesContext, RaftState, Storage, StorageError};
use rocksdb::{BoundColumnFamily, DBPinnableSlice, ReadOptions, WriteBatch, WriteOptions, DB};
use tracing::debug;

use restate_rocksdb::{
CfName, CfPrefixPattern, DbName, DbSpecBuilder, IoMode, Priority, RocksDb, RocksDbManager,
RocksError,
Expand All @@ -24,13 +31,9 @@ use restate_types::config::{data_dir, MetadataServerOptions, RocksDbOptions};
use restate_types::errors::GenericError;
use restate_types::live::BoxedLiveLoad;
use restate_types::nodes_config::NodesConfiguration;
use rocksdb::{BoundColumnFamily, DBPinnableSlice, ReadOptions, WriteBatch, WriteOptions, DB};
use std::array::TryFromSliceError;
use std::cell::RefCell;
use std::mem::size_of;
use std::sync::Arc;
use std::{error, mem};
use tracing::debug;

use crate::raft::RaftConfiguration;
use crate::{util, StorageId};

const DB_NAME: &str = "raft-metadata-store";
const RAFT_CF: &str = "raft";
Expand Down Expand Up @@ -117,6 +120,7 @@ impl RocksDbStorage {
util::cf_options(options.rocksdb_memory_budget()),
)
.ensure_column_families(cfs)
.add_to_flush_on_shutdown(CfPrefixPattern::ANY)
.build()
.expect("valid spec");

Expand Down

0 comments on commit d73ab60

Please sign in to comment.