We are trying to make our application connect to Sybase Anywhere that is started dbsrv11 -ec TLS_RSA parameters. We can connect and do normal queries using isql (unixODBC) and dbisql (linux). Some of our processes are mission critical that we must scheduled it as real time. Because of this, we always get this message:
TLS handshake failure
in odbc log.
Our question. Do sybase anywhere certificate/rsa/tls libraries execute any process?If it is not does it execute any thread during connection initialization ? Does those executed process priority have its priority set ? In gdb we got this function "OS_WaitOnThreadTermination" waiting.
We are really appreciate your information.
asked 07 Mar '13, 08:17
The SQL Anywhere client libraries do not spawn any processes for any purpose related to certificates, RSA, or TLS. The only time a process is spawned is when a database server needs to be autostarted during a connection attempt (if needed) or when explicitly requested via a call to db_start_engine() function in dblib.
If you are using the multithreaded client libraries on linux (which I suspect you are) then the SQL Anywhere client code will create additional threads to manage and monitor the connections to the server(s). No special code exists when creating these threads to set the priority on these threads.
The function OS_WaitOnThreadTermination does what you might expect it to do given its name - it causes the executing thread - the thread that called this function - to wait for another thread (specified as a parameter) to terminate. This is normal in cases that the ODBC client has disconnected from the server and is in the process of destroying its ODBC environment (since this is when the client code will terminate the threads that it has created when the ODBC environment was created). It is not normal for this call to take a prolonged amount of time.
answered 07 Mar '13, 11:46