SqlStats.cpp

Clone Tools
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Special logic to cancel DROP COLUMN

This change introduces a new static function to check whether

the parent query has been canceled. It is called by during an

ALTER TABLE .. DROP COLUMN statement.

Closes-Bug: 1439505

Change-Id: I8342488821e719320273aa343cab3ba5b9a93444

  1. … 2 more files in changeset.
Fix shared segment corruption from seabase/TEST024

With this change, we never remove a StmtStats object

from StatsGlobals::stmtStatsList_ when the statement

is deallocated during AQR. The StmtStats object will

be removed after the AQR completes and the statement

is deallocated, or in general process cleanup.

The change also re-enables seabase/TEST024.

Change-Id: Icd5a23c4a88334892ca292fe2ff514fbb9913616

Closes-Bug: #1417748

  1. … 2 more files in changeset.
More memory leak Changes

Changes to delete more elements in NATable. LIST or collection type

elements in NATable that collect references are now deleted.

Also removed some defensive code in RMS because it is not valid.

Added code to delete the internal statements when the row

is not found

PatchSet 3 contains the fix for T4 Phoenix test failures

Change-Id: Ib43da75582dd56d2562cb753738abed0ea5842d3

  1. … 2 more files in changeset.
SQL support for phandle verifier, etc.

Changes to use phandle verifier from foundation to distinguish

processes when pids are recycled. Remove some workarounds which

attempted to use process creation timestamps to do the same

thing. Also, use msg_mon_node_down2 to log the reason why the

node is brought down. And removed some unneeded special case

code to free the shared segment semaphore at the startup of

mxssmp.

Change-Id: I4914a26680535222504ecf552fb539b1a817c850

  1. … 21 more files in changeset.
Changes to defend RMS memory segment corruption

Added code to avoid memory corruption in the RMS shared segment by making

the rogue process to dump core if it doesn't adhere to rules of access to the

RMS shared segment.

Enabled seabase/TEST024

Change-Id: Ibb0bbbc9f4617da30bca9a7129d016079ac2fdbe

  1. … 12 more files in changeset.
Query Invalidation triggered by DDL, phase 1

This first check-in implements most of the framework which will

be used to complete the QI DDL feature. It redefines the old

security invalidation key (SQL_SIKEY) to handle DDL operations in

addition to REVOKE. In a limited number of DDL operations, the object

UIDs of affected Seabase objects are propagated to all nodes for

use by the compiler to invalidate NATable cache entries, as

well as a limited number of types of cached queries. Later this

month, the framework will be complete by allowing prepared queries

that have already been returned from the compiler to be invalidated.

Then the next step for the framework will be support for invalidating

the HTable cache. Finally an effort will be made to cover all of

the necessary DDL operations and all types of cached queries.

The check-in include a new regression test (executor/TEST122) that

demonstrates the cases that are covered. Specifically, a table will

be dropped and recreated with the same name but different definition

in one sqlci session. In another session, which has already populated

NATable cache and query cache for INSERT, UPDATE, DELETE, SELECT,

SELECT COUNT(*), INVOKE and SHOWDDL statements, those some types

of statements will be resubmitted and correctly compiled.

Change-Id: Ie61ce751089b57ce1894f1764c338e9400bb7b8a

Closes-Bug: #1329358

Implements: blueprint ddl-query-invalidation

  1. … 41 more files in changeset.
Enable RMS monitoring

The query execution statistics can now be obtained while the query is running

via

a) GET STATISTICS FOR QID <qid>

b) Using STATISTICS table-valued function

c) Using CLI calls – SQL_EXEC_GetStatistics2 and SQL_EXEC_GetStatisticsItems

The statistics can be viewed in accumulated, pertable, progress and operator

stats format.

You can also obtain statistics for each fragment instance and process wise

statistics for each operator of an active query.

Light-weight SQL Offender (LSO) feature is also enabled. With LSO, you can get

1. Queries offending CPU resource

2. Queries blocked in Trafodion Engine

3. Queries that are not active

4. Queries that haven’t finished but blocked in client

5. Queries offending memory resource

Explain in RMS feature can be enabled by setting the

cqd explain_in_rms ‘on’ before compiling a query.

EXPLAIN.. FOR QID <qid> command is now supported.

GET PROCESS STATISTICS FOR <pid> is also supported

Change-Id: I59eb54dd4fd347a37e0b7e7842ee242e553ef60d

  1. … 48 more files in changeset.
Fix looping in mxssmp

This change corrects a problem in StatsGlobals::checkForDeadProcesses

which causes looping in the mxssmp process while it holds the

share segment semaphore, which leads to hanging of call SQL processes

on the node.

Change-Id: Id5477e516cf0b1519f7e892bad2cf3ff84f79e34

Closes-Bug: #1368891

Enable basic Runtime Management System (RMS)

The goal of these initial changes is to get the shared memory

segment created, build and start the persistent server processes

mxssmp and mxsscp, make EXE processes register in the shared segment

and let mxssmp cleanup the shared segment as the processes stop.

Later I will address specific features of RMS that support

Query Invalidation.

Change-Id: Ib3dd10525b6073d32d1e362f301afe9c88012647

Implements: blueprint enable-rms-infrastructure

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

    • -0
    • +1804
    ./SqlStats.cpp
  1. … 4886 more files in changeset.