Clone Tools
Constraints: committers
Constraints: files
Constraints: dates
Merge remote branch 'core/master'

  1. … 2810 more files in changeset.
Repository support in MT server #2

This is the second installment of code for the repository functionality

in the DCS multi-threaded server/T2. Adding query statistics code.


This code is for compile only for now and not part of any active code path.

Most of the this is existing code from MXOSRVR side and is made to fit

into T2.

There are some temporary to-do comments in the code which shall be

removed eventually.

Change-Id: Iff4a3ec9d87ad6d3ce7c2e1882126368ce9e6d6b

    • -0
    • +2537
    • -0
    • +458
  1. … 1 more file in changeset.
Repository support in MT server #1

This is the first installment of code to start including repository

functionality in the DCS multi-threaded server/T2. Includes only session statistics code for now.

Note: This code is for compile only for now and not part of any active

code path.

There are some temporary to-do comments in the code which shall be removed eventually.


Patch set #2: Updated with review comments

Change-Id: Ida3689d9c0f029ebb47e6d87e670d0a4a1653480

    • -0
    • +291
    • -0
    • +491
    • -0
    • +428
  1. … 1 more file in changeset.
Fix a double free when close a connection

The Driver will free the sqlError when then connection is closed. So the

code free the sqlError after throwSQLException() should be removed.

Change-Id: I6d33b184b86c91e25a8510cb8168c05abb74e71e

Move core into subdir to combine repos

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

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

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

to view file history thru renames.

  1. … 10823 more files in changeset.
Publishing properties added to T2 Driver

followingpublishing properties have been added:

statisticsIntervalTime default value 60 seconds

statisticsLimitTime default value 60 seconds

statisticsType default value aggregated

programStatisticsEnabled default value true

statisticsSqlPlanEnabled default value true

this change (1685) and the corresponding DCS change (1686) are



Fixed reported issues

Change-Id: I7fc5380742a6d8a8a21b3f58b79288fb5ec2653a

  1. … 2 more files in changeset.
Support big column larger than 32k for JBDC T2

[bug 1451707]Call function failed when expect to select 200k utf8

column size from a table.

[bug 1451693]T2 server return trunctated column size to T2 client.

Change-Id: Icb2b9a9089c17d4c8e64c4af0c68468efbcd19a3

  1. … 1 more file in changeset.
Changes to reduce the memory leak in T2 Driver.

1. add MEMORY_DELETE_ARRAY which use "delete []" to free the resource

which resulted from a previous array new-expression (new []).

2. fix some point values which not be freed before.

3. fix a double free in getSQLCatalogInfo.

4. bug 1450349: NullPointerException when close a ResultSet of


Change-Id: I064648bf577a0d41f457d39836a5248f4e1a9f51

  1. … 1 more file in changeset.
Merge "[bug:1440941]T2 Phoenix tests creating cores at CliStatement::doOltExecute"

[bug:1440941]T2 Phoenix tests creating cores at CliStatement::doOltExecute

Change-Id: I31d42e96bf15ebd58ca9bd2f9a2532030d0f0e02

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[8605] Committing a transaction which has not started.

ERROR[8609] 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

Change-Id: If0ae5475ed9986c8996cb324e679a615e62cd9b1

  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.
changed default schema to TRAFODION.SEABASE

Change-Id: I2d079ed749c0a8110629d23710479f1f7892f9bf

fix t2 catalog api

Change-Id: I726a226541a650d61ad25284c4d12a34d40f469a

B#1419922 Statement/PreparedStatement fetchsize100

Change-Id: I53e2d81c6e12df17da9428e763f7750760105b91

  1. … 5 more files in changeset.
Changes for Bug #1403380

This is a re-commit.

Including cleanups for unused java references in native,

and made the native driver global objects(gJNICache, gSrvrGlobal)

be global for the process, gDescItems will be thread local.

Change-Id: I6ec2334e06c1bd346757fcf1e2816add99d9503f

  1. … 3 more files in changeset.
Fix for bug 1404430 Phoenix T2 tests core dumping in CliStatement::execute

Phoneix T2 tests involve multiple JDBC connections in a single thread and

hence multiple CLI contexts in a single thread. With cancel

