Clone <> in Trafodion

TM Support for DDL Alter Table

Addition of TM support for DDL Alter Table

DDL Trans - Support for queuing DDL requests in TM

Support for queuing DDL requests in multithreaded TM.

Queuing support will allow concurrency in TM while DDL

requests are sent. TM will be able to accept other DDL

requests and other jobs while worker threads complete

the DDL requests queued.

Change-Id: I8081f6eeb69868239c9019eb988cc2b556d2fb26

DDL Tx, Changes to handle upsert using load operations on abort

SQL statements 'upsert using load' will be executed outside of a

transaction even though the operation can performed inside a

transaction. For this reason, it is necessary for us to handle this

data differently when a transaction aborts or fails.

These operations will be registered as part of the TmDDL manager

and if the transaction is aborted, that table gets truncated. The data

loaded will be deleted but table will still exist. At the moment, this is

handled by using disable, delete and create hbase methods. However, when

hbase is upgraded to the next version, we will use the truncate hbase

method option.

Change-Id: Ica9d81a284b5f1821a3048b9c8deaad449a4c4f4

    • -0
    • +1
    • -0
    • +51
    • -0
    • +4
  1. … 3 more files in changeset.
Transactional DDL - Salted Tables functionality

Added salted table functionality to transactional DDL create

It currently works with large numbers of table partitions and large

key lengths.

Change-Id: Ia5d9113678d697fdcd9f60021fc2dd3eb18fda0f

    • -1
    • +1
    • -3
    • +48
    • -1
    • +7
  1. … 8 more files in changeset.
Support for TM not running state - output for REST/HPDSM

Added a new state for dtmci to handle all error situations when

a response is not received by the TM. So far, these errors are

handled as a NOT RUNNING state for the TM. Display in json format

has been corrected.

Change-Id: Id19c73a47ad4ae49dac231962e1d3d5e8ae96dc0

Transactional DDL, Drop Table functionality

Added Transactional DDL, Drop Table functionality from SQL side to the

TransactionManager in the TM java side.

Code has been tested with create table/drop table flow with sqlci.

Change-Id: I3fc7d8cf395cd2ae06884c92d1d0c583a3100ea9

    • -0
    • +1
    • -0
    • +49
    • -0
    • +2
Phase5-DDLTransactions, SQL and TM changes

Changes in TM and JNI to pass transid and table name

Changes in SQL to accept create ddl request within a transaction

Change-Id: Id35c42c71822d7731c85bb3339d4014ac1cb0572

    • -1
    • +1
PHASE3&4- Transactional DDL - TM, RM, TMlib and JNI changes for create

RM changes to accept SQL requests

JNI changes for RM java to communicate with TMlib cpp

TMlib changes to accepts different DDL requests and send messages to TM

Changes in TMcpp side to receive ddl create request

Changes in tmmsg header to receive multiple types of ddl requests

JNI changes to pass 'createTable' requests from TMcpp to Tmjava side

Change-Id: I2e30c57298111293dc91bae7deeb44b92be0e9c1

    • -0
    • +1
    • -1
    • +51
    • -0
    • +2
    • -0
    • +46
    • -0
    • +43
  1. … 5 more files in changeset.
Phase2 - DDL Transactions - create

Changes in TM java side for DDL transactions - create table

Change-Id: Ib5ea64f9fb7d47d0fd45d1d89647d6b8dfc69c7e

DTMCI changes to support REST/HPDSM

Changes to 'status tm' and 'stats' in dtmci to make output json

compatible so it can be used by REST server/HPDSM.

Change-Id: Id19fb85e943c8a594d79758c217af7de4aa02846

DDL transactions TM changes

Added functionality at TM startup time where TM0 can

create a table and set a region that will be used for the coprocessor

work and used for servicing the DDL requests from SQL.

TDDL table will be created at trafodion startup time, if the table

is already created, nothing happens. If it has not been created,

TM0 will be the only one creating this table since only one table

per cluster will be needed.

This table will only be deleted when uninstall trafodion happens.

Changed table name to TRAFODION._DTM_.TDDL

Copyright date updated.

Added details to try/catch methods.

Change-Id: Ie48b7a0807f939e5b4072d9695d6ba93467734c8

    • -2
    • +5
    • -0
    • +75
Changing logging level for dtm log4j

Changes to log4j.dtm.conf logging level for hbase to 'ERROR' and

dtm to 'INFO'

Change-Id: Iacb908c52ea936afc432cc4fe25e74403c9626db

dtmci changes to allow its usage from different userid's

Changes were made to use an alternative monitor api for the startup process.

Change-Id: I1b2830f3ae0565a3eb605033a7323f1f170cceef

Indentation fix - recovery node down message

Fixed indentation on method to send node ID on node down

event for recovery.

Change-Id: I86dd1cde53277b5b6415170ef263c0c91c16d558

Node Failure Recovery

Implementation for a node failure recovery completed

by Shangsheng, Oliver and Adriana.

Author: Shang-Sheng Tung <>

Date: Wed Dec 3 20:47:37 2014 +0000

add node down code (region server)

Author: Oliver Bucaojit <>

Date: Tue Nov 25 22:32:48 2014 +0000

Recovery thread changes, nodeDown and nodeUp addition, full try/catch and retry logic added to RecoveryThread

Author: <>

Date: Tue Nov 25 01:39:20 2014 +0000

TM changes to send node id on a node down and a node up.

JNI changes on C++ and java side.

Change-Id: Ic84ab9f13af6290970147a76cb6535b36d7c1425

    • -0
    • +48
    • -0
    • +4
Disabling dtmci 'status regions'

Disabling 'status regions' functionality from dtmci since it needs

to be upgraded to work for hbase98.

Change-Id: I97679a6d4a71713130e62cf266318eab041fac98