JavaObjectInterface.cpp

Clone Tools
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Move core into subdir to combine repos

  1. … 10622 more files in changeset.
Move core into subdir to combine repos

Use: git log --follow -- <file>

to view file history thru renames.

  1. … 10837 more files in changeset.
Fix for regr hangs on CM machines.

Reducing java heap size for SQL objects to minimize RSS size and

overall physical memory usage. This may help overall memory usage and

avoid RS going down in some cases.

ALso fixed LP 1352419. More menaingful error message from sqlci when

trafodion is down.

Change-Id: I04a70bf1399904cfddbdc5e1ea903360361a8785

  1. … 1 more file in changeset.
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.

Change-Id: I7aad93beb03dc42a85b78da720737e2eb46a7080

  1. … 5 more files in changeset.
Tracking java calls from JNI

A thread local variable tsRecentJMFromJNI is introduced to track

the recent java method called from the JNI. When the core dumps

are analyzed, this variable can be printed out to figure out the

recent hbase call that possibly didn't respond.

Change-Id: Ie0dcea636829f98d60e741e98bec1a7f46ac50b8

  1. … 4 more files in changeset.
Avoid unnecessary memory allocation while logging via log4cpp

log4cpp.getInstance method takes in std::string argument. Wven the caller

passes in const char *, a std::string instance is created. Changed

code to pass std::string object from all callers to avoid memory

allocation from system heap

Change-Id: Id46e084b8eff8dacd31251a8a23ef013cf886a91

  1. … 8 more files in changeset.
Improving the path length for get or multi-row get operations

Reduced Java Object creation and JNI to java transition

for get or multi-row get operations.

Change-Id: I7d637c9d45027b20e6f1ffe28a82bb4fb1860d9e

  1. … 7 more files in changeset.
Manageability changes - event mgmt and stats publication

Implements changes to support event management using log4cpp.

Configuration files are located in $MY_SQROOT/conf folder and all logs

files are located in $MY_SQROOT/logs folder

For more information see the blueprint at:

https://blueprints.launchpad.net/trafodion/+spec/eventmanagement

Implements changes for publication of statistics to repository. For more

information see the blueprint at:

https://blueprints.launchpad.net/trafodion/+spec/repositorymetrics

Note:

In this initial delivery publication of statistics is disabled by

default and it can be enabled via DCS property. This code has been

reviewed internally prior to merging with mainline

Documentation:

https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability

Included timestamp to be part of the primarykey for metric aggregation

table

Addressed some of the comments and incorporated Anoop's change for

repository

Changed the queryBuf size in sql/sqlcomp/CmpSeabaseDDLrepos.cpp to 20000

Modified the sql/regress/seabase/EXPECTED024

Change-Id: I517575233c10b2a8683cdd1d53a2eec96d7c2a6f

  1. … 781 more files in changeset.
Fix for bug 1378926 - error 8448 with java.lang.OutOfMemoryError

Trafodion SQL processes dump java heap at $MY_SQROOT/logs in the

format java_pid<pid>.hprof when java.lang.OutOfMemoryError exception is

raised.

There were local references/global references that were not being deleted

in the trafodion code and that was causing leak in Java objects.

HTableClient_JNI objects are now cleaned up from the Java side if the

corresponding java objects are left in in-use pool at the time of ODBC/JDBC

disconnect. This takes care of memory leak on the C++ heap and java object

heap for such cases.

Change-Id: I799ed685ef0842ca1eebc9b55f146eaff2bd7729

  1. … 5 more files in changeset.
Fix for bug 1373179

Native Hbase Table access via Trafodion dumps core.

The error messages passed from Java layer to JNI was not handled

correctly leading to core dump. Fixed the error handling code correctly.

Also flagged three Java Objects in HTableClient for gc earlier to reduce the

java object memory usage.

Separated out the relase and flush HTableClient as two different operations

to ensure that HTableClient can be continued to be used even after flush.

