On Tue, 20 Oct 2015, [email protected] wrote:
> Hi Sage?
>
> In the following function, we can ensure is_missing(soid) is equal with
> is_missing(soid, primary_have_version) ?
>
> int ReplicatedBackend::start_pushes(
> const hobject_t &soid,
> ObjectContextRef obc,
> RPGHandle *h)
> {
> ...
> for (set<pg_shard_t>::iterator i =
> ...
> if (j->second.is_missing(soid)) {
> <---------------------------------
> ++pushes;
> h->pushes[peer].push_back(PushOp());
> prep_push_to_replica(obc, soid, peer,
> &(h->pushes[peer].back()), h->cache_dont_need);
> }
> ...
> }
>
> In my environment, we got a assert, but no more infomation:
> osd/ReplicatedPG.cc: In function 'virtual void
> ReplicatedPG::on_local_recover(const hobject_t&, const object_stat_sum_t&,
> const ObjectRecoveryInfo&, ObjectContextRef, ObjectStore::Transaction*)'
> thread 7fa379c14700 time 2015-08-28 17:56:08.194843 osd/ReplicatedPG.cc: 211:
> FAILED assert(is_primary())
This looks like
http://tracker.ceph.com/issues/13111
I really don't think we should be seeing this assert fail. I would like
to see logs before making changes... hopefully this is something you can
reproduce with logging? (debug osd= 20, debug ms = 1)
Thanks!
sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html