Hi,
I’m working on Android Java Realm. Realm is behaving as online-first. Realm is not opening in Offline mode. 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);
}
});
}
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.
When offline, Realm getInstanceAsync
callback is never called and getting multiple repeating logs of these types:
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
Is the configuration correct or am I doing something wrong?