This issue has been resolved. CEFlushDBVol works just fine, we were not
flushing all volumes in play. We've seen reasonable performance too, but I
would suspect that this won't be the same for everyone.
"Empower Mobility LLC" wrote:
> Good day -
>
> We're seeing a very peculiar scenario when using CEFlushDBVol (CEDB
> version).
>
> We go through a set of questions which calls CeWriteRecordProps for each
> anwser to a group of databases found inside a particular volume. We then
> flush the volume, wait 60 seconds and then soft reset the device before
> closing the dbs and unmounting the volume.
>
> When we reopen the application and mount the volume, we're not seeing what
> we saved and flushed. The results are also inconsistent; that is sometimes
> some of the data is there, sometimes not, but never all the data.
>
> Does this mean that, unless you close all your dbs and unmount the volume
> before a soft reset, that there is no guarantee that all that we saved and
> flushed will be persisted?
>
> The documentation suggests that a flush ensures that any writes to dbs were
> written out to permanent storage. Is this not really true then?
>
> That is, is the only way to ensure a complete capture of your data is to
> close all the dbs and unmount the volume so that any indexes and internal
> data structures get persisted is well?
>
> If so then flushing a volume (at least under CEDB APIs) does not truly flush
> everything needed. Obviously a soft-reset is infrequent, but we still need
> to sort out how to capture as much of the data in real time as possible.
>
> Unmounting and remounting, especially larger volumes and those located on SD
> cards is a time-consuming operation and not something we can do either.
>
> FWIW, we need to use CEDB because our client still uses 2003 devices where
> EDB is not supported.
>
> Any help in confirming the actual behaviour of this API would be fantastic.
>
> Thank you for your time,
>
> Tom @ eM LLC