Potential data loss in Tracker systems using the Android App/SDK or Tracker API to upload images

As per our ticket https://jira.dhis2.org/browse/DHIS2-12005, there is a specific case where users uploading images to Tracker using the DHIS2 Android Capture App / Android SDK (or a custom application that uses the Tracker API) receive confirmation in their app that the images have been synced–uploaded and saved in the central DHIS2 system–while in fact they are only stored locally on the device where the app is running. This creates the potential for data loss if additional steps are not taken to sync these local images with the server.

We have identified the issue, and the new version of the Android Capture App (2.5.1) will force a synchronisation of the images that were not previously synchronised (this fix comes with the DHIS2 Android SDK version 1.5.1 that is part of the mentioned App). The problematic TEIs will be marked as “unsync” and they can be synchronised manually or via a full “data sync”. The SDK will also include a fix to avoid leaving TEIs in a “synced” state where the images might not have been properly sent. Any application built on top of the SDK for handling Tracker data is recommended to upgrade.

For those who are not able to update the app or the SDK, we are implementing a mitigation on the API: it will notify you when the files are not synced, providing better error messages.

To verify if you are affected by this bug, run SQL query as reported in this ticket’s comment: if it returns some data, it means you have Android devices with unsynced data and therefore it is critical to update the Android version to force the resynchronisation. To ensure the issue has been fixed, re-run the SQL query after the affected devices have been updated. If it still returns data, please reach out to us to better assess the situation and provide guidance.


9 posts were split to a new topic: Android 2.5.1 AutoValue_D2Error (bug or configuration error?s)

For android app - web versions compatibility information check the official documentation: DHIS2 Android App - DHIS2 Documentation or in the Android releases notes (either github, CoP ).