PI 7.11 - SXI_CACHE Issue - SQL0904 - Resource limit exceeded

Hi IBM I Gurus,
We are having the SXI_CACHE issue in our PI 7.11 SPS04 system. When we try to do the delta cache refresh through SXI_CACHE, it is returning the error SQL 0904 - Resource limit exceeded. When we try to do the full cache refresh, it is getting the issue 'Application issue during request processing'.
We have cleaned up the SQL Packages with DLTR3PKG command, which did not resolve the issue. We recently performed a system copy to build the QA instance and I observed that the adapter engine cache for the development is presented in the QA instance and removed that cache from there.
I am not seeing the adapter engine connection data cache in our PI system. The adapter engine cache is working fine.
All the caches are working fine from the PI Administration page. The cache connectivity test is failing with the same error as I mentioned for the SXI_CACHE.
Please let me know if you have encountered any issue like this on IBM I 6.1 Platform.
Your help is highly appreciated.
Thanks
Kalyan

Hi Kalyan,
SQL0904 has different reason codes ...
Which one are you seeing ?
Is the SQL pack really at its boundary of 1GB ?
... otherwise, it is perhaps a totally different issue ... then DLTR3PKG cannot help at all ...
If you should see this big SQL Package, you should use PRTSQLINF in order to see if there is more or less over and over the same SQL in, just with different host variables or so ...
If the last point should be the case, I would open a message with BC-DB-DB4 so that they can check how to help here or to talk to the application people to behave a bit different ...
Regards
Volker Gueldenpfennig, consolut international ag
http://www.consolut.com http://www.4soi.de http://www.easymarketplace.de

