omap_root_t &omap_root,
     Transaction &t,
     const std::string &first,
-    const std::string &last,
-    omap_list_config_t config) = 0;
+    const std::string &last) = 0;
 
   /**
    * clear all omap tree key->value mapping
 
   omap_root_t &omap_root,
   Transaction &t,
   const std::string &first,
-  const std::string &last,
-  omap_list_config_t config)
+  const std::string &last)
 {
   LOG_PREFIX(BtreeOMapManager::omap_rm_key_range);
   DEBUGT("{} ~ {}", t, first, last);
   assert(last != "");
   return seastar::do_with(
     key_range_t{first, last, 0, false, false},
-    [this, &omap_root, &t, config](auto &key_range) {
+    [this, &omap_root, &t](auto &key_range) {
       return trans_intr::repeat(
-        [this,  &omap_root, &t, config, &key_range]()
+        [this,  &omap_root, &t, &key_range]()
       {
         return get_omap_root(
           get_omap_context(t, omap_root),
 
     omap_root_t &omap_root,
     Transaction &t,
     const std::string &first,
-    const std::string &last,
-    omap_list_config_t config) final;
+    const std::string &last) final;
 
   omap_iterate_ret omap_iterate(
     const omap_root_t &omap_root,
 
     [&t, &onode, FNAME]
     (auto &omap_manager, auto &root, auto &first, auto &last)
   {
-    auto config = OMapManager::omap_list_config_t()
-      .with_inclusive(true, false)
-      .without_max();
     return omap_manager.omap_rm_key_range(
-      root, t, first, last, config
+      root, t, first, last
     ).si_then([&t, &root, &onode, FNAME] {
       if (root.must_update()) {
         omaptree_update_root(t, root, onode);
 
     const std::string &first,
     const std::string &last) {
     logger().debug("rm keys in range {} ~ {}", first, last);
-    auto config = OMapManager::omap_list_config_t()
-      .with_max(3000)
-      .with_inclusive(true, false);
 
     with_trans_intr(
       t,
       [&, this](auto &t) {
       return omap_manager->omap_rm_key_range(
-       omap_root, t, first, last, config);
+        omap_root, t, first, last);
     }).unsafe_get();
 
     std::vector<std::string> keys;
-    size_t count = 0;
     for (auto iter = test_omap_mappings.begin();
-       iter != test_omap_mappings.end(); ) {
+      iter != test_omap_mappings.end(); ) {
       if (iter->first >= first && iter->first < last) {
-       keys.push_back(iter->first);
-       iter = test_omap_mappings.erase(iter);
-       count++;
+        keys.push_back(iter->first);
+        iter = test_omap_mappings.erase(iter);
       } else {
-       iter++;
+        iter++;
       }
-      if (count == config.max_result_size) {
-       break;
+      if (iter->first >= last) {
+        break;
       }
     }
     return keys;