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