Fixes in T2 driver to enable OE performance run Following errors are ignored at the T2 jdbc driver to conform to JDBC/ODBC Standard.
ERROR Committing a transaction which has not started. ERROR Waited rollback performed without starting a transaction.
Memory corruption causing java core in T2 OE run. Row count is treated as 32 bit integer while SQL expects 64 bit numeric value to be passed to SQL_EXEC_GetDiagnosticsStmtInfo2. This was causing the corruption.
There was a possibility that the row count buffer was used after de-allocation. Fixed this code in Type2 JDBC driver
Changes to reduce the memory growth/leak in mxosrvr and T2 driver Memory growth in mxosrvr It was observed that the memory growth comes from JNIHandle::alloc_block within JVM in mxosrvr. PushLocalFrame and PopLocalFrame is now called in Trafodian JNI methods calling java functions to ensure this memory growth is avoided.
CommonLogger was allocating and deallocating buffer to log the message every time. Instead a thread safe variable is used to allocate only once per thread.
CommonLogger was constructing the message even when the category is NOT set. The message construction involves string creation and memory allocation.
Changes in T2. The buffer to hold the output row was allocated every time. It is now allocated once and reused till the statement is dropped.
The row count buffer was also allocated for every fetch but was used after deallocation. Cleaned up the row count allocation code.