}
if (b_objects.size() != a_objects.size()) {
- cout << "diff_objects num objs mismatch (A: " << a_objects.size()
+ cout << "diff_objects " << coll << " num objs mismatch (A: " << a_objects.size()
<< ", B: " << b_objects.size() << ")" << std::endl;
ret = true;
+ cout << "a: " << a_objects << std::endl;
+ cout << "b: " << b_objects << std::endl;
}
+ auto a_ch = a_store->open_collection(coll);
+ auto b_ch = b_store->open_collection(coll);
std::vector<ghobject_t>::iterator b_it = b_objects.begin();
std::vector<ghobject_t>::iterator a_it = b_objects.begin();
for (; b_it != b_objects.end(); ++b_it, ++a_it) {
}
struct stat b_stat, a_stat;
- err = b_store->stat(coll, b_obj, &b_stat);
+ err = b_store->stat(b_ch, b_obj, &b_stat);
if (err < 0) {
cout << "diff_objects error stating B object "
<< coll.to_str() << "/" << b_obj.hobj.oid.name << std::endl;
ret = true;
}
- err = a_store->stat(coll, a_obj, &a_stat);
+ err = a_store->stat(a_ch, a_obj, &a_stat);
if (err < 0) {
cout << "diff_objects error stating A object "
<< coll << "/" << a_obj << std::endl;
}
bufferlist a_obj_bl, b_obj_bl;
- b_store->read(coll, b_obj, 0, b_stat.st_size, b_obj_bl);
- a_store->read(coll, a_obj, 0, a_stat.st_size, a_obj_bl);
+ b_store->read(b_ch, b_obj, 0, b_stat.st_size, b_obj_bl);
+ a_store->read(a_ch, a_obj, 0, a_stat.st_size, a_obj_bl);
if (!a_obj_bl.contents_equal(b_obj_bl)) {
cout << "diff_objects content mismatch on "
}
std::map<std::string, bufferptr> a_obj_attrs_map, b_obj_attrs_map;
- err = a_store->getattrs(coll, a_obj, a_obj_attrs_map);
+ err = a_store->getattrs(a_ch, a_obj, a_obj_attrs_map);
if (err < 0) {
cout << "diff_objects getattrs on A object " << coll << "/" << a_obj
<< " returns " << err << std::endl;
ret = true;
}
- err = b_store->getattrs(coll, b_obj, b_obj_attrs_map);
+ err = b_store->getattrs(b_ch, b_obj, b_obj_attrs_map);
if (err < 0) {
cout << "diff_objects getattrs on B object " << coll << "/" << b_obj
<< "returns " << err << std::endl;
std::map<std::string, bufferlist> a_obj_omap, b_obj_omap;
std::set<std::string> a_omap_keys, b_omap_keys;
- err = a_store->omap_get_keys(coll, a_obj, &a_omap_keys);
+ err = a_store->omap_get_keys(a_ch, a_obj, &a_omap_keys);
if (err < 0) {
cout << "diff_objects getomap on A object " << coll << "/" << a_obj
<< " returns " << err << std::endl;
ret = true;
}
- err = a_store->omap_get_values(coll, a_obj, a_omap_keys, &a_obj_omap);
+ err = a_store->omap_get_values(a_ch, a_obj, a_omap_keys, &a_obj_omap);
if (err < 0) {
cout << "diff_objects getomap on A object " << coll << "/" << a_obj
<< " returns " << err << std::endl;
ret = true;
}
- err = b_store->omap_get_keys(coll, b_obj, &b_omap_keys);
+ err = b_store->omap_get_keys(b_ch, b_obj, &b_omap_keys);
if (err < 0) {
cout << "diff_objects getomap on A object " << coll << "/" << b_obj
<< " returns " << err << std::endl;
ret = true;
}
- err = b_store->omap_get_values(coll, b_obj, b_omap_keys, &b_obj_omap);
+ err = b_store->omap_get_values(b_ch, b_obj, b_omap_keys, &b_obj_omap);
if (err < 0) {
cout << "diff_objects getomap on A object " << coll << "/" << b_obj
<< " returns " << err << std::endl;