Problem: Various timeout errors are reported during client synchronization, especially in a cluster configuration.
Explanation: This may indicate that performance tuning is required to make Unwired Server processing more efficient.
Solution: Take one or more of the following actions to improve performance.
Configure the client connections to use a longer timeout on the connection. The default is the minimum value of 240 seconds, and the maximum value is 600 seconds. This value is set by adding the timeout property and desired value to the NetworkStreamParams on the connection.
For CS/UltraLite, assuming the generated DB class name is "MyPackageDB", the code to set timeout could be:
MyPackageDB.GetSynchronizationProfile().NetworkStreamParams="trusted_certificates=;url_suffix=;timeout=600"
For Java/UltraLiteJ, you cannot set timeout, because UltraLiteJ does not provide an API to set a timeout value for client connection. Sybase Unwired Platform generated client code for UltraLiteJ (such as for Java desktop and RIM replication based synchronization client) only supports the "trusted_certificates" and "url_suffix" properties in NetworkStreamParams. If you set other properties in NetworkStreamParam, they will be ignored.
For additional information on setting the NetworkStreamParams properties, search System Administration for references to "stream parameter." The topic Verifying Device Client HTTPS Setup provides this sample code for setting stream parameter:
"url_suffix=/ias_relay_server/client/rs_client.dll/[SUP_FARM_ID];tls_type=RSA;trusted_certificates=rsa_root.crt;identity=id_client.pem;identity_password=pwd;"
Add retry logic to your client application code to retry syncs that fail with timeout.