feature enabled, there is an outstanding nowaited query started message.

In the master process, SQL always wait on a set of IPC connections pertaining

to the current JDBC/ODBC connection for the nowaited IOs to complete in every

SQL thread.

With fast completion enabled in master, the SQL engine was completing the

IO for all the thread specific nowait IO calls without limiting itself

to a specific JDBC connection.

Disabled fast completion in Type 2 JDBC driver that enables set of

connection based nowait completion.

Change-Id: Ia1b6323acb3aeb1edc6bbd9eb3e242f4bedade63

TEST checkin-wait for verify-NDCS build fix part-2.

Change-Id: Ieecdb399fc67c9efeb3d59590d28cf79c23b0042

  1. … 3 more files in changeset.
T2Driver - more minor fixes

Change-Id: I6f9ea31172e428a18be77ee87df6da8212847b56

  1. … 2 more files in changeset.
fix #1395212 With multiple statements,statement seems to be closed.

Change-Id: I8ec5bc1e87865240e6aa26a7afde44fa92da4305

  1. … 1 more file in changeset.
Changes in T2 driver to support new NA server.

1. T2 Driver: added method necessary for NA Server

- Changes are in java and native parts

- used to pass back to NA Server: Descriptors and SQL Data

2. T4 Driver: added property TCP_NoDelay

- disable/enable TCP Nagle's algorithm

- defined in property file

- snytax: TCP_NoDelay <yes/no>

- default is <yes>

3. T4 Driver: added functions LTrim and RTrim.

- Used in INTERVAL data type to suppress right zeros.



Changes in T2 driver:

1. Changed year in copyright info to 2015

2. Changed charset from UTF-16BE to UTF-16LE

3. Changed allocLength for dataType VARCHAR_WITH_LENGTH(-601) and

charset not ISO8859 to (allocLength - 1).

Changes in T4 driver

1. Changed year in copyright info to 2015



Fixed reported issues

Change-Id: I276da01a0cd3c8ac704ebde8ebed071e58d928d3

  1. … 15 more files in changeset.
Fix Bug #1366987 T2 Version no. and T4 name

Change-Id: Ifd9dbb272afa238da80abc0d88199b461d251db8

  1. … 3 more files in changeset.
Fixed typos in user-visible messages and sample code

Fixed spellings and minor grammar in strings used in

in output, and sample code supplied to users.

One possibly harmful misspelling was found in source code,

file sqf/monitor/linux/montim.cxx used "Contianer_ExitProcess"

where it should have used "Container_ExitProcess".

Five files which could be changed for this reason are being held back

because they are also in open change 875. They will be checked in after

that change is merged to the main branch:






In patch set 2, modified these files as notde by reviewer:







Change-Id: I3761e9e1518ab39415806bba0f4ed93d14e1d41c

  1. … 56 more files in changeset.
Fix for bug 1395212

T2 driver is resuing an existing statement that is closed but not

dropped to execute a new query. SQL does not allow reusing the

statement without dropping it. Fixed to ignore the statementId passed


Change-Id: I318b150ca9a5d87a244177c54c61352724e3767e

Changes to first review comments from Ruo-Yu

Fix merge issues.

Initialized new data members of connection handle class and return error

when dialogueID is null.

Merging multi thread T2 driver changes to mainline

1) Fix global variables for multi thread env

2) Fix static variables for milti thread env

3) Fix non thread safe standard C function calls with thread safe calls.

commit 7780a77f0cf3e5c2d3991b07f026b2a1f223bc7e

Merge: b7aa077 1bfe9c6

Author: Pavani Puppala <>

Date: Thu Dec 4 19:42:42 2014 +0000

Merge remote branch 'opensrc/master'

commit b7aa077886c9ada2bf13b6b8a0982e1c95d64ade

Author: Pavani Puppala <>

Date: Tue Nov 25 20:28:38 2014 +0000

Fix for bug #1355559

commit 439323d4d44cc45a01fbdb0febbfbb69b81b5dc1

Merge: 7dec9da d63d6ce

Author: Pavani Puppala <>

Date: Fri Nov 21 20:30:46 2014 +0000

Merge remote branch 'opensrc/master'

