[ 
https://issues.apache.org/jira/browse/TRAFODION-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15282272#comment-15282272
 ] 

Prashanth Vasudev commented on TRAFODION-1182:
----------------------------------------------

Many fixes related to this scenario has been delivered to 2.0.  See 
TRAOFDION-1923 and TRAFODION-1948.
Please verify this problem exists anymore with the above fixes already in. 

Thanks,
Prashanth

> LP Bug: 1444684 - Drop schema fails and objects become un-droppable with 
> invalid state
> --------------------------------------------------------------------------------------
>
>                 Key: TRAFODION-1182
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1182
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-exe
>            Reporter: Weishiun Tsai
>            Assignee: Prashanth Vasudev
>            Priority: Critical
>             Fix For: 2.0-incubating
>
>
> We still see random situations that an SQL object would get into an invalid 
> state and become un-droppable.  When it happens, using the cleanup utility to 
> clean them up becomes the only option.  This is a rare occasion that we were 
> able to capture a short script to reproduce it.  As shown here.  The sequence 
> of statements causes drop schema at the end to return TMF 97 error.  After 
> that, any attempt to drop an object in the schema would return the 4254 
> ‘invalid state’ error.  The user then has to rely on the cleanup utility to 
> clean them up manually.
> SQL>drop schema mytest cascade;
> *** ERROR[8606] Transaction subsystem TMF returned error 97 on a commit 
> transaction. [2015-04-15 20:10:00]
> SQL>set schema mytest;
> --- SQL operation complete.
> SQL>get tables;
> Tables in Schema TRAFODION.MYTEST
> =================================
> NIZ000
> NIZ001
> SB_HISTOGRAMS
> SB_HISTOGRAM_INTERVALS
> --- SQL operation complete.
> SQL>drop table niz000;
> *** ERROR[4254] Object TRAFODION.MYTEST.NIZ000 has invalid state and cannot 
> be accessed. Use cleanup command to drop it. [2015-04-15 20:10:35]
> SQL>drop table niz001;
> *** ERROR[4254] Object TRAFODION.MYTEST.NIZ001 has invalid state and cannot 
> be accessed. Use cleanup command to drop it. [2015-04-15 20:10:40]
> SQL>drop table sb_histograms;
> *** ERROR[4254] Object TRAFODION.MYTEST.SB_HISTOGRAMS has invalid state and 
> cannot be accessed. Use cleanup command to drop it. [2015-04-15 20:10:43]
> SQL>drop table sb_histogram_intervals;
> *** ERROR[4254] Object TRAFODION.MYTEST.SB_HISTOGRAM_INTERVALS has invalid 
> state and cannot be accessed. Use cleanup command to drop it. [2015-04-15 
> 20:10:51]
> This is seen on the v0415 build installed on a workstation.  It’s fairly 
> reproducible with this build.  Unfortunately, this script can only reproduce 
> this problem from trafci.  Running it from sqlci cannot reproduce it.  It’s 
> not clear why, but it’s possible that mxosrvr handles things differently.
> ---------------------------------------------------------------------------------
> Here are the steps to start trafci from your workstation instance:
> Copy and paste the script bellow to an obey file, say mytest.sql
> cd $MY_SQROOT/trafci/bin
> trafci.sh -h localhost:<your port number> -u dontcare -p dontcare
> SQL> obey mytest.sql;
> ---------------------------------------------------------------------------------
> Here is the entire script to reproduce it:
> log mytest.log clear;
> create schema mytest;
> set schema mytest;
> create table niz000
> (
> seqno   integer         not null        not droppable,
> smin1   smallint        signed          default null,
> smin2   smallint        unsigned        default null,
> inte1   integer         signed          default null,
> inte2   integer         unsigned        default null,
> lint1   largeint                        default null,
> lint2   largeint                        default null,
> nume1   numeric(7)      unsigned        default null,
> nume2   numeric(9,3)    unsigned        default null,
> nume3   numeric(18)     signed          default null,
> nume4   numeric(18,15)  signed          default null,
> deci1   decimal(3)      unsigned        default null,
> deci2   decimal(18,0)   signed          default null,
> deci3   decimal(18,9)   signed          default null,
> pict1   pic s9(18)      comp            default null,
> pict2   pic sv9(2)      comp            default null,
> pict3   pic s9(13)v9(5)                 default null,
> pict4   pic 9(3)v9(6)                   default null,
> flot1   float (12)                      default null,
> flot2   float (52)                      default null,
> real1   real                            default null,
> real2   real                            default null,
> dblp1   double precision                default null,
> dblp2   double precision                default null,
> primary key (seqno)
> );
> create index smin_idx on niz000(smin1);
> create index inte_idx on niz000(inte1);
> create index lint_idx on niz000(lint1);
> create index nume_idx on niz000(nume1);
> create index deci_idx on niz000(deci1);
> create index pict_idx on niz000(pict1);
> create index flot_idx on niz000(flot1);
> create index real_idx on niz000(real1);
> create index dblp_idx on niz000(dblp1);
> insert into niz000 values
> (1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
> (2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .1, 1, 1, 1, 1, 1, 1, 1, 1);
> insert into niz000 (seqno) values (3);
> insert into niz000 values
> (4, -32768, 0, -2147483648, 1, -9223372036854775808, 2, 3, 4, 
> -999999999999999999, -999.999999999999999, 5, -999999999999999999, 
> -999999999.999999999, -999999999999999999, -0.99, -9999999999999.99999, 
> 6.000001, 7.000000000001, -2.2250738585072014e-308, -1.17549435e-38, 8, 
> -2.2250738585072014e-308, 9),
> (5, 32767, 0, 2147483647, 1, 9223372036854775807, -2, 3, 4, 
> 999999999999999999, 999.999999999999999, 5, 999999999999999999, 
> 999999999.999999999, 999999999999999999, 0.99, 9999999999999.99999, 6.000001, 
> 7.000000000001, 1.7976931348623157e+308, 3.40282347e+38, 8, 
> 1.7976931348623157e+308, 9),
> (6, -459, 7892, -992348, 293847923, 701291928791, 9809876586, 5622901, 
> 23990.78, -129980, -46.012979798, 804, -62352342342, -8768889.1200454, 
> -1283498234923749, 0.65, -7870234.00126, 786.124598, 11897.9998877656, 
> 898889.00000997, 5.89100, 555.23, 10045.157e+8, -6120.00945e-21),
> (7, 2834, 443, -90, 450, 4545990, 11, 102245, 77.923, -670, 831.44553, 21, 
> 60778, -486.929, -8798799000, 0.13, 34007.00387, 506.55209,
> -99082.007, 6712009.22, -3.1417, 10.39e-1, 30887.333e+10, -445e-25);
> select count(*) from niz000;
> update statistics for table niz000 on every column;
> create table niz001 like niz000;
> create index smin_mc_idx on niz001(smin1, smin2);
> create index inte_mc_idx on niz001(inte1, inte2);
> create index lint_mc_idx on niz001(lint1, lint2);
> create index nume_mc_idx on niz001(nume1, nume2, nume3, nume4);
> create index deci_mc_idx on niz001(deci1, deci2, deci3);
> create index pict_mc_idx on niz001(pict1, pict2, pict3, pict4);
> create index flot_mc_idx on niz001(flot1, flot2);
> create index real_mc_idx on niz001(real1, real2);
> create index dblp_mc_idx on niz001(dblp1, dblp2);
> insert into niz001 values
> (1, 34, 44, 123, 789, 99809, 99909, 1223311, 12.333, 9899898979, 
> 11.098080980, 23, 123134534534, 98797.8768688, -4435, -0.39, -121213434.111, 
> 345.8879, -1.2250E-28, 0.834673734574, 9.223e18, -1.79e-2, -0.00092746, 
> -2.225E-38),
> (2, 24923, 9992, -2147484, 9, 847201, 5098, 8365290, 12.333, 8998979, 
> 444.238, 3,789729834, 669.02983487, 9928, 0.96, 12345678.1234, 797.799, 
> -7.9098700456e-1, -0.7986750064688, 0.11, -0.7129, 2.222197264, 4.0876e-5),
> (3, 108, 81, 925, 1351, 923749823, -615240, 81230, 119900.22, 7019239, 
> 308.1274, 111, 6092340, 501293.5553, 8394230423, 0.01, 12111.0980, 405.0001, 
> 0.128349234, 312.9999989e-5, 0.0008745245, -0.1007, 0.309e+3, 100 ),
> (4, 25065, 10117, -2146436, 2149, 924696833, -510233, 9669831, 119924.886, 
> 9915917197, 763.463480980000001, 137, 123930356708, 600760.462003670, 
> 8394235916, 0.58, -108855644.88960, 158.687000, -6.62637770560000000E-001, 
> 3.91287280941999936E-002, 9.22299985216877440E+018, 
> -8.31499980762600960E-001, 3.11221269804000000E+002, 
> 1.00000040876000000E+002),
> (5, 12532, 5058, -1073218, 1074, 462348416, -255116, 4834915, 59962.443, 
> 4957958598, 381.731740490000250, 68, 61965178354, 300380.231001835, 
> 4197117958, 0.29, -54427822.44480, 426.843503, -3.31318885280000000E-001, 
> 1.95643640470999968E-002, 4.61149992608438720E+018, 
> -4.15749993640929472E-001, 1.55610634902000000E+002, 
> 5.00000204380000128E+001);
> select count(*) from niz001;
> update statistics for table niz001 on every column;
> showcontrol all;
> drop schema mytest cascade;
> ---------------------------------------------------------------------------------
> Here is the execution output:
> SQL>create schema mytest;
> --- SQL operation complete.
> SQL>set schema mytest;
> --- SQL operation complete.
> SQL>create table niz000
> (
> seqno   integer         not null        not droppable,
> smin1   smallint        signed          default null,
> smin2   smallint        unsigned        default null,
> inte1   integer         signed          default null,
> inte2   integer         unsigned        default null,
> lint1   largeint                        default null,
> lint2   largeint                        default null,
> nume1   numeric(7)      unsigned        default null,
> nume2   numeric(9,3)    unsigned        default null,
> nume3   numeric(18)     signed          default null,
> nume4   numeric(18,15)  signed          default null,
> deci1   decimal(3)      unsigned        default null,
> deci2   decimal(18,0)   signed          default null,
> deci3   decimal(18,9)   signed          default null,
> pict1   pic s9(18)      comp            default null,
> pict2   pic sv9(2)      comp            default null,
> pict3   pic s9(13)v9(5)                 default null,
> pict4   pic 9(3)v9(6)                   default null,
> flot1   float (12)                      default null,
> flot2   float (52)                      default null,
> real1   real                            default null,
> real2   real                            default null,
> dblp1   double precision                default null,
> dblp2   double precision                default null,
> primary key (seqno)
> );
> --- SQL operation complete.
> SQL>create index smin_idx on niz000(smin1);
> --- SQL operation complete.
> SQL>create index inte_idx on niz000(inte1);
> --- SQL operation complete.
> SQL>create index lint_idx on niz000(lint1);
> --- SQL operation complete.
> SQL>create index nume_idx on niz000(nume1);
> --- SQL operation complete.
> SQL>create index deci_idx on niz000(deci1);
> --- SQL operation complete.
> SQL>create index pict_idx on niz000(pict1);
> --- SQL operation complete.
> SQL>create index flot_idx on niz000(flot1);
> --- SQL operation complete.
> SQL>create index real_idx on niz000(real1);
> --- SQL operation complete.
> SQL>create index dblp_idx on niz000(dblp1);
> --- SQL operation complete.
> SQL>insert into niz000 values
> (1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
> (2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .1, 1, 1, 1, 1, 1, 1, 1, 1);
> --- 2 row(s) inserted.
> SQL>insert into niz000 (seqno) values (3);
> --- 1 row(s) inserted.
> SQL>insert into niz000 values
> (4, -32768, 0, -2147483648, 1, -9223372036854775808, 2, 3, 4, 
> -99999999999999999
> 9, -999.999999999999999, 5, -999999999999999999, -999999999.999999999, 
> -99999999
> 9999999999, -0.99, -9999999999999.99999, 6.000001, 7.000000000001, 
> -2.2250738585
> 072014e-308, -1.17549435e-38, 8, -2.2250738585072014e-308, 9),
> (5, 32767, 0, 2147483647, 1, 9223372036854775807, -2, 3, 4, 
> 999999999999999999,
> 999.999999999999999, 5, 999999999999999999, 999999999.999999999, 
> 999999999999999
> 999, 0.99, 9999999999999.99999, 6.000001, 7.000000000001, 
> 1.7976931348623157e+30
> 8, 3.40282347e+38, 8, 1.7976931348623157e+308, 9),
> (6, -459, 7892, -992348, 293847923, 701291928791, 9809876586, 5622901, 
> 23990.78,
>  -129980, -46.012979798, 804, -62352342342, -8768889.1200454, 
> -1283498234923749,
>  0.65, -7870234.00126, 786.124598, 11897.9998877656, 898889.00000997, 
> 5.89100, 5
> 55.23, 10045.157e+8, -6120.00945e-21),
> (7, 2834, 443, -90, 450, 4545990, 11, 102245, 77.923, -670, 831.44553, 21, 
> 60778
> , -486.929, -8798799000, 0.13, 34007.00387, 506.55209,
> -99082.007, 6712009.22, -3.1417, 10.39e-1, 30887.333e+10, -445e-25);
> --- 4 row(s) inserted.
> SQL>select count(*) from niz000;
> (EXPR)
> --------------------
>                    7
> --- 1 row(s) selected.
> SQL>update statistics for table niz000 on every column;
> --- SQL operation complete.
> SQL>create table niz001 like niz000;
> --- SQL operation complete.
> SQL>create index smin_mc_idx on niz001(smin1, smin2);
> --- SQL operation complete.
> SQL>create index inte_mc_idx on niz001(inte1, inte2);
> --- SQL operation complete.
> SQL>create index lint_mc_idx on niz001(lint1, lint2);
> --- SQL operation complete.
> SQL>create index nume_mc_idx on niz001(nume1, nume2, nume3, nume4);
> --- SQL operation complete.
> SQL>create index deci_mc_idx on niz001(deci1, deci2, deci3);
> --- SQL operation complete.
> SQL>create index pict_mc_idx on niz001(pict1, pict2, pict3, pict4);
> --- SQL operation complete.
> SQL>create index flot_mc_idx on niz001(flot1, flot2);
> --- SQL operation complete.
> SQL>create index real_mc_idx on niz001(real1, real2);
> --- SQL operation complete.
> SQL>create index dblp_mc_idx on niz001(dblp1, dblp2);
> --- SQL operation complete.
> SQL>insert into niz001 values
> (1, 34, 44, 123, 789, 99809, 99909, 1223311, 12.333, 9899898979, 
> 11.098080980, 2
> 3, 123134534534, 98797.8768688, -4435, -0.39, -121213434.111, 345.8879, 
> -1.2250E
> -28, 0.834673734574, 9.223e18, -1.79e-2, -0.00092746, -2.225E-38),
> (2, 24923, 9992, -2147484, 9, 847201, 5098, 8365290, 12.333, 8998979, 
> 444.238, 3
> ,789729834, 669.02983487, 9928, 0.96, 12345678.1234, 797.799, 
> -7.9098700456e-1,
> -0.7986750064688, 0.11, -0.7129, 2.222197264, 4.0876e-5),
> (3, 108, 81, 925, 1351, 923749823, -615240, 81230, 119900.22, 7019239, 
> 308.1274,
>  111, 6092340, 501293.5553, 8394230423, 0.01, 12111.0980, 405.0001, 
> 0.128349234,
>  312.9999989e-5, 0.0008745245, -0.1007, 0.309e+3, 100 ),
> (4, 25065, 10117, -2146436, 2149, 924696833, -510233, 9669831, 119924.886, 
> 99159
> 17197, 763.463480980000001, 137, 123930356708, 600760.462003670, 8394235916, 
> 0.5
> 8, -108855644.88960, 158.687000, -6.62637770560000000E-001, 
> 3.91287280941999936E
> -002, 9.22299985216877440E+018, -8.31499980762600960E-001, 
> 3.11221269804000000E+
> 002, 1.00000040876000000E+002),
> (5, 12532, 5058, -1073218, 1074, 462348416, -255116, 4834915, 59962.443, 
> 4957958
> 598, 381.731740490000250, 68, 61965178354, 300380.231001835, 4197117958, 
> 0.29, -
> 54427822.44480, 426.843503, -3.31318885280000000E-001, 
> 1.95643640470999968E-002,
>  4.61149992608438720E+018, -4.15749993640929472E-001, 
> 1.55610634902000000E+002,
> 5.00000204380000128E+001);
> --- 5 row(s) inserted.
> SQL>select count(*) from niz001;
> (EXPR)
> --------------------
>                    5
> --- 1 row(s) selected.
> SQL>update statistics for table niz001 on every column;
> --- SQL operation complete.
> SQL>showcontrol all;
> No CONTROL QUERY SHAPE settings are in effect.
> No CONTROL SESSION settings are in effect.
> No CONTROL TABLE settings are in effect.
> CONTROL QUERY DEFAULT
> SCHEMA                                MYTEST
> Current DEFAULTS
>   AUTO_QUERY_RETRY_WARNINGS             OFF
>   BLOCK_TO_PREVENT_HALLOWEEN            ON
>   CACHE_HISTOGRAMS_REFRESH_INTERVAL     3600
>   CATALOG                               TRAFODION
>   COMPRESSION_TYPE                      NONE
>   DEFAULT_DEGREE_OF_PARALLELISM         2
>   DEF_MAX_HISTORY_ROWS                  1024
>   DISPLAY_DIVISION_BY_COLUMNS           OFF
>   EXE_MEMORY_LIMIT_PER_CPU              0
>   EXPLAIN_DESCRIPTION_COLUMN_SIZE       -1
>   HASH_JOINS                            ON
>   HIST_AUTO_GENERATION_OF_SAMPLE        OFF
>   HIST_MISSING_STATS_WARNING_LEVEL      4
>   HIST_NO_STATS_REFRESH_INTERVAL        3600
>   HIST_PREFETCH                         ON
>   HIST_REMOVE_TRAILING_BLANKS           ON
>   HIST_ROWCOUNT_REQUIRING_STATS         50000
>   HIST_USE_SAMPLE_FOR_CARDINALITY_ESTIMATION    ON
>   INSERT_VSBB                           SYSTEM
>   ISOLATION_LEVEL                       READ_COMMITTED
>   ISOLATION_LEVEL_FOR_UPDATES           NONE
>   JOIN_ORDER_BY_USER                    OFF
>   LAST0_MODE                            OFF
>   MC_SKEW_SENSITIVITY_THRESHOLD         0.1
>   MDAM_NO_STATS_POSITIONS_THRESHOLD     10
>   MDAM_SCAN_METHOD                      ON
>   MDAM_UNDER_NJ_PROBES_THRESHOLD        0
>   MERGE_JOINS                           ON
>   MULTI_COMMIT_SIZE                     10000
>   MVGROUP_AUTOMATIC_CREATION            ON
>   MVQR_REWRITE_ENABLED_OPTION           OFF
>   MVQR_REWRITE_LEVEL                    0
>   MVQR_REWRITE_SINGLE_TABLE_QUERIES     ON
>   MV_AGE
>   MV_ALLOW_SELECT_SYSTEM_ADDED_COLUMNS  OFF
>   NESTED_JOINS                          ON
>   NOT_ATOMIC_FAILURE_LIMIT              32000
>   OPI_ERROR73_RETRIES                   10
>   OPTIMIZATION_LEVEL                    3
>   PARALLEL_NUM_ESPS                     SYSTEM
>   POS_ABSOLUTE_MAX_TABLE_SIZE
>   PUBLISHING_ROLES
>   QUERY_CACHE                           16384
>   QUERY_LIMIT_SQL_PROCESS_CPU           0
>   RISK_PREMIUM_NJ                       1.0
>   RISK_PREMIUM_SERIAL                   1.0
>   RISK_PREMIUM_SERIAL_SCALEBACK_MAXCARD_THRESHOLD       10000
>   ROBUST_QUERY_OPTIMIZATION             SYSTEM
>   SAVE_DROPPED_TABLE_DDL                OFF
>   SCHEMA                                MYTEST
>   SKEW_EXPLAIN                          ON
>   SKEW_ROWCOUNT_THRESHOLD               1000000
>   SKEW_SENSITIVITY_THRESHOLD            0.1
>   STREAM_TIMEOUT                        -1
>   SUBQUERY_UNNESTING                    ON
>   TABLELOCK                             SYSTEM
>   TIMEOUT                               6000
>   UDR_DEBUG_FLAGS                       0
>   UPD_ORDERED                           ON
>   USTAT_AUTO_CV_SAMPLE_SLOPE            0.5
>   USTAT_AUTO_PRIORITY                   150
>   USTAT_MAX_READ_AGE_IN_MIN             5760
>   USTAT_MIN_ROWCOUNT_FOR_LOW_SAMPLE     1000000
>   USTAT_MIN_ROWCOUNT_FOR_SAMPLE         10000
>   USTAT_NECESSARY_SAMPLE_MAX            5000000
>   USTAT_OBSOLETE_PERCENT_ROWCOUNT       15
>   WMS_CHILD_QUERY_MONITORING            OFF
>   WMS_QUERY_MONITORING                  OFF
> --- SQL operation complete.
> SQL>drop schema mytest cascade;
> *** ERROR[8606] Transaction subsystem TMF returned error 97 on a commit 
> transact
> ion. [2015-04-15 20:10:00]
> SQL>set schema mytest;
> --- SQL operation complete.
> SQL>get tables;
> Tables in Schema TRAFODION.MYTEST
> =================================
> NIZ000
> NIZ001
> SB_HISTOGRAMS
> SB_HISTOGRAM_INTERVALS
> --- SQL operation complete.
> SQL>drop table niz000;
> *** ERROR[4254] Object TRAFODION.MYTEST.NIZ000 has invalid state and cannot 
> be a
> ccessed. Use cleanup command to drop it. [2015-04-15 20:10:35]
> SQL>drop table niz001;
> *** ERROR[4254] Object TRAFODION.MYTEST.NIZ001 has invalid state and cannot 
> be a
> ccessed. Use cleanup command to drop it. [2015-04-15 20:10:40]
> SQL>drop table sb_histograms;
> *** ERROR[4254] Object TRAFODION.MYTEST.SB_HISTOGRAMS has invalid state and 
> cann
> ot be accessed. Use cleanup command to drop it. [2015-04-15 20:10:43]
> SQL>drop table sb_histogram_intervals;
> *** ERROR[4254] Object TRAFODION.MYTEST.SB_HISTOGRAM_INTERVALS has invalid 
> state
>  and cannot be accessed. Use cleanup command to drop it. [2015-04-15 20:10:51]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to