unsigned num_remaining_segments = (segments.size() - expired_segments.size() - expiring_segments.size());
if ((num_remaining_segments <= max_segments) &&
- (max_ev < 0 || num_events - expiring_events - expired_events <= max_ev))
+ (max_ev < 0 || (num_events - expiring_events - expired_events) <= (uint64_t)max_ev))
break;
// Do not trim too many segments at once for peak workload. If mds keeps creating N segments each tick,
void flush_logger();
- size_t get_num_events() const { return num_events; }
- size_t get_num_segments() const { return segments.size(); }
+ uint64_t get_num_events() const { return num_events; }
+ uint64_t get_num_segments() const { return segments.size(); }
auto get_debug_subtrees() const {
return events_per_segment;
segments.erase(p);
}
- int num_events = 0; // in events
- int unflushed = 0;
+ uint64_t num_events = 0; // in events
+ uint64_t unflushed = 0;
bool mds_is_shutting_down = false;
// Log position which is persistent *and* for which
std::set<LogSegment*> expired_segments;
std::size_t pre_segments_size = 0; // the num of segments when the mds finished replay-journal, to calc the num of segments growing
uint64_t event_seq = 0;
- int expiring_events = 0;
- int expired_events = 0;
+ uint64_t expiring_events = 0;
+ uint64_t expired_events = 0;
int64_t mdsmap_up_features = 0;
std::map<uint64_t,std::list<PendingEvent> > pending_events; // log segment -> event list