Hi Sam, I took a look at calc_acting and I can't figure out enough to create a bug report. There are checks based on last_update and tail but it is difficult go infer how it relates to the rewind_divergent_log function. If you can connect the dots for me I'd be happy to write down a proper bug report ;-) Cheers On 06/11/2013 01:02 AM, Samuel Just wrote: > I think that case may be possible, and that the assert may be wrong. > We have probably never seen a problem there due to > osd_min_pg_log_entries. It's also possible that there is a subtle bug > between there and calc_acting(). > -Sam > > On Sat, Jun 8, 2013 at 1:16 AM, Loic Dachary <loic@xxxxxxxxxxx> wrote: >> [Note: ceph-devel cc'ed] >> >> Hi Sam, >> >> While trying to create the conditions for the following to happen in PGLog::rewind_divergent_log: >> >> if (p == log.log.begin()) { >> // yikes, the whole thing is divergent! >> divergent.swap(log.log); >> break; >> } >> >> https://github.com/ceph/ceph/blob/master/src/osd/PGLog.cc#L355 >> >> I created this ( matching the drawing attached ), and the test case works. >> >> { >> pg_log_entry_t e; >> >> info.log_tail = log.tail = eversion_t(1, 1); >> newhead = eversion_t(1, 3); >> e.version = divergent_version = eversion_t(1, 5); >> e.soid.hash = 0x9; >> divergent_object = e.soid; >> e.op = pg_log_entry_t::DELETE; >> e.prior_version = prior_version = eversion_t(0, 2); >> log.log.push_back(e); >> log.head = e.version; >> } >> >> https://github.com/dachary/ceph/commit/d592d7f10968c56139cb470a4111ddfbe08a4030#L0R136 >> >> But it does not look like a situation that is actually going to happen. I feel something is missing and a hint would be much appreciated :-) >> >> Cheers >> >> -- >> Loïc Dachary, Artisan Logiciel Libre >> All that is necessary for the triumph of evil is that good people do nothing. > -- > 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 -- Loïc Dachary, Artisan Logiciel Libre All that is necessary for the triumph of evil is that good people do nothing.
Attachment:
signature.asc
Description: OpenPGP digital signature