Changed NAString in error routines to use the relevant heap instead of

system heap.

Change-Id: I3fac1b8de4745ec9c6f47fc8f64b483f9cc6ef36

  1. … 10 more files in changeset.
Changing the default JVM heap size to 1GB

The default heap size for JVM in the Trafodion processes is changed to 1GB

from 512MB. Earlier attempt to change it was incomplete.

Change-Id: I7de2ee1ee8cd60a2c0ebb3067baba1181dd4f210

Cleanup scan related functions

Incorporated the comments from change id 331

Changed ExpHbaseInterface_JNI::fetchAllRows method to use the new scan methods

Removed the scan related methods that are no longer used

Triggered the cleanup of Java objects at the time of releaseHTableClient.

Increased the default maximum java heap size to 1024MB from 512MB.

Change-Id: I851bcfa266504f609fdbcba6f2a5e9e6dd2937d3

  1. … 9 more files in changeset.
Enabling thread independent JNI objects

This submit includes the following changes:

1.Removes the restrictions that JNI objects can be used in the created

thread only.

2. SQL_EXEC_SwithContext CLI now manages the tidList_ correctly in the

CliGlobals structure.

3. ContextCli is now not associated with a thread.

This should further improve the thread safe concept in the trafodion engine.

This would possibly improve the robustness of mysql front-end to trafodion.

This change is also required to share CmpContext across multiple sessions in

future.

Change-Id: I57d61067f05ad7747159ca8eeede905a27a03c10

  1. … 9 more files in changeset.
Changes to improve IUD statement performance

Change Owner: Selvaganesan Govindarajan

Reviewer: Mike Hanlon

Summary of change:

Avoids intermediate Thrift objects for IUD statements to improve its

performance.

Changed the default max heap size for java objects to be 512mb

Change-Id: Ib50734f82afcf54c1dec6c182c2f936c3de1c18a

  1. … 8 more files in changeset.
Configure JVM initial heap size

To enable some performance testing, this change will

allow configuration of JVM initial heap size. A new

environment variable will be read when the instance

starts. The variable is named JVM_INIT_HEAP_SIZE_MB.

The unit is megabytes. Setting the variable to any

value above 0 will cause SQL set the initial heap size

for the JVM.

This change does not effect the setting of the JVM

maximum heap size. As before, the maximum is set to

a hard-coded default, currently 512MB, unless the

variable JVM_MAX_HEAP_SIZE_MB is set. Setting this

variable to zero has the effect of not configuring

any maximum.

In contrast, to avoid setting any value for the JVM

initial heap size, one can simply not define the

variable JVM_INIT_HEAP_SIZE. The reason for this

inconsistency in how to use the variables is to

preserve default behavior.

So, for example, to setup the JVM to have no maximum

heap size, while having an initial heap size of 32MB,

one must set both variables, as shown here:

JVM_INIT_HEAP_SIZE_MB=32

JVM_MAX_HEAP_SIZE_MB=0

Change-Id: I4f503eda59f263a2762adb79b7d79ef158a3852a

Implements: blueprint jvm-inital-heap-config

Fixing DTM early commit response to reply at correct point in state_change_commit_helper and sending the normal response at normal commit reponse at the end, in req_end_complete.

Additional changes to set the early commit response default to FALSE

(will NOT reply early, done for correctness).

Changes to set the default JVM allocation sizes, DTM set to 2048, SQL

set to 512.

Removing delay in sqlci that was added to have tests pass that were

failing due to an error 73.

Change-Id: I6baf0ad261d17d1ad9c227f31c423a4f26049a28

  1. … 5 more files in changeset.
Code Drop Update - 5/23/14

Change-Id: If478e8857cbfa9652227af7ed83cd61dd075a889

  1. … 163 more files in changeset.
Initial code drop of Trafodion

    • -0
    • +432
    ./JavaObjectInterface.cpp
  1. … 4886 more files in changeset.