commit 7dec9da566aaaefd1fe84cd32060c91141511493

Author: RuoYu Zuo <>

Date: Wed Nov 19 06:42:02 2014 +0000

T2 global variables changes

commit e827950309bcc9a430e98d1d846b2bb74f86f4bd

Merge: 832f2e2 37053c0

Author: Pavani Puppala <>

Date: Fri Nov 14 01:01:04 2014 +0000

Merge remote branch 'opensrc/master'

commit 832f2e25f48768262f713b63727b7e0b91808d35

Author: xuk <>

Date: Fri Nov 7 09:01:11 2014 +0000

Make Spjrs_ and Spjrsval_ local variables

commit 5f3c1102643e929d20ffb77e638d52cc7509bdb2

Author: xuk <>

Date: Wed Nov 5 00:59:28 2014 +0000

T2 thread safe java part changes

commit db923630ccb406eff4ccff65562b35b4d92e488b

Author: Daniel Lu <>

Date: Fri Oct 17 07:46:33 2014 +0000

replace c std call with thread safety version.

Change-Id: Ibab8f9b40b61c5ddc4c285ecb34e4c984881b128

  1. … 9 more files in changeset.
Delivery of the Migration to HBase 0.98 branch

Change-Id: I410b90e0730f5d16f2e86a63cbffe4abaf9daa5d

  1. … 287 more files in changeset.
Catalog api functionality for T2 driver

Change-Id: Iee17029332f2815279b96f6cedf8fc75d042d7fb

  1. … 3 more files in changeset.
Fix #1336979, #1342954, #1340400, #1342945, and #1315194

There are 6 things done by this change set:

* Uses a mutex to prevent use of the LLVM library code by

more than 1 thread at a time.

* Links into sqlci and tdm_arkcmp to use signal

chaining so that both Java and LLVM can have signal handlers

for SIGSEGV (and several other signals).

* Ensures that LLVM's signal handlers are in effect when LLVM is

being used and not in effect when LLVM is not in use. (One would

think that LLVM would ensure this, but it currently does not.)

* Enables the Native Expressions feature by default.

* #ifdef's out the code in SQLMXConnection.cpp which was disabling

the Native Expressions feature for the multithreading T2 driver.

* Changes from default JIT code generation (generating for the specific

x86 chip the SQL Compiler is running on) to generating code for

a generic x86-64 chip. This should prevent the 'invalid' instructions

which were seen on some of the Jenkins slave** machines. is part of the Java package that we are using.

The changes being made to the makefiles are to get

linked into the executables before Java and before LLVM.

A short description of libjsig is at:


The way that LLVM currently handles various signals is a little

strange: The first time that you call the LLVM library, it saves off the

signal handlers for 11 different signals and establishes its own handler

for these signals. [Specifically, it does this when our code calls

llvm::verifyFunction().] The LLVM library code does not restore the

signal handlers before returning! (It will restore them only if its

signal handler ever gets called. Basically, LLVM believes that if any

of those 11 signals occurs while in LLVM code, then LLVM has basically

"crashed" and it wants to possibly delete some intermediate files and

essentially shut things down.)

Java, on the other hand, uses these signals for its own purposes -

particularly SIGSEGV. We do not want Java threads calling LLVM's

signal hander. So it is important to not leave LLVM's signal hander

established as the handler for these signals when the LLVM library is

not currently in use.

This has been pre-reviewed by Justin, Qifan, and Selva, except for:

* the 13 lines of changes to sql/exp/ExpPCodeOptsNativeExpr.cpp for

getting the JIT compiler to generate code for a generic x86-64 chip,


* the changes to conn/jdbc_type2/native/SQLMXConnection.cpp to re-enable

Native Expressions for the multi-threading T2 driver.

All dev regressions were run several times on a workstation and

several times via EC with no core files being produced.

Phoenix tests and multi-threaded T2 tests were also run several times.

Also, the Jenkins "check tests" (including Phoenix tests) were run

several times -- until the 'core' regression suite ran successfully

on slave07 (which is one of the machine where the 'invalid' machine

instruction was produced previously.)

Change-Id: I07931ccfac6bfa7cfd286a2a8a12140415cc91ac

  1. … 5 more files in changeset.