-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
How frequently does the bug occur?
Always
Description
Expectation :
Realm.getInstance()
to load faster whether online/offline like any other offline library and continue read/write ops. And Realm check network connection, sync in background.
What actually happened :
Realm not behaving like offline-first. Works like online-only. Realm is not opening in Offline mode and taking very long in online.
When online, Realm.getInstanceAsync
takes long time to load, based on network speed. On fast network it takes ~1000ms and on slow network it takes almost 10-20 seconds.
This freeze the UI and makes it unsable.
Stacktrace & log output
2023-11-21 19:58:57.841 26613-26796 REALM_SYNC com.in E Failed to resolve 'ws.asia-south1.gcp.realm.mongodb.com:443': Host not found (authoritative)
2023-11-21 19:58:57.845 26613-26796 REALM_JAVA com.in W Unknown error code: 'unknown:1999'
2023-11-21 19:58:57.845 26613-26796 REALM_JAVA com.in W Unknown error code: 'unknown:1999'
2023-11-21 19:58:57.846 26613-26796 REALM_JAVA com.in E Session Error[wss://realm.mongodb.com/]: UNKNOWN(unknown:1999): WebSocket: Resolve Failed
2023-11-21 19:58:58.634 26613-26796 REALM_SYNC com.in E Failed to resolve 'ws.asia-south1.gcp.realm.mongodb.com:443': Host not found (authoritative)
2023-11-21 19:58:58.634 26613-26796 REALM_JAVA com.in W Unknown error code: 'unknown:1999'
2023-11-21 19:58:58.635 26613-26796 REALM_JAVA com.in W Unknown error code: 'unknown:1999'
2023-11-21 19:58:58.635 26613-26796 REALM_JAVA com.in E Session Error[wss://realm.mongodb.com/]: UNKNOWN(unknown:1999): WebSocket: Resolve Failed
2023-11-21 19:59:00.191 26613-26796 REALM_SYNC com.in E Failed to resolve 'ws.asia-south1.gcp.realm.mongodb.com:443': Host not found (authoritative)
2023-11-21 19:59:00.193 26613-26796 REALM_JAVA com.in W Unknown error code: 'unknown:1999'
2023-11-21 19:59:00.194 26613-26796 REALM_JAVA com.in W Unknown error code: 'unknown:1999'
2023-11-21 19:59:00.194 26613-26796 REALM_JAVA com.in E Session Error[wss://realm.mongodb.com/]: UNKNOWN(unknown:1999): WebSocket: Resolve Failed
Can you reproduce the bug?
Always
Reproduction Steps
Here is my code:
long startTime = System.currentTimeMillis();
app = new App(new AppConfiguration.Builder("app-id").build());
if (app.currentUser() != null) {
Log.e(TAG, "onCreate: Realm user already logged in uid -> " + app.currentUser().getIdentities());
SyncConfiguration config = new SyncConfiguration.Builder(app.currentUser())
.initialSubscriptions(new SyncConfiguration.InitialFlexibleSyncSubscriptions() {
@Override
public void configure(Realm realm, MutableSubscriptionSet subscriptions) {
subscriptions.addOrUpdate(Subscription.create(
realm.where(RealmCustomerModel.class).equalTo("uid", app.currentUser().getId()))
);
subscriptions.addOrUpdate(Subscription.create(
realm.where(RealmTxnModel.class).equalTo("uid", app.currentUser().getId()))
);
}
}).build();
Log.e(TAG, "Realm getInstance/Async started");
Realm.getInstanceAsync(config, new Realm.Callback() {
@Override
public void onSuccess(Realm realm) {
uiThreadRealm = realm;
Log.e(TAG, "onSuccess: Realm getInstanceAsync success in " + (System.currentTimeMillis() - startTime) + "ms");
populateUi();
Realm.setDefaultConfiguration(config);
}
});
}
Is the configuration correct or am I doing something wrong?
Version
10.15.1
What Atlas App Services are you using?
Both Atlas Device Sync and Atlas App Services
Are you using encryption?
No
Platform OS and version(s)
Android 12
Build environment
Android Studio version: Android Studio Giraffe | 2022.3.1 Patch 2
Android Build Tools version: ...
Gradle version: 8.1.2