Mobile analytics app loses data when offline sync fails during cloud transition

Our field sales team uses Cognos Mobile for offline analytics, but since migrating to Azure cloud, we’re experiencing data loss during sync operations. When users work offline and then reconnect, about 30% of their locally captured data fails to sync and is permanently lost.

The offline sync mechanism stores data in local SQLite, but the sync queue seems to corrupt during the upload process. We’re not seeing proper transaction logging, so when sync fails midway, we can’t recover or retry the failed records.

Conflict resolution is another concern - when multiple users edit the same dashboard filters offline, the last sync wins and overwrites others’ changes. Our storage management on mobile devices is also problematic - the app cache grows unbounded until devices run out of space.

Error from mobile logs:


Sync failed: HTTP 409 Conflict
Local changes discarded: 47 records

We need a robust offline sync strategy for cloud-deployed mobile analytics. Any recommendations?

The unbounded cache growth is a serious issue. Implement a cache eviction policy - keep only the last 30 days of data locally and archive older data to cloud storage. Use LRU eviction for dashboard results. Also compress your SQLite database periodically using VACUUM command to reclaim space from deleted records.

We implemented retry logic with exponential backoff, which reduced data loss from 30% to about 12%. Still not acceptable though. The conflict resolution is our bigger problem now - users are complaining about lost filter changes.

For conflict resolution, you can’t just use last-write-wins in a collaborative environment. Implement a three-way merge strategy that compares local changes, server state, and the common ancestor. Flag conflicts that can’t be auto-resolved and let users choose. Store conflict metadata so users understand what changed.