Signed-off-by: Myoungwon Oh <ohmyoungwon@gmail.com>
const auto k = ent.get_key();
if (k == key) {
bl = ent.get_val();
+ found = true;
/* If key is time-series log,
* duplicate does not exist. In this case, return latest one */
if (is_log_key(k)) {
{
auto iter = iter_begin();
uint32_t index = 0;
+ bool removed = false;
while(iter != iter_end()) {
if (iter->get_key() == key) {
set_cur_bitmap(index, index);
if (is_log_key(key)) {
return true;
}
+ removed = true;
}
index++;
iter++;
};
- return false;
+ return removed;
}
bool LogNode::log_less_than(std::string_view str) const
}
}
ASSERT_TRUE(crimson::os::seastore::log_manager::is_continuous_fixed_width(keys));
+
+ {
+ CTransaction t;
+ bufferlist bl;
+ std::string key = "missing/0000000000000003.E915304E.head.benchmark%udata%utrial165%u44927%uobject62";
+ bl.append(std::string(128, 'f'));
+ test_obj.set_omap(t, key, bl);
+ do_transaction(std::move(t));
+ test_obj.check_omap_key(*sharded_seastore, key);
+ test_obj.rm_omap_range(*sharded_seastore, key, key);
+ }
});
}