Similar Messages

  • Is any solution to [SQL0904] Resource limit exceeded.

    I got the below error while connecting with DB2
    java.sql.SQLException: [SQL0904] Resource limit exceeded.
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:650)
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:621)
         at com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java:1506)
         at com.ibm.as400.access.AS400JDBCPreparedStatement.<init>(AS400JDBCPreparedStatement.java:185)
         at com.ibm.as400.access.AS400JDBCConnection.prepareStatement(AS400JDBCConnection.java:1903)
         at com.ibm.as400.access.AS400JDBCConnection.prepareStatement(AS400JDBCConnection.java:1726)
         at com.dst.hps.mhsbenefits.DBLoader.getMappingCount(DBLoader.java:1135)
         at com.dst.hps.mhsbenefits.DBLoader.countAllItems(DBLoader.java:772)
         at com.dst.hps.mhsbenefits.DBLoader.doLoadWorker(DBLoader.java:432)
         at com.dst.hps.mhsbenefits.DBLoader.access$1(DBLoader.java:357)
         at com.dst.hps.mhsbenefits.DBLoader$1.run(DBLoader.java:2996)
    Database connection closed.
    Is there any solution from java programming side to resolve this issue.

    Check your code to make sure that you're closing your Connections, Statements, and ResultSets properly. My guess is that you are not, so your application has exhausted these scarce resources.
    If you don't know what "closing properly" looks like, here's a decent link:
    http://sdnshare.sun.com/view.jsp?id=538
    This class does it right:
    package jdbc;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    public class ConnectionTester
       private static final String DEFAULT_DRIVER = "oracle.jdbc.OracleDriver";
       private static final String DEFAULT_URL = "jdbc:oracle:thin:@host:1521:SID";
       private static final String DEFAULT_USERNAME = "username";
       private static final String DEFAULT_PASSWORD = "password";
       public static void main(String[] args)
          String sql = ((args.length > 0) ? args[0] : "");
          String driver = ((args.length > 1) ? args[1] : DEFAULT_DRIVER);
          String url = ((args.length > 2) ? args[2] : DEFAULT_URL);
          String username = ((args.length > 3) ? args[3] : DEFAULT_USERNAME);
          String password = ((args.length > 4) ? args[4] : DEFAULT_PASSWORD);
          Connection connection = null;
          try
             connection = connect(driver, url, username, password);
             if (!"".equals(sql.trim()))
                List result = executeQuery(connection, sql);
                for (int i = 0; i < result.size(); i++)
                   Object o = result.get(i);
                   System.out.println(o);
             else
                System.out.println("sql cannot be blank");
          catch (ClassNotFoundException e)
             e.printStackTrace();
          catch (SQLException e)
             e.printStackTrace();
          finally
             close(connection);
       public static Connection connect(String driver, String url, String username, String password) throws ClassNotFoundException, SQLException
          Class.forName(driver);
          return DriverManager.getConnection(url, username, password);
       public static void close(Connection connection)
          try
             if (connection != null)
                connection.close();
          catch (SQLException e)
             e.printStackTrace();
       public static void close(Statement statement)
          try
             if (statement != null)
                statement.close();
          catch (SQLException e)
             e.printStackTrace();
       public static void close(ResultSet resultSet)
          try
             if (resultSet != null)
                resultSet.close();
          catch (SQLException e)
             e.printStackTrace();
       public static void rollback(Connection connection)
          try
             if (connection != null)
                connection.rollback();
          catch (SQLException e)
             e.printStackTrace();
       public static List executeQuery(Connection connection, String sql) throws SQLException
          List result = new ArrayList();
          Statement statement = null;
          ResultSet resultSet = null;
          try
             statement = connection.createStatement();
             resultSet = statement.executeQuery(sql);
             ResultSetMetaData metaData = resultSet.getMetaData();
             int numColumns = metaData.getColumnCount();
             while (resultSet.next())
                Map row = new LinkedHashMap();
                for (int i = 0; i < numColumns; ++i)
                   String columnName = metaData.getColumnName(i+1);
                   row.put(columnName, resultSet.getObject(i+1));
                result.add(row);
          finally
             close(resultSet);
             close(statement);
          return result;
    }%

  • PI 7.11 - SXI_CACHE Issue - SQL 0904 - Resource Limit Exceeded

    Hi PI & IBM I Gurus,
    We are having the SXI_CACHE issue in our PI 7.11 SPS04 system. When we try to do the delta cache refresh through SXI_CACHE, it is returning the error SQL 0904 - Resource limit exceeded. When we try to do the full cache refresh, it is getting the issue 'Application issue during request processing'.
    We have cleaned up the SQL Packages with DLTR3PKG command, which did not resolve the issue. We recently performed a system copy to build the QA instance and I observed that the adapter engine cache for the development is presented in the QA instance and removed that cache from there.
    I am not seeing the adapter engine connection data cache in our PI system. The adapter engine cache is working fine.
    All the caches are working fine from the PI Administration page. The cache connectivity test is failing with the same error as I mentioned for the SXI_CACHE.
    Please let me know if you have encountered any issue like this on IBM I 6.1 Platform.
    Your help is highly appreciated.
    Thanks
    Kalyan

    Hi Kalyan,
    SQL0904 has different reason codes ...
    Which one are you seeing ?
    Is the SQL pack really at its boundary of 1GB ?
    ... otherwise, it is perhaps a totally different issue ... then DLTR3PKG cannot help at all ...
    If you should see this big SQL Package, you should use PRTSQLINF in order to see if there is more or less over and over the same SQL in, just with different host variables or so ...
    If the last point should be the case, I would open a message with BC-DB-DB4 so that they can check how to help here or to talk to the application people to behave a bit different ...
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.com http://www.4soi.de http://www.easymarketplace.de

  • Database error text.. "Resource limit exceeded. MSGID=  Job=753531/IBPADM/WP05"

    Hello All,
    We are getting below runtime errors
    Runtime Errors         DBIF_RSQL_SQL_ERROR
    Exception              CX_SY_OPEN_SQL_DB
    Short text
        SQL error in the database when accessing a table.
    What can you do?
        Note which actions and input led to the error.
        For further help in handling the problem, contact your SAP administrator
        You can use the ABAP dump analysis transaction ST22 to view and manage
        termination messages, in particular for long term reference.
    How to correct the error
        Database error text........: "Resource limit exceeded. MSGID=  Job=753531/IBPADM/WP05""
       Internal call code.........: "[RSQL/OPEN/PRPS ]"
        Please check the entries in the system log (Transaction SM21).
        If the error occures in a non-modified SAP program, you may be able to
        find an interim solution in an SAP Note.
        If you have access to SAP Notes, carry out a search with the following
        keywords:
        "DBIF_RSQL_SQL_ERROR" "CX_SY_OPEN_SQL_DB"
        "SAPLCATL2" or "LCATL2U17"
        "CATS_SELECT_PRPS"
        If you cannot solve the problem yourself and want to send an error
        notification to SAP, include the following information:
        1. The description of the current problem (short dump)
           To save the description, choose "System->List->Save->Local File
        (Unconverted)".
        2. Corresponding system log
           Display the system log by calling transaction SM21.
           Restrict the time interval to 10 minutes before and five minutes
    after the short dump. Then choose "System->List->Save->Local File
    (Unconverted)".
    3. If the problem occurs in a problem of your own or a modified SAP
    program: The source code of the program
        In the editor, choose "Utilities->More
    Utilities->Upload/Download->Download".
    4. Details about the conditions under which the error occurred or which
    actions and input led to the error.
    System environment
        SAP-Release 700
        Application server... "SAPIBP0"
        Network address...... "3.14.226.140"
        Operating system..... "OS400"
        Release.............. "7.1"
           Character length.... 16 Bits
        Pointer length....... 64 Bits
        Work process number.. 5
        Shortdump setting.... "full"
        Database server... "SAPIBP0"
        Database type..... "DB400"
        Database name..... "IBP"
        Database user ID.. "R3IBPDATA"
        Terminal................. "KRSNBRB032"
        Char.set.... "C"
        SAP kernel....... 721
        created (date)... "May 15 2013 01:29:20"
        create on........ "AIX 1 6 00CFADC14C00 (IBM i with OS400)"
        Database version. "DB4_71"
    Patch level. 118
    Patch text.. " "
    Database............. "V7R1"
    SAP database version. 721
    Operating system..... "OS400 1 7"
    Memory consumption
    Roll.... 0
    EM...... 12569376
    Heap.... 0
    Page.... 2351104
    MM Used. 5210400
    MM Free. 3166288
    Information on where terminated
        Termination occurred in the ABAP program "SAPLCATL2" - in "CATS_SELECT_PRPS".
        The main program was "CATSSHOW ".
        In the source code you have the termination point in line 67
        of the (Include) program "LCATL2U17".
        The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in
        procedure "CATS_SELECT_PRPS" "(FUNCTION)", but it was neither handled locally
         nor declared
        in the RAISING clause of its signature.
        The procedure is in program "SAPLCATL2 "; its source code begins in line
        1 of the (Include program "LCATL2U17 ".
    The exception must either be prevented, caught within proedure
    "CATS_SELECT_PRPS" "(FUNCTION)", or its possible occurrence must be declared in
      the
    RAISING clause of the procedure.
    To prevent the exception, note the following:
    SM21: Log
    Database error -904 at PRE access to table PRPS
    > Resource limit exceeded. MSGID= Job=871896/VGPADM/WP05
    Run-time error "DBIF_RSQL_SQL_ERROR" occurred
    Please help
    Regards,
    Usha

    Hi Usha
    Could you check this SAP Notes
      1930962 - IBM i: Size restriction of database tables
    1966949 - IBM i: Runtime error DBIF_DSQL2_SQL_ERROR in RSDB4UPD
    BR
    SS

  • FAST Search - Unable to Complete Query on BackEnd resource limit remporarily exceeded code:1013

    Hi ,
    We are using FAST search in our SharePoint 2010 environment. I am encountering an issue while navigating to 21st  page or Query string value 200 and above (
    URL -> /Pages/results.aspx?k=1&s=All&start1=201
    ) in search core result web part. The error message is UI is  "
    The search request was unable to execute on FAST Search Server".
    I have found the below log in the ULS .
    SearchServiceApplication::Execute--Exception:   Microsoft.Office.Server.Search.Query.FASTSearchQueryException: Unable to   complete query on backend Resource limit temporarily
    exceeded Code:   1013   
    at Microsoft.Office.Server.Search.Query.Gateway.FastSearchGateway.GetQueryResult(IQuery   query)   
    at   Microsoft.Office.Server.Search.Query.Gateway.FastSearchGateway.ExecuteSearch(SearchRequest   request, String queryString)   
    at   Microsoft.Office.Server.Search.Query.Gateway.AbstractSearchGateway.Search(SearchRequest   request)   
    at   Microsoft.Office.Server.Search.Query.FASTQueryInternal.ExecuteSearch(SearchRequest   request, ResultTableCollection rtc)   
    at Microsoft.Office.Server.Search.Query.FASTQueryInternal.Execute(QueryProperties   properties)   
    at   Microsoft.Office.Server.Search.Administration.SearchServiceApplication.Execute(QueryProperties   properties)
    Please share your thoughts or advise if some has come across this issue. Thanks!

    Hi ,
    We are using FAST search in our SharePoint 2010 environment. I am encountering an issue while navigating to 21st  page or Query string value 200 and above (
    URL -> /Pages/results.aspx?k=1&s=All&start1=201
    ) in search core result web part. The error message is UI is  "
    The search request was unable to execute on FAST Search Server".
    I have found the below log in the ULS .
    SearchServiceApplication::Execute--Exception:   Microsoft.Office.Server.Search.Query.FASTSearchQueryException: Unable to   complete query on backend Resource limit temporarily
    exceeded Code:   1013   
    at Microsoft.Office.Server.Search.Query.Gateway.FastSearchGateway.GetQueryResult(IQuery   query)   
    at   Microsoft.Office.Server.Search.Query.Gateway.FastSearchGateway.ExecuteSearch(SearchRequest   request, String queryString)   
    at   Microsoft.Office.Server.Search.Query.Gateway.AbstractSearchGateway.Search(SearchRequest   request)   
    at   Microsoft.Office.Server.Search.Query.FASTQueryInternal.ExecuteSearch(SearchRequest   request, ResultTableCollection rtc)   
    at Microsoft.Office.Server.Search.Query.FASTQueryInternal.Execute(QueryProperties   properties)   
    at   Microsoft.Office.Server.Search.Administration.SearchServiceApplication.Execute(QueryProperties   properties)
    Please share your thoughts or advise if some has come across this issue. Thanks!

  • Static credit check: credit limit exceeded for consignment issue delivery

    Hi,
    We are encountering a credit limit exceeded error in delivery creation for a consignment issue.
    In SPRO config "Credit limit check for order types", no credit limit check is assigned to the order type. However, there is one assigned for the delivery type. Also, for CCAr/Risk cat./CG combination in OVA8 (Auto Credit Block Delivery), static credit check has been activated with error message reaction. Open orders and open deliveries were also activated. Customer exceeded credit exposure but user cannot release the order in any VKMx transactions as no credit limit check is assigned to the order type.
    Given that this is the current setup, and the following conditions:
    1. Credit limit for the customer cannot be increased
    2. Oldest open item cannot be cleared just yet
    Is there any way that we can proceed with delivery creation for this customer? The other order types have credit limit check so credit management team was able to release them. However, we are unsure on how to proceed with this consignment order. Kindly advise and thank you in advance for your help.

    We are encountering a credit limit exceeded error in delivery creation for a consignment issue.
    but user cannot release the order in any VKMx transactions as no credit limit check is assigned to the order type.
    Looks contradictory and it may need to run report RVKRED77 to reorganization of open credit values. Try to run the report in test system and then run in production system. After running the report, the use must be able to release in VKM* transaction.
    Regards,

  • Need Help with "ldap_search: Administrative limit exceeded" issue

    Hi,
    I recently created an index for an attribute called abcSmDisableFlag. When i perform an Ldapsearch using an application owners binddn, 10 entires are returned before i get the error: ldap_search: Administrative limit exceeded. When I use the Directory Manager I do not get this error while the same 10 entries are returned.
    I have analyzed the error and access logs and i think the problem is with the index (notes=U). I performed a reindex on the attribute but it din't work.
    Below are the details i gathered from
    error log:
    [20/Sep/2010:15:04:59 -0400] - WARNING<20805> - Backend Database - conn=1189378 op=1 msgId=2 - search is not indexed base='ou=customers,o=abc
    enterprises,c=us,dc=abc,dc=net' filter='(&(objectClass=abcIdentity)(abcIdmDeleteDate<=2010-09-20)(!(abcSmDisabledFlag=1)))' scope='sub'
    access log:
    [20/Sep/2010:15:04:59 -0400] conn=1189378 op=-1 msgId=-1 - fd=536 slot=536 LDAP connection from UserIP to ServerIP
    [20/Sep/2010:15:04:59 -0400] conn=1189378 op=0 msgId=1 - BIND dn="cn=xyzservices,ou=appid,dc=abc,dc=net" method=128 version=3
    [20/Sep/2010:15:04:59 -0400] conn=1189378 op=0 msgId=1 - RESULT err=0 tag=97 nentries=0 etime=0.001190 dn="cn=xyzservices,ou=appid,dc=abc,dc=net"
    [20/Sep/2010:15:04:59 -0400] conn=1189378 op=1 msgId=2 - SRCH base="ou=customers,o=abc enterprises,c=us,dc=abc,dc=net" scope=2 filter="(&
    (objectClass=abcIdentity)(abcIdmDeleteDate<=2010-09-20)(!(abcSmDisabledFlag=1)))" attrs=ALL
    [20/Sep/2010:15:05:03 -0400] conn=1189378 op=1 msgId=2 - RESULT err=11 tag=101 nentries=1 etime=4.604440 notes=U
    I have indexed both abcIdmDeleteDate and abcSmDisabledFlag with a presence and equality index.
    I am using Sun Directory Server 6.2. All the nsslapd limits are at Default value and I am not supposed to increase those values.
    I will be very grateful if anyone can kindly share ideas/solutions on this issue and help me out.
    Thanks!!

    I don't know if your issue has been resolved but two things i see here:
    1 - you should not be on 6.2, move to 6.3 or 7.
    2 - your filter is the answer, when you use a filter of "(&(objectclass=abcIdentity)(abcIdmDeleteDate<=2010-09-16)("\!"(abcSmDisabledFlag=1)))", DSEE takes the 1st part of your filter, in your case objectclass=abcIdentity, and does a search on it. Then after retrieving all entries it checks all that have an abcSmDisableFlag <=2010-09-16 and finally out of the remaining entries it will check which do not have an abcSmDisableFlag=1.
    The search on objectClass is resulting in an unindexed search, apparently. What you need to do is alter the order of your attributes in your search filter and have objectClass at the end.
    I hope this makes sense and helps.

  • Resource limit

    i want to set the limits for cpu_per_session and cpu_per_call in profile.
    how much should i need to set the values for the above two resources so that it's not too low or too high.
    suggestions from experts are appreciated...
    thankx....

    Hi,
    Well, on the documentation:
    Before creating profiles and setting the resource limits associated with them, determine appropriate values for each resource limit. You can base these values on the type of operations a typical user performs. Usually, the best way to determine the appropriate resource limit values for a given user profile is to gather historical information about each type of resource usage. You can gather statistics for other limits using the Monitor feature of Oracle Enterprise Manager (or SQL*Plus), specifically the Statistics monitor.
    For more information, you can take a look on this link below:
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14220/security.htm#sthref2740
    Cheers

  • I have the ipad 4g and it is displaying the message "resource limit reached" only had it for two days

    I have the ipad 4g and it is displaying the message "resource limit reached" only had it for two days

    Are restrictions turned on?  I suspect the "resource limit" is something that is set there.
    Settings > General > Restrictions

  • Error 1074388947 at CAN Open Object, Exceed resource limit

    Dear All,
    Basically, I'm listening to 5 frames from NI-CAN, and I can't listen to the sixth...
    To be more precise, I'm listening to STAT1, STAT2, EXT1, EXT2 and I'm sending commands to CMD.
    When I try to add a "hearing" on the BITE frame, I obtain the error:
    "1074388947 occured at NI-CAN Open Object (ncOpen.vi)
    NI-CAN: Exceeded resource limit for queues in shared memory between firmware/driver. The ncReadmult function is not allowed. Solutions: Decrease queue lengths in objects; Set read queue length to at least 2; Decrease number of CAN Objects."
    I can't see any significative parameter to change...
    I'm doing a ncConfigCANNET + ncOpen + ncSetAttr, then for each frames: ncConfigCANObj + ncOpen + ncSetAttr + ncCreateOccur.
    That's when I'm adding the sixth frame's part, I get the error at the output of the ncOpen.
    Does someone knows what's happening ?
    Thanks for any help you could give me, even if it's just a thought... Thanks in advance ! I'm quite desperate actually...
    Laurent

    Hi,
    This is a KB wich could help.
    http://digital.ni.com/public.nsf/allkb/CC36BA1DD421EC23862569060054F6E2?OpenDocument
    .NIDays2008 {font-family:Arial, Helvetica, sans-serif; font-size:12px; color: #065fa3; font-weight: bold; text-decoration: none; text-align: right;} .NIDays2008 a, a:hover {text-decoration: none;} .NIDays2008 a img {height: 0; width: 0; border-width: 0;} .NIDays2008 a:hover img {position: absolute; height: 90px; width: 728px; margin-left: -728px; margin-top:-12px;}
    >> Avez-vous entendu parler de NI Days ?

  • TRFC Time limit exceeded issue

    We have issue about the TFC time limit exceeded. We have a third partner application which will call a HTTP service to our SAP, let's call the HTTP service as Z_submit_request, in Z_submit_request, we call RFC Z_process_request in IN BACKGROUND TASK, but we received a Time limit exceeded issue in SM58. Could anyone help to answer why we get this issue?
    Thanks a lot!

    RFC's are executed in dialog tasks, which have an upper limit for the allowed runtime. This can be set for profile parameter rdisp/max_wprun_time. You might want to check the profile parameter (or ask the basis folks) if it has the default value (or another reasonable value). Most likely though I'd say you should look into the actual RFC and see if you can improve the performance of Z_PROCESS_REQUEST, so that the timeout doesn't occur.

  • ERROR 5133 - Resource Limit  at slapd start

    Following a disordely shutdown (reset) of the server, we get the following message in the error log of directory server.
    Message:
    "[15/Nov/2004:08:49:22 -0500] - ERROR<5133> - Resource Limit - conn=-1 op=-1 msgI
    d=-1 - Memory allocation error cannot calloc 0 bytes; trying to allocate 0 or a negative number of bytes is not portable and gives different results on different platforms. Please check the code and change it to avoid the attempt to allocate 0 bytes."
    - fsck (ok)
    - the config server on the same server is ok
    - Solaris 2.9 SunOne 5.2 directory
    - no custom plugin
    - we have reload the database (ok) from an ldif
    Has anybody encounter this error? Any sugestions on how to restore the service.

    Thank you, your were absolutely right !
    Looking at the logs folder we saw that the access.rotationinfo was corrupted. By removing that file (not all) the service started OK
    As my first visit to this forum this realy makes my day.

  • Change 'Soft Resource Limit file descriptor' value

    Hi,
    How do I change 'Soft Resource Limit file descriptor; value in Solaris 10
    Is there any conditions to change this?
    Ashraf.

    There are 2 values. The default and the maximum.
    It starts at the default and can be increased up the maximum.
    If you want change the value persistently and machine wide, you can put a config option
    in /etc/system. Something like
    set rlim_fd_cur = 8129
    set rlim_fd_max = 8129
    If you want to do it for your account only then, just put those lines into your profile.
    But you'll still be only able to increase it up to the max.
    The max can only be increased by root or in /etc/system.

  • Memory Leak, Receiver Got Null Message & Consumer limit exceeded on destina

    When running program that adds an Object message to a JMS queue and then recieves it. I get the following.
    1) interminitent NULL messages recieved.
    2) jms.JMSException: [C4073]: Consumer limit exceeded on destination interactionQueueDest. Even though only one receiver can be receiving via the supplied program.
    3) After many message are added to the queue 1000's the Message Queue goes to Out Of Memory exception. It should swap to disk!!
    STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
    RUN this program via a JSP call in the application server.
    JSP
    <%@ page language="java" import="jms.*"%>
    <html>
    <head>
    <title>Leak Memory</title>
    </head>
    <body>
    <hr/>
    <h1>Leak Memory</h1>
    <%
       LeakMemory leakMemory = new LeakMemory();
       leakMemory.runTest(10000,1000);
      // NOTE will brake but slower with setting leakMemory.runTest(10000,100);
    %>JMS resources must be created:
    jms/queueConnectionFactory
    jms/interactionQueue
    must be created first.
    Class:
    package jms;
    import javax.naming.*;
    import javax.jms.*;
    public class LeakMemory implements Runnable {
      private QueueConnectionFactory queueConnectionFactory = null;
      private Queue interactionQueue = null;
      private boolean receiverRun = true;
      private QueueConnection queueConnection;
      private int totalMessageInQueue = 0;
      public LeakMemory() {
        init();
       * initialize queues
      public void init(){
        try {
          InitialContext context = new InitialContext();
          this.queueConnectionFactory = (QueueConnectionFactory)context.lookup("jms/queueConnectionFactory");
          this.interactionQueue = (Queue) context.lookup("jms/interactionQueue");
        catch (NamingException ex) {
          printerError(ex);
      public void runTest(int messageCount, int messageSize){
        this.receiverRun = true;
        Thread receiverThread = new Thread(this);
        receiverThread.start();
        for (int i = 0; i < messageCount; i++) {
            StringBuffer messageToSend = new StringBuffer();
            for (int ii = 0; ii < messageSize; ii++) {
              messageToSend.append("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
            QueueConnection queueConnectionAdder = null;
            QueueSession queueInteractionSession = null;
            QueueSender interactionQueueSender = null;
            try {
                //Get a queue connection
                queueConnectionAdder = this.getQueueConnection();
                queueInteractionSession = queueConnectionAdder.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
                interactionQueueSender = queueInteractionSession.createSender(this.interactionQueue);
                ObjectMessage objectMessage = queueInteractionSession.createObjectMessage(messageToSend);
                objectMessage.setStringProperty("PROPERTY", "" + System.currentTimeMillis());
                //Send object
                interactionQueueSender.send(objectMessage,DeliveryMode.PERSISTENT,5,0);
                totalMessageInQueue++;
                //Close Resources
                interactionQueueSender.close();
                queueInteractionSession.close();
                interactionQueueSender = null;
                queueInteractionSession = null;
            } catch (JMSException ex) {
               printerError(ex);
       * run
      public void run()  {
        while(this.receiverRun){
                try {
                  QueueSession interactionQueueSession = this.getQueueConnection().createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
                  QueueReceiver queueReceiver = interactionQueueSession.createReceiver(this.interactionQueue);
                  ObjectMessage message = (ObjectMessage)queueReceiver.receive(100);
                  if(message != null){
                    StringBuffer messageRecived = (StringBuffer)message.getObject();
                    //Simulate Doing Something
                    synchronized (this) {
                      try {
                        Thread.sleep(400);
                      catch (InterruptedException ex1) {
                        //Can Safely be ignored
                    message.acknowledge();
                    totalMessageInQueue--;
                  } else {
                    printerError(new Exception("Receiver Got Null Message"));
                  queueReceiver.close();
                  interactionQueueSession.close();
                  queueReceiver = null;
                  interactionQueueSession = null;
                catch (JMSException ex) {
                  printerError(ex);
        * Get's the queue Connection and starts it
        * @return QueueConnection The queueConnection
       public synchronized QueueConnection getQueueConnection(){
           if (this.queueConnection == null) {
             try {
               this.queueConnection = this.queueConnectionFactory.createQueueConnection();
               this.queueConnection.start();
             catch (JMSException ex) {
               printerError(ex);
         return this.queueConnection;
       private void printerError(Exception ex){
         System.err.print("ERROR Exception totalMessageInQueue = " + this.totalMessageInQueue + "\n");
         ex.printStackTrace();
    }Is there something wrong with the way I'm working with JMS or is it just this unreliable in Sun App Server 7 Update 3 on windows?

    1) interminitent NULL messages recieved.Thanks that explains the behavior. It was wierd getting null messages when I know there is messages in the queue.
    2) jms.JMSException: [C4073]: Consumer limit exceeded
    on destination interactionQueueDest. Even though only
    one receiver can be receiving via the supplied
    program. No other instances, Only this program. Try it yourself!! It works everytime on Sun Application Server 7 update 2 & 3
    heres the broker dump at that error point
    [14/Apr/2004:12:51:47 BST] [B1065]: Accepting: [email protected]:3211->admin:3205. Count=1
    [14/Apr/2004:12:51:47 BST] [B1066]:   Closing: [email protected]:3211->admin:3205. Count=0
    [14/Apr/2004:12:52:20 BST] [B1065]: Accepting: [email protected]:3231->jms:3204. Count=1 [14/Apr/2004:12:53:31 BST] WARNING [B2009]: Creation of consumer  from connection [email protected]:3231 on destination interactionQueueDest failed:
    B4006: com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4006]: Unable to attach to queue queue:single:interactionQueueDest: a primary queue is already active
    3) After many message are added to the queue 1000's
    the Message Queue goes to Out Of Memory exception. It
    should swap to disk!!The broker runs out of memory. Version in use
    Sun ONE Message Queue                   Copyright 2002
    Version:  3.0.1 SP2 (Build 4-a)              Sun Microsystems, Inc.
    Compile:  Fri 07/11/2003         All Rights ReservedOut of memory snippet
    [14/Apr/2004:13:08:28 BST] [B1089]: In low memory condition, Broker is attempting to free up resources
    [14/Apr/2004:13:08:28 BST] [B1088]: Entering Memory State [B0022]: YELLOW from previous state [B0021]: GREEN  - current memory is 118657K, 60% of total memory
    [14/Apr/2004:13:08:38 BST] WARNING [B2075]: Broker ran out of memory before the passed in VM maximum (-Xmx) 201326592 b,  lowering max to currently allocated memory (200431976 b ) and trying to recover [14/Apr/2004:13:08:38 BST] [B1089]: In low memory condition, Broker is attempting to free up resources
    [14/Apr/2004:13:08:38 BST] [B1088]: Entering Memory State [B0024]:  RED  from previous state [B0022]: YELLOW - current memory is 128796K, 99% of total memory [14/Apr/2004:13:08:38 BST] ERROR [B3008]: Message 2073-192.168.0.50(80:d:b6:c4:d6:73)-3319-1081944517772 exists in the store already [14/Apr/2004:13:08:38 BST] WARNING [B2011]: Storing of JMS message from IMQConn[AUTHENTICATED,[email protected]:3319,jms:3282] failed:
    com.sun.messaging.jmq.jmsserver.util.BrokerException: Message 2073-192.168.0.50(80:d:b6:c4:d6:73)-3319-1081944517772 exists in the store already
    [14/Apr/2004:13:08:38 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:38 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:41 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:44 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:44 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:44 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:45 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:45 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:46 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:46 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:48 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:52 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:52 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:53 BST] ERROR [B3107]: Attempt to free memory failed, taking more drastic measures : java.lang.OutOfMemoryError
    [14/Apr/2004:13:08:53 BST] ERROR unable to deal w/ error: 1
    [14/Apr/2004:13:08:53 BST] ERROR TRYING TO CLOSE [14/Apr/2004:13:08:53 BST] ERROR DONE CLOSING
    [14/Apr/2004:13:08:53 BST] [B1066]:   Closing: [email protected]:3319->jms:3282. Count=0

  • Short dump "Time limit exceeded" when searching for Business Transactions

    Hello Experts,
    We migrated from SAP CRM 5.2 to SAP CRM 7.0. After migration, our business transaction search (quotation, sales order, service order, contract etc) ends with the short dump "Time limit exceeded" in class CL_CRM_REPORT_ACC_DYNAMIC, method DATABASE_ACCESS. The select query is triggered from line 5 of this method.
    Number of Records:
    CRMD_ORDERADM_H: 5,115,675
    CRMD_ORDER_INDEX: 74,615,914
    We have done these so far, but the performance is still either poor or times out.
    1. DB team checked the ORACLE parameters and confirmed they are fine. They also checked the health of indices in table CRMD_ORDER_INDEX and indices are healthy
    2. Created additional indices on CRMD_ORDERADM_H and CRMD_ORDER_INDEX. After the creation of indices, some of the searches(without any criteria) work. But it takes more than a minute to fetch 1 or 2 records
    3. An ST05 trace confirmed that the selection on CRMD_ORDER_INDEX takes the most time. It takes about 103 seconds to fetch 2 records (max hits + 1)
    4. If we specify search parameters, say for example a date or status, then again we get a short dump with the message "Time limit exceeded".
    5. Observed that only if a matching index is available for the WHERE clause, the results are returned (albeit slowly). In the absence of an index, we get the dump.
    6. Searched for notes and there are no notes that could help us.
    Any idea what is causing this issue and what we can do to resolve this?
    Regards,
    Bala

    Hi Michael,
    Thanks. Yes we considered the note 1527039. None of the three scenarios mentioned in the note helped us. But we ran CRM_INDEX_REBUILD to check if the table CRMD_ORDER_INDEX had a problem. That did not help us either.
    The business users told us that they mostly search using the date fields or Object ID. We did not have any problem with search by Object ID. So we created additional indices to support search using the date fields.
    Regards,
    Bala

Maybe you are looking for

  • HP 6110 All-in-One - Software availability

    A friend gave me a used HP 6110 All-in-One, but did not include an installation disk or power cable.  Where can I download the software?  Please give me the link.  Can I use any USB power connection cable or is there a product spesific transformer-ty

  • SGD (Tarantella) 4.0.903: Client Drive Mapping: Unknown Error 64

    Hi, Environment: SDG Server on SUSE 9 Enterprise Windows Server 2003 SP1 (application server) with enhancement module installed. I have the folowing issue with the SDG: The ClientDriveMapping Feature worked some time ago. But from one day to another

  • Duplicate photos on iPad

    Hi I've just upgraded to iOS 7.0.6. When viewing photos using the album tab everything appears fine, if I look at my photos via the photo tab I appear to have duplicates of every photo. Is this something to do with photo stream? If viewing an individ

  • InDesign CS2 issue with tools pane

    For some reason the tools pane is blank and has been this way for a while now. I have used the software long enough not to need the pane so I am not sure when it stopped working, but I cannot get it to show the tools. It is just a blank rectangle. I

  • Alchemy for commercial usage

    Hi everyone, I'm planning to port some C-based computer vision code I wrote to Flash using Alchemy for a customer project (who wants to sell it) and I'm wondering about the commercial terms for this case. Unfortunately I haven't found much informatio