]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mds: remove a bunch of heuristics from MDLog::trim()
authorVenky Shankar <vshankar@redhat.com>
Mon, 31 Jul 2023 05:59:24 +0000 (01:59 -0400)
committerVenky Shankar <vshankar@redhat.com>
Tue, 30 Jan 2024 05:28:48 +0000 (10:58 +0530)
These were probbaly introduced to workaround some sort of
resource overusage by the MDS during trimming, but now it
looks like they are not really neeeded, especially if we
introduce a dedicated thread for log trimming.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/mds/MDLog.cc

index c174428a1f922e8991738cc76080f7b086e58fff..2ade813c22f247ba37950f62d40e90edaccb2c4c 100644 (file)
@@ -645,11 +645,8 @@ void MDLog::trim(int m)
 
   unsigned new_expiring_segments = 0;
 
-  unsigned max_expiring_segments = 0;
-  if (pre_segments_size > 0){
-    max_expiring_segments = max_segments/2;
+  if (pre_segments_size > 0) {
     ceph_assert(segments.size() >= pre_segments_size);
-    max_expiring_segments = std::max<unsigned>(max_expiring_segments,segments.size() - pre_segments_size);
   }
 
   map<uint64_t,LogSegment*>::iterator p = segments.begin();
@@ -685,15 +682,6 @@ void MDLog::trim(int m)
       break;
     }
 
-    // Do not trim too many segments at once for peak workload. If mds keeps creating N segments each tick,
-    // the upper bound of 'num_remaining_segments - max_segments' is '2 * N'
-    if (new_expiring_segments * 2 > num_remaining_segments)
-      break;
-
-    if (max_expiring_segments > 0 &&
-       expiring_segments.size() >= max_expiring_segments)
-      break;
-    
     // look at first segment
     LogSegment *ls = p->second;
     ceph_assert(ls);