Overview of common issues.
Request Gets Timeout But Response Is Returned¶
Problem: Sometimes an HTTP request gets
java.net.SocketTimeoutException on the app after sending it, despite mobile services sending back the response correctly.
Thus the error is not shown in mobile services logs or network traces.
Workaround: The reason for the timeout exception is, when there are many parallel HTTP requests sent to mobile services, the server may not be able to handle them in time.
To solve this, the client code needs to set a large timeout value for read and write operations.
OkHttpClient for additional information on timeouts.
OkHttpClient okHttpClient = new OkHttpClient.Builder() .addInterceptor(...) .connectTimeout(60, TimeUnit.SECONDS) .readTimeout(60, TimeUnit.SECONDS) .writeTimeout(60, TimeUnit.SECONDS) .build(); ClientProvider.set(okHttpClient);
Upgrade H2 Database¶
Problem: H2 database 1.4.199 or earlier versions have critical vulnerabilities, but after upgrading the database to 1.4.200, opening the database generated with previous versions is problematic. Users cannot use the connection accounts feature without the correct version of the H2 database.
Fix: upgrade the existing H2 database to 1.4.200 if the application encounters issues (because the existing database is version 1.4.199 or lower). The user will see a message prompting them to run a script to upgrade the H2 database. The script is in the installer file.
For Linux: Run
For Mac OS: Run
For Windows: Run