Transaction Configuration Center - Information - How to check whether the transaction is invalid because of a large SCC group

Purpose

This page guides you to check whether the transaction is invalid because of a large SCC group, for more information about SCC refer to Transaction Configuration Center - Information - Definition and impacts of the large Strongly Connected Component

Official documentation


Applicable in CAST Version

Release

Yes/No

8.3.x(tick)
8.2.x(tick)
8.1.x(tick)
8.0.x(tick)
Applicable RDBMS

RDBMS

Yes/No

Oracle Server (question) 
Microsoft SQL Server (question) 
CSS2(tick)


Details
  1. Get the content of the largest SCC, for this refer to Transaction Configuration Center - Information - How to get the content of the large SCC

  2. Check if the transactions are part of the transactions having an  element which ends up to the SCC group so the transaction is not completely discovered by TCC

    1. Get all the callers of SCC Group:


      create temporary table tmp_caller_scc ( object_id int ) ;
      truncate table tmp_caller_scc;
       
      insert into tmp_caller_scc(object_id) 
      select distinct a.CALLER_ID
        from CTV_LINKS a 
                join FP_LargestSCC scc on a.CALLER_ID = scc.object_id  
      where not exists ( select 1 from FP_LargestSCC where a.CALLED_ID = object_id  );
    2. Get all the details such as  childtype=0 calling these:


      create temporary table tmp_detail ( object_id int , child_id int ) ;
      insert into tmp_detail ( object_id, child_id ) 
      select distinct d.object_id , d.child_id
        from dss_transactiondetails d 
                            join dss_keysextra t on t.object_id = d.object_id 
                            join CTV_LINKS a on a.CALLER_ID = d.child_id 
                            join tmp_caller_scc b on b.object_id = a.CALLED_ID
      where d.childtype = 0 
      ;


    3. Get the transactions:


      select * from tmp_detail d 
                  join dss_transaction t on t.object_id = d.object_id 
                  join dss_keysextra k on k.object_id = t.object_id
                  join cdt_objects n on n.object_id = t.form_id
      order by 2
      ;


      In our example the result is as follows


      If you find transactions in this list, it explains why transaction is incomplete in TCC

Notes/comments

 

Related Pages