IBM Support

IC65618: ALTER FRAGMENT WITH "FORCE_DDL_EXEC" ENABLED FAILS TO KICK OUT OTHER SESSIONS

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When a session is in a special status, alter fragment with
    "force_ddl_exec" enabled fails to kick out the sessions and
    always meets -242 error
    
    Steps to reproduce:
    
    Reproduce with dbaccess:
      1)  Create a table with fragment and insert 100 rows.
      2)  In the first terminal window using dbaccess do "select *
    from from <table>" and keepng displaying the rows before
    reaching the end of the result.
      3)  Alter the fragment in the second terminal with
    "force_ddl_exec" set to "60".
      4)  One minute later the alter action will raise a -242 error.
     If dbaccess in first terminal window does not exit, the
    altering action always fails with -242 error.
    
    Reproduce with program
    1)  Run the program:/usr/java5/bin/java -cp
    /home/informix/JDBC350FC4/jdbc/lib/ifxjdbc.jar:. fetch 100
    2)  Alter the fragment in the second terminal with
    "force_ddl_exec" set to "60".
    3)  Always get -242 error if the program does not exit.
    
    
    -----program----
    import java.sql.*;
    import java.io.*;
    import java.io.*;
    import java.util.*;
    
    public class fetch
    {
    
            public static void main(String args[])
            {
                    String arg1 = args[0];
                    long acct_id = Long.parseLong(arg1);
    
    //              String url =
    "jdbc:informix://192.168.129.100:9900/test:INFORMIXSERVER=ids940
    ;user=informix;password=informix";
                    String url =
    "jdbc:informix-sqli://172.16.13.67:61000/cq:INFORMIXSERVER=fc6be
    ta;user=informix;password=in4mix";
                    Connection con;
                    String sql;
                    PreparedStatement pstmt;
    
                    InputStreamReader reader = new
    InputStreamReader(System.in);
        BufferedReader input = new BufferedReader(reader);
    
                    try
                    {
    //
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    
    Class.forName("com.informix.jdbc.IfxDriver");
                    }
                    catch(ClassNotFoundException e)
                    {
    
    System.err.print("ClassNotFoundException:");
                            System.err.println(e.getMessage());
                    }
                    try
                    {
                            con = DriverManager.getConnection(url);
                            System.out.println("Connected");
    
                            sql = "select acct_id,amount from
    acct_item_23 where acct_id = ?";
    
                            System.out.println(sql);
                            pstmt = con.prepareStatement(sql);
                            pstmt.setLong(1,acct_id);
    
                            ResultSet r = pstmt.executeQuery();
                            while (r.next())
                            {
                                    String str1 = r.getString(1);
                                    String str2 = r.getString(2);
                                    int num = r.getRow();
                                    System.out.println(num+"
    col1:"+str1+",col2:"+str2);
                                    input.readLine();
                            }
                          pstmt.close();
                          con.close();
                    }
                    catch(SQLException e)
                    {
    
    
    System.err.print("SQLException:"+e.getMessage());
                    }
                    catch(Exception ee)
                    {
    
    
    System.err.print("SQLException:"+ee.getMessage());
                    }
            }
    }
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Those using new feature FORCE_DDL_EXEC                       *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Alter fragment with "force_ddl_exec" enabled fails to kick   *
    * out other sessions.                                          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to 11.50.xC7 and above.                              *
    ****************************************************************
    

Problem conclusion

  • Code modified to resolve the problem in 11.50.xC7.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC65618

  • Reported component name

    IBM IDS ENTRP E

  • Reported component ID

    5724L2304

  • Reported release

    B15

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-01-18

  • Closed date

    2010-10-01

  • Last modified date

    2010-10-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    IBM IDS ENTRP E

  • Fixed component ID

    5724L2304

Applicable component levels

  • RB15 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B15","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
01 October 2010