Hello,
A new issue has been created and assigned
to you:
5 - configdate issue: configdate of InitEngineXML does not trigger the Put cmd
Project: libsynthesis
Status: New
Reported by: Yong Wu
Labels:
Type:Defect
Priority:Medium
Description:
To reproduce this issue using syncEvolution + Google sync:
1, send a newer valid configdate always (via syncEvolution)
2, change the contact type of Google sync as text/x-vcard or text/vcard to
check whether it take effect immediately
3, suppose other configs are correct, the expected behavior is, Google sync
will fail w/ 404 error with the text/vcard contact type, but will success with
text/x-vcard.
According to the observations, the engine has two chances to send the devinfo.
1, when the session to produce the next message.
--- a/src/sysync/syncclient.cpp
+++ b/src/sysync/syncclient.cpp
@@ -906,7 +906,7 @@ localstatus TSyncClient::NextMessage(bool &aDone)
if (localDS->fSlowSync) anyslowsyncs=true;
}
// create Put command if any datastore is doing first time sync / slow
sync or devinf Put is externally requested
- if (mustSendDevInf() || anyfirstsyncs || (anyslowsyncs &&
static_cast<TClientConfig
*>(getRootConfig()->fAgentConfigP)->fPutDevInfAtSlowSync)) {
+ if (fRemoteMustSeeDevinf || mustSendDevInf() || anyfirstsyncs ||
(anyslowsyncs && static_cast<TClientConfig
*>(getRootConfig()->fAgentConfigP)->fPutDevI
TDevInfPutCommand *putcmdP = new TDevInfPutCommand(this);
issueRootPtr(putcmdP);
}
2, the end message processing.
if (!fRemoteGotDevinf && fRemoteMustSeeDevinf) {
...
issueRootPtr(putcmdP);
}
The change of configdate never trigger the 1st Put ommand, but does has impact
on the 2nd Put (thr the fRemoteMustSeeDevinf). While it seems the later Put
does not work as the first one.
But if the fRemoteMustSeeDevinf condition is added to
the first Put(as it shown in the diff above), it will work perfectly as
expected.
--
Issue: http://www.synthesis.ch/indefero/index.php/p/libsynthesis/issues/5/
_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis