|Summary:||no logging during local sync|
|Product:||SyncEvolution||Reporter:||Patrick Ohly <patrick.ohly>|
|Component:||SyncEvolution||Assignee:||Patrick Ohly <patrick.ohly>|
|Status:||RESOLVED FIXED||QA Contact:|
|i915 platform:||i915 features:|
|Bug Depends on:|
Description Patrick Ohly 2012-10-12 13:50:56 UTC
The local sync in the IVI use case must not write anything to disk except for the actual data changes. This means: - disable logging in .cache/syncevolution - don't write sync meta data to .config/syncevolution for PBAP, because it always does a slow sync and needs no meta data.
Comment 1 Patrick Ohly 2012-12-04 14:47:22 UTC
(In reply to comment #0) > - don't write sync meta data to .config/syncevolution for PBAP, > because it always does a slow sync and needs no meta data. Done like this: commit 4d9a23e8a4c8107b3664f019dcba3a155c7cacbd Author: Patrick Ohly <email@example.com> Date: Tue Dec 4 15:38:03 2012 +0100 PIM + sync: write less data to disk (part of FDO #55921) Avoid writing config file changes to disk by enabling a new "ephemeral" mode for syncing via the PIM Manager. This mode is enabled via the sync mode parameter of the D-Bus API and from there passed through to the SyncConfig and local sync helper. It cannot be enabled in the config files (yet?). In this mode, config file changes are not flushed resp. discarded directly in the config nodes. This prevents writing to .ini files in ~/.config. The "synthesis" binfile client files are still written, but they get redirected into the session directory, which can (and should) be set to a temp file system and get deleted again quickly. Data dumps are turned off now in the configs created by the PIM Manager.
Comment 2 Patrick Ohly 2012-12-04 16:14:18 UTC
(In reply to comment #0) > The local sync in the IVI use case must not write anything to disk except > for the actual data changes. This means: > - disable logging in .cache/syncevolution Instead of disabling it entirely, which may or may not be what is wanted, better allow directing the logging to a temporary directory. I implemented two new peer properties for that. Note that disabling it entirely is not possible at the moment, the synthesis meta information gets dumped into the session directories. commit 4036ba701c6578c1cdbf61d047af24123a06fa30 Author: Patrick Ohly <firstname.lastname@example.org> Date: Tue Dec 4 17:11:21 2012 +0100 PIM: allow configuration of session dirs (part of FDO #55921) Useful for moving the session directories to a temporary file system. They are essentially just useful for debugging when used as part of PIM Manager. - "logdir" - a directory in which directories are created with debug information about sync session - "maxsessions" - number of sessions that are allowed to exist after a sync (>= 0): 0 is special and means unlimited, 1 for just the latest, etc.; old sessions are pruned heuristically (for example, keep sessions where something changed instead of some where nothing changed), so there is no hard guarantee that the last n sessions are present. Probably we need to revisit whether this functionality is good enough, so I am keeping this open.
Comment 3 Patrick Ohly 2013-09-30 11:36:00 UTC
Logging via DLT (bug #66769) should be the right solution for not writing any syncevolution-log.html files. The Synthesis binfile issue is still open.
Comment 4 Patrick Ohly 2014-07-23 09:12:13 UTC
(In reply to comment #3) > The Synthesis binfile issue is still open. Fixed now with libsynthesis: commit a9d907d78ca0eba61f6796093770bdf049edb498 Author: Patrick Ohly <email@example.com> Date: Tue Jul 22 16:24:08 2014 +0200 autotools: bump Linux/SyncEvolution sub-version for /dev/null binfiles commit 15f4f871da86802ea24dee34e1cfea56cafb804b Author: Patrick Ohly <firstname.lastname@example.org> Date: Tue Jul 22 15:59:10 2014 +0200 binfile: /dev/null datadir path When the client already knows that it is never going to sync again or the next sync will have to be a slow sync anyway, then the binfile client files are not needed. Suppressing writing of them is useful on devices with flash memory to avoid flash wearout. The specific use case is PBAP caching in a car's head unit. When setting "/dev/null" as datadir, the platform layer will avoid creating the files and instead keep their content in memory. This is required (and sufficient) for syncing once, which will close and later read from some files at least once. Therefore the data cannot be thrown away completely. And SyncEvolution: commit 834c1e7a6b4d319c5853da217f3f3d0f8a944565 Author: Patrick Ohly <email@example.com> Date: Tue Jul 22 16:04:03 2014 +0200 ephemeral sync: don't write binfile client files (FDO #55921) When doing PBAP caching, we don't want any meta data written because the next sync would not use it anyway. With the latest libsynthesis we can configure "/dev/null" as datadir for the client's binfiles and libsynthesis will avoid writing them. The PIM manager uses this for PBAP syncing automatically. For testing it can be enabled by setting the SYNCEVOLUTION_EPHEMERAL env variable.