IBM Support

IV74829: CONNECTION(PROCESS) WILL NOT REUSED WHEN USING RMI CONNECTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CLIENT PROBLEM:
    When performing the multiple user settings via RMI connection,
    reuse of the connection will not perform and DB resource will be
    run out.
    
    BUSINESS IMPACT:
    The customer is considering to implement the Maximo upgrade, and
    this issue will have an impact to the customer's plans.
    
    ENVIRONMENT:
    Base Service 7.6.6.0 + Calibration 7.5.0.0 + Nuclear 7.5.1.0
    IBM WebSphere Application Server 8.5.5.3
    IBM Maximo for Nuclear Power 7.5.1.0-20141203-0932 Build
    20121004-0300 DB Build V7510-17 HFDB Build HF7510-35
    Tivoli's process automation engine 7.6.0.0 Build 20141117-2230
    DB Build V7600-218
    IBM TPAE Integration Framework 7.6.0.0 Build 20141117-1800 DB
    Build V7600-15
    IBM Maximo Calibration 7.5.0.0 Build 20141117-2230 DB Build
    V7501-03
    IBM Maximo Asset Management 7.6.0.0 Build 20141117-2230 DB Build
    V7600-00
    Windows 6.3
    DB Oracle 11.2 (Oracle Database 11g Enterprise Edition
    Release 11.2.0.3.0 - 64bit Production With the Partitioning,
    OLAP, Data Mining and Real Application Testing options)
    
    PERFORMANCE ISSUE: no
    
    STEPS TO REPRODUCE:
    
    - OOTB+MAXDEMO env
    
    - processes=150 is set on Oracle
    1. Check your current process setting
    select name, value from v$parameter where name ='processes';
    2. Alter to 150 if it's not
    alter system set processes=150 scope=spfile;
    3. Restart database
    4. Check the updated setting with same query in #1
    
    - Maximo part steps
    1. Beforehand, create TEST1 - TEST200 users from maximo.
    2. Run the PasswordResetTest.class. If this doesn't work please
    compile the PasswordResetTest.java from your environment and use
    it.
    
    User:TEST148
    java.rmi.UnmarshalException: Error unmarshaling return; nested
    exception is:
        java.io.WriteAbortedException: writing aborted;
    java.io.NotSerializableException: oracle.net.ns.Message11
        at
    sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.
    java:246)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
        at psdi.app.signature.MaxUserSet_Stub.save(Unknown Source)
        at test.PasswordResetTest.exec(PasswordResetTest.java:47)
        at test.PasswordResetTest.main(PasswordResetTest.java:17)
    Caused by: java.io.WriteAbortedException: writing aborted;
    java.io.NotSerializableException: oracle.net.ns.Message11
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135
    4)
        at
    java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja
    va:1990)
        at
    java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:
    1915)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j
    ava:1798)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135
    0)
    Error in SystemOut.log
    BMXAA6395E - The system could not connect to the JDBC source
    jdbc:oracle:thin:@//localhost:1521/ctginst1. Ensure that your
    database
    connectivity properties are correct and that the database is
    running.
    java.sql.SQLException: Listener refused the connection with the
    following error:
    ORA-12516, TNS:listener could not find available handler with
    matching
    protocol stack
    
    CURRENT ERRONEOUS RESULT:
    BMXAA6395E
    
    EXPECTED RESULT:
    maximo to reuse the rmi connection as previous version
    

Local fix

  • na
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All Maximo Users                                             *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When performing the multiple user settings via RMI           *
    * connection, reuse of the connection will not perform and DB  *
    * resource will be run out.                                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to latest release.                                   *
    ****************************************************************
    STEPS TO REPRODUCE:
    
    - OOTB+MAXDEMO env
    
    - processes=150 is set on Oracle
    1. Check your current process setting
    select name, value from v$parameter where name ='processes';
    2. Alter to 150 if it's not
    alter system set processes=150 scope=spfile;
    3. Restart database
    4. Check the updated setting with same query in #1
    
    - Maximo part steps
    1. Beforehand, create TEST1 - TEST200 users from maximo.
    2. Create a PasswordResetTest.java program to establish RMI
    connection to Maximo and reset passwords on all 200 users.
    3. Run the PasswordResetTest.class.
    
    User:TEST148
    java.rmi.UnmarshalException: Error unmarshaling return; nested
    exception is:
        java.io.WriteAbortedException: writing aborted;
    java.io.NotSerializableException: oracle.net.ns.Message11
        at
    sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.
    java:246)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
        at psdi.app.signature.MaxUserSet_Stub.save(Unknown Source)
        at test.PasswordResetTest.exec(PasswordResetTest.java:47)
        at test.PasswordResetTest.main(PasswordResetTest.java:17)
    Caused by: java.io.WriteAbortedException: writing aborted;
    java.io.NotSerializableException: oracle.net.ns.Message11
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135
    4)
        at
    java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja
    va:1990)
        at
    java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:
    1915)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j
    ava:1798)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135
    0)
        at
    java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja
    va:1990)
        at
    java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.ja
    va:500)
        at java.lang.Throwable.readObject(Throwable.java:914)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
        at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:57)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at
    java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav
    a:1017)
        at
    java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:
    1893)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j
    ava:1798)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135
    0)
        at
    java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja
    va:1990)
        at
    java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.ja
    va:500)
        at java.lang.Throwable.readObject(Throwable.java:914)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
        at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:57)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at
    java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav
    a:1017)
        at
    java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:
    1893)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j
    ava:1798)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135
    0)
        at
    java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja
    va:1990)
        at
    java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.ja
    va:500)
        at java.lang.Throwable.readObject(Throwable.java:914)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
        at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:57)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at
    java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav
    a:1017)
        at
    java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:
    1893)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j
    ava:1798)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:135
    0)
        at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
        at
    sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.
    java:244)
        ... 4 more
    Caused by: java.io.NotSerializableException:
    oracle.net.ns.Message11
        at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:
    1211)
        at
    java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream
    .java:1585)
        at
    java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.ja
    va:1546)
        at
    java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStrea
    m.java:1469)
        at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:
    1205)
        at
    java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream
    .java:1585)
        at
    java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream
    .java:460)
        at java.lang.Throwable.writeObject(Throwable.java:379)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
        at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:94)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)
    
    Error in SystemOut.log
    BMXAA6395E - The system could not connect to the JDBC source
    jdbc:oracle:thin:@//localhost:1521/xxxxxxxx. Ensure that your
    database connectivity properties are correct and that the
    database is running.
    java.sql.SQLException: Listener refused the connection with the
    following error: ORA-12516, TNS:listener could not find
    available handler with matching protocol stack
    
    CURRENT ERRONEOUS RESULT:
    BMXAA6395E
    
    EXPECTED RESULT:
    maximo to reuse the rmi connection.
    

Problem conclusion

  • DB resources will not run out when performing multiple user
    settings via RMI connection.
    
    The fix for this APAR is contained in the following maintenance
    package:
    	 | release\fix pack | Fix Pack Release 7.6.0.2 TPAE
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV74829

  • Reported component name

    MAXIMO SYSTEMS

  • Reported component ID

    5724R46AV

  • Reported release

    760

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-07-06

  • Closed date

    2015-08-05

  • Last modified date

    2015-08-13

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

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

Modules/Macros

  • MAXIMO
    

Fix information

  • Fixed component name

    MAXIMO SYSTEMS

  • Fixed component ID

    5724R46AV

Applicable component levels

  • R760 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCHPP5","label":"System Related"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"760","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
13 August 2015