SORMAS-Foundation / SORMAS-Project

SORMAS (Surveillance, Outbreak Response Management and Analysis System) is an early warning and management system to fight the spread of infectious diseases.
https://sormas.org
GNU General Public License v3.0
293 stars 142 forks source link

Investigate possibility of additional test creation without a sample ID #3436

Closed bernardsilenou closed 3 years ago

bernardsilenou commented 3 years ago

Bug Description

Expected Behavior

System Details

Additional Information

MateStrysewske commented 3 years ago

@bernardsilenou Tested it on my system by ugrading from 1.50.0 to 1.51.0 and had no problems with synchronization or the upgrade itself. Could you please verify it with another device (and ideally on another system as well)?

Regarding your first point, this was done on purpose to not disrupt users in their work. If a user is currently in an area with very bad internet connection, they might want to delay the app update. Getting the prompt to download and install the new update every time they synchronize would be very annoying, which is why it only appears on startup. We could however think about adding a "Check for updates" button to the settings that would allow users to manually trigger the update process without having to close the app.

bernardsilenou commented 3 years ago

@MateStrysewske Thanks for the information. I will test with the coming release. It is a good decision that we should not force the user to upgrade each time they sync. However it will be good to inform them of the new update as you suggested as long as the app is on. We can also add a warning message that good internet connectivity is needed to do the upgrade.

bernardsilenou commented 3 years ago

@MateStrysewske I did dug further by testing with another device with Fresh installation of 1,51.

  1. Fresh installation connected to server and pull infrastructure data, cases,event, samples, ... But not contacts. I confirmed on the wen that contacts existed but were not pulled. There seam to be something wrong happening with contacts and their responsible jurisdictions during sync process.
  2. Subsequent sync after the initial pull display "sync failed, please try again"
  3. Navigation and creation of entities on both tablets worked fine but no sync was possible with server One of the devices is logged to https://test1401.sormas-oegd.de/sormas-ui/#!users with user account bsiSOBayern
MateStrysewske commented 3 years ago

@bernardsilenou Looks like the test server contains at least one additional test that does not have a sample_id assigned, which leads to a database insertion problem in the mobile app which then in turn leads to the synchronisation problem. I.e., there is corrupt data in the database. I don't know how that happened, but it's definitely not a general problem with the mobile app.

bernardsilenou commented 3 years ago

@MateStrysewske I got it. So what is the logic we need to put in place to correct this king of issues?

In a workshop with the Nigerian users last week, they mentioned synchronization challenges as their main challenge. Things like this may appear in their systems also.

How can i test further?

MateStrysewske commented 3 years ago

@bernardsilenou I guess we'll have to investigate how it's possible that an additional test is created that doesn't have a sample ID. I'll reopen this issue and relabel it accordingly so we can have a look at it in the current sprint.

MateStrysewske commented 3 years ago

@bernardsilenou I made a few adjustments that MIGHT have an impact on this although I think it's unlikely. I can't produce an additional test without a sample ID on my system. I'll close this issue for now.

bernardsilenou commented 3 years ago

@MateStrysewske Super, I would test with 1,53 and give you feedback

bernardsilenou commented 3 years ago

@fhauptmann @MateStrysewske @kwa20 We discussed to further investigate the cause of this issue in the first place

fhauptmann commented 3 years ago

We still need to figure out, how it happened to corrupt the database. Can this happen on production environments, too?

bernardsilenou commented 3 years ago

I reopened because we want to keep track and test further

fhauptmann commented 3 years ago

I got a dump of the database from test1401: I didn't find a sample without UUID.

MateStrysewske commented 3 years ago

@fhauptmann The problem is not that there's a sample without a UUID, but that there are additional tests without a sample_id.

StefanKock commented 3 years ago

This ticket was solved by @MateStrysewske, merged and closed to the released version