.NET Bad progress information (DOWNLOAD)

Hi,

some user android of my xamarin forms app obtain in GetRealmAsync:

2021-10-08 08:02:43.192 Info: Connection[1]: Connected to endpoint ‘52.16.113.157:443’ (from ‘10.0.2.16:46330’)
2021-10-08 08:02:43.275 Info: Connection[1]: Verifying server SSL certificate using 155 root certificates
2021-10-08 08:02:44.585 Error: Connection[1]: Session[1]: Bad sync progress received (3)
2021-10-08 08:02:44.585 Info: Connection[1]: Connection closed due to error
A system error occurred while opening a Realm. See InnerException for more details.
Bad progress information (DOWNLOAD)

Can you help me?

This is an issue with the sync server and we’ll need to get someone from the support team to investigate it. Please open a ticket at https://support.mongodb.com/ and someone should help out.

ok

Meanwhile, I tried to delete the realm when I get this error, but it is already open!

try
{
	vRealmDb = await Realm.GetInstanceAsync(config);
}
catch (RealmException e)
{
	Realm.DeleteRealm(config);
	vRealmDb = await Realm.GetInstanceAsync(config);                            
}

this is exception:

Cannot delete files of an open Realm: ‘/data/user/0/com.gigios74.Talk/files/mongodb-realm/talk-dajgo/614512cb063503f6b46fc8c7/s_cs.realm’ is still in use.

Why Realm is in use?

It’s because Sync is still using it - it will eventually release the Realm file, but it’s not immediate.

Can I release programmatically?

No, this is handled internally. You can retry the deletion while sleeping in-between.

If I have a DOWLOAD error, I store in AppProperties a precError and I crash app.
At AppRestart, first Delete.

if(precError) Realm.DeleteRealm(config);
vRealmDb = await Realm.GetInstanceAsync(config);

this works