void BackgroundSync::markOplog() { LOG(3) << "replset markOplog: " << _consumedOpTime << " " << theReplSet->lastOpTimeWritten << rsLog; if (theReplSet->syncSourceFeedback.supportsUpdater()) { theReplSet->syncSourceFeedback.updateSelfInMap(theReplSet->lastOpTimeWritten); _consumedOpTime = theReplSet->lastOpTimeWritten; } else { if (!hasCursor()) { return; } if (!theReplSet->syncSourceFeedback.moreInCurrentBatch()) { theReplSet->syncSourceFeedback.more(); } if (!theReplSet->syncSourceFeedback.more()) { theReplSet->syncSourceFeedback.tailCheck(); return; } // if this member has written the op at optime T // we want to nextSafe up to and including T while (_consumedOpTime < theReplSet->lastOpTimeWritten && theReplSet->syncSourceFeedback.more()) { BSONObj temp = theReplSet->syncSourceFeedback.nextSafe(); _consumedOpTime = temp["ts"]._opTime(); } // call more() to signal the sync target that we've synced T theReplSet->syncSourceFeedback.more(); } }
void BackgroundSync::markOplog() { LOG(3) << "replset markOplog: " << _consumedOpTime << " " << theReplSet->lastOpTimeWritten << rsLog; if (!hasCursor()) { sleepsecs(1); return; } if (!_oplogMarker.moreInCurrentBatch()) { _oplogMarker.more(); } if (!_oplogMarker.more()) { _oplogMarker.tailCheck(); sleepsecs(1); return; } // if this member has written the op at optime T, we want to nextSafe up to and including T while (_consumedOpTime < theReplSet->lastOpTimeWritten && _oplogMarker.more()) { BSONObj temp = _oplogMarker.nextSafe(); _consumedOpTime = temp["ts"]._opTime(); } // call more() to signal the sync target that we've synced T _oplogMarker.more(); }
void GTextBrowserItem::hoverEnterEvent( QGraphicsSceneHoverEvent *e ) { GWidgetItem::hoverEnterEvent( e ); qDebug( "TextBrowser hover enter %s", _item->cursor().data() ); if ( _item->cursor()=="auto" ) { qDebug( "unset cursor" ); if ( hasCursor() ) unsetCursor(); } else setCursor( PHI::toCursorShape( _item->cursor() ) ); }