Re: a problem about ReplicatedBackend::start_pushes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 20 Oct 2015, yangruifeng.09209@xxxxxxx 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux