Trafodion

Clone Tools
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Bug fixes

-- LP 1403987. An external arkcmp process was being started to compile

a query. That has been fixe by using embedded arkcmp

-- Code to switch to embedded arkcmp and then switch back can now be

done by calling a method on CmpSeabaseDDL clase

-- get schemas/get tables were showing correlated name instead of

the actual metadata table if an error occured during access of

the metadata table. That has been fixed.

-- During exit of sqlci and master executor process, volatile

tables are dropped. This was being done uncondionally and caused exit

perf degradation. Code has been fixed to check and see if a volatile

schemas was created during that session and if it did, then they

are dropped.

Change-Id: Ie43dbac23e38aeb90849574e70181138bfffebf6

    • -0
    • +51
    /sql/sqlcomp/CmpSeabaseDDLcommon.cpp
    • -63
    • +19
    /sql/sqlcomp/CmpSeabaseDDLtable.cpp
refactor TransactionState, subclassing.

Change-Id: Idc822b4438ddbb44b9532fcab2375609e2de44d7

Fix Bug #1366987 T2 Version no. and T4 name

Change-Id: Ifd9dbb272afa238da80abc0d88199b461d251db8

    • -35
    • +2
    /conn/jdbc_type2/native/SQLMXDriver.cpp
Merge "Manageability changes - event mgmt and stats publication"

Fix to close cursors in the current context and other changes

When the runtime detects that there is change in the transaction, all the open

cursors associated with the transaction in the context are closed.

Changed the token of the some of the counters in ExHbaseAccessStats

Cleaned up the NAMemory destructor code

Change-Id: Ia9fb7098b408b0eb334771264abca013905f7904

Merge "Fix for core dump while destroying NAHeap"

Pass object type to NATableDB:removeNATable

This change fixes a bug which can happen when indexes or

sequence generators are dropped and, due to NATable::objectUID_

not being initialize, the NATableDB:removeNATable method must

lookup the object UID from metadata. Before this change, the

code assumed anything looked up was a base table. Now the

object type is passed to NATableDB:removeNATable.

Change-Id: I4566ee68aa84367ea33c2e2bb1d3d6a346e8ce97

Closes-Bug: #1401999

    • -6
    • +16
    /sql/sqlcomp/CmpSeabaseDDLindex.cpp
    • -22
    • +42
    /sql/sqlcomp/CmpSeabaseDDLtable.cpp
Merge "Change of bug 1404038"

Fix for core dump while destroying NAHeap

Mutex in NAHeap was used after calling NAHeap destructor and this was causing

core dump sometimes.

Change-Id: Ic2bd7c77b9109b055a0718247a5e04016018434e

Merge "Fix multi-threaded problem - two completion threads."

Merge "Fix for bug 1404959"

Merge "Ustat fails with duplicate CLI statement name"

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:

conn/odbc/src/odbc/dependencies/linux/smxoevl.h

conn/trafci/src/org/trafodion/ci/InterfaceQuery.java

sqf/src/sp_proxy/sp_common.cpp

sqf/src/tm/tmlibmsg.h

sqf/src/tm/tmtimer.cpp

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

conn/jdbc_type2/samples/CreateDataSource.java

sqf/monitor/test/montestutil.cxx

sql/cli/Statement.h

sql/optimizer/RelExpr.h

sql/optimizer/RelScan.h

sql/optimizer/ScmCostMethod.cpp

Change-Id: I3761e9e1518ab39415806bba0f4ed93d14e1d41c

    • -13
    • +13
    /conn/jdbc_type2/native/SqlInterface.cpp
    • -8
    • +8
    /conn/jdbc_type2/native/jdbcUtilLib.cpp
    • -10
    • +10
    /conn/jdbc_type2/native/tslxInitialization.cpp
    • -3
    • +3
    /conn/jdbc_type4/src/T4Messages.properties
    • -5
    • +5
    /conn/odbc/src/odbc/Common/QSExceptions.h
    • -1
    • +1
    /conn/odbc/src/odbc/Common/TransportBase.cpp
  1. … 45 more files in changeset.
Refactored begintransaction for performance

Change-Id: I0eb58f8b1620036345b0992b78cb6ba4285b6df5

Merge "Additional transaction state checking and logging for continued analysis"

Fix for bug 1404959

Rename trafodion 'pkill' to 'traf_pkill' to avoid

conflict with /usr/bin/pkill.

Change-Id: Ibe76f212e1544b00480c6e890878274968352c7f

    • -0
    • +14
    /sqf/export/share/man/man1/traf_pkill.1
    • -0
    • +21
    /sqf/sql/scripts/traf_pkill
Fix multi-threaded problem - two completion threads.

Change-Id: I356b276d50524c2192656a231b71235550bdec01

Merge "fix for lp 1404271"

Ustat fails with duplicate CLI statement name

Under certain circumstances, processing of the ON NECESSARY

COLUMNS clause will occur while another dynamic cursor is

still open, causing the default statement name used by

HSCursor to be duplicated. When instantiating HSCursor for

NECESSARY, a unique statement name is now supplied to the

constructor.

Another unrelated change is included; the access clause for

the query to retrieve necessary columns now specifies FOR

COMMITTED ACCESS rather than FOR UNCOMMITTED ACCESS. This

is a response to a code review comment for the delivery of

ustat automation that was not included in that delivery

because of Git problems.

Change-Id: I574b62d0d665fd4b6fd79fd0c6184050bef82d63

Additional transaction state checking and logging for continued analysis

Change-Id: Ic3cf4c20baf2a6eb26791a0b082557c66aa46d10

Change of bug 1404038

Enable ODBC Driver to support "UPSERT"

Change-Id: Ic2ce17a3061b97b15ab9789ef7bc18c9aab27260

Keep writeOrdering list to prevent lost conflicts

Change-Id: I260ffa33cc46aa5f05e71263cdfba9122963352d

Merge "Adding recovery logging and TLog write with ASN"

Merge "Closes-Bug: 1404357"

Adding recovery logging and TLog write with ASN

Recovery logging example:

INFO dtm.HBaseTxClient: Starting recovery of 1 regions.

INFO dtm.HBaseTxClient: Recovery completed for TM0

Change in HBaseTmZK to replace deprecated method.

Writing a forgotten record from recovery thread with ASN

Change-Id: I49ee7deaec9f0a6a86d687b963942e988c7b2e80

Fixing ssh bug

Edit 1: Changing quotes

Edit 2: Commenting out checks until more review can be done.

Change-Id: I9726952546889db4b9aead7b9aa906cc7b00d732

Closes-Bug: 1404357

Added stdout and stderr redirection to files in the 'mpirun' child

process created by the 'shell'.

Deleted dormant code.

Added propagarion of 'SQ_SEAMONSTER' environment variable to 'mpirun'.

Change-Id: I9bf3748a1a83401e6d06943f33fd2e5c82e744f8

Manageability changes in DCS

1) Port mapping

At startup DcsMaster now creates a list of TCP/IP ports based on the

entries in the conf/servers file and writes it to the zookeeper

/<username>/trafodion/dcs/servers/registered znode. Each MXOSRVR reads

the port map list and retrieves its unique port number.

2) Trafodion repository

JDBC type4 is used to access SQL from DcsMaster. The feature is disabled

by default but may be enabled by overriding the unpublished

"dcs.master.trafodion.repository" property with a value of .true. in

your dcs-site.xml file.

3) HA for DcsMaster

A new file, /bin/master-backup.sh, was added that when called from

dcs-start/dcs-stop script look for the presence of optional

/conf/backup-masters file. This feature works like the existing

.servers. in that you can specify hostnames, one per line, e.g.,

.localhost.. The script will start/stop DcsMaster processes on all hosts

defined in the file. The DcsMaster has new leader election code so that

only one DcsMaster process is the .leader.. All others wait, in a

non-herding fashion, for other DcsMasters to fail. The vision is that

the Seaquest .ndcsbind. script may be run prior to starting DCS but

more effort is needed to test this. This commit sets up the

infrastructure. There.s no property for this feature as it.s enabled

only the /conf/backup-masters file exists and has host names defined.

4) Trafodion logs

As a convenience DcsMaster can display the Trafodion log files found in

$MY_SQROOT/logs. There was no requirement for this rather I added for my

development use. Be warned that DcsMaster is not aware of Trafodion

configuration changes so right now it only looks in $MY_SQROOT/logs.

This feature is disabled by default but may be enabled by overriding the

unpublished "dcs.master.trafodion.logs" property with a value of .true.

in your dcs-site.xml file.

5) Basic Security

Provide basic infrastructure to authenticate DcsMaster Web UI users. A

new file /conf/realm.properties was added as a first step. It allows for

definition of users with roles. The embedded Jetty web server reads this

file and uses it to authenticate users attempting to access the

DcsMaster web UI. This feature will surely change over time. It also

supports #3 above as we need username/password for the connection to SQL

in T4 driver. We want users to only see/cancel their own queries. This

feature is disabled by default but may be enabled by overriding the

unpublished "dcs.master.security" property with a value of .true. in

your dcs-site.xml file.

Change-Id: I3e258f698dd828e683f0de03c2fe67c3ce4a5d26

    • -0
    • +86
    /bin/master-backup.sh
  1. … 50 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

    • -0
    • +54
    /conn/odbc/src/odbc/Common/CommonFunctions.cpp
    • -429
    • +0
    /conn/odbc/src/odbc/Common/EventMsgs.cpp
    • -149
    • +0
    /conn/odbc/src/odbc/Common/EventMsgs.h
    • -4
    • +19
    /conn/odbc/src/odbc/Common/Global.h
    • -1
    • +0
    /conn/odbc/src/odbc/Common/Listener.cpp
    • -3
    • +0
    /conn/odbc/src/odbc/Common/ODBCMXTraceMsgs.cpp
    • -2
    • +1
    /conn/odbc/src/odbc/Common/ODBCMXTraceMsgs.h
    • -0
    • +264
    /conn/odbc/src/odbc/Common/PubInterface.cpp
    • -0
    • +77
    /conn/odbc/src/odbc/Common/PubInterface.h
    • -0
    • +258
    /conn/odbc/src/odbc/Common/PubQueryStats.h
    • -706
    • +0
    /conn/odbc/src/odbc/Common/QpidEmsInterface.cpp
    • -236
    • +0
    /conn/odbc/src/odbc/Common/QpidEmsInterface.h
    • -382
    • +0
    /conn/odbc/src/odbc/Common/QpidQueryStats.h
    • -0
    • +3
    /conn/odbc/src/odbc/Common/commonFunctions.h
  1. … 767 more files in changeset.
fix for lp 1404271

fix for lp 1404274

This has been fixed in opt.h

Change-Id: Ifce8ad242693598532f1c0c75323015edc6e4e70

    • -4
    • +16
    /sql/optimizer/SimpleScanOptimizer.cpp