Migrate from log4cpp to log4cxx This change is a wholesale removal of log4cpp from source tree. log4cxx is an external library installed via RPM, or user build to default /usr/lib64 and /usr/include directories. Some of the QRLogger and CommonLogger code was changed to use the new log4cxx APIs.
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.