Error bottleneck

I have Oracle 10g in Windows 2003 Server
I have this alerts:
1) Host CPU was a bottleneck and the instance was consuming 7% of the host CPU. All wait times will be inflated by wait for CPU.
2) There are a blocking session:
ORACLE.EXE (LGWR) is the System Proccess that blocks this class events:
log file parallel write & log file sync.
any idea or suggestion?

user9380230 wrote:
I have Oracle 10g in Windows 2003 Server
I have this alerts:
1) Host CPU was a bottleneck and the instance was consuming 7% of the host CPU. 7% CPU utilisation is by no stretch of the imagination a "+bottleneck+".
All wait times will be inflated by wait for CPU.That is an utterly silly statement.
Fact: each and every call to the kernel needs to be serviced using resources, the primary one being the CPU (as memory contents need to be moved into registers, interrupts made, machine code instructions executed and so on).
Fact: the caller will need to wait on a call (sync or async) to be completed.
This is how computer systems work. To now state that wait times will be inflated as the caller also has to wait for the CPU? What a lot of baloney. What then instead? Not use the CPU at all so that the caller does not have to wait on the CPU too, thereby decreasing wait times?
If I have performance monitoring s/w that spouts this kind of tripe, I would uninstall it and throw the s/w package in the trash.

Similar Messages

  • Error message " bottleneck"

    Hi there
    Am using SRM 4 and when I am using the webfront of SRM and i try to create a shopping cart or click on any link on the navigation pane, I get a message saying "bottleneck" (cant remember the exact words) Is there an OSS note to fix this?
    Kind regards

    Hi
    Pradeep notes  must help you permanently.
    Rallapalli tricks helps in sandbox.
    Dump - Memory Bottleneck
    br
    muthu

  • Error in creating a Model for Ruby on Rails project

    Hello,
    I am working on NetBeans IDE 6.0 and creating a project on Rails Application.
    I am trying to make a Model that should give me a list of .rb files. But, some parser error occurs and i the .rb files are not getting generated.
    This error has become a bottleneck in creating my project.
    Can anybody help me resolve this issue.
    Regards
    Meenal

    Onur,
    Oracle JDeveloper also has a technologies known a JClient that handles the binding for you. Not sure if your requirement is to handle table models yourself, but if it is for database data retrieval then JClient is more efficient.
    Frank

  • PI 7.11 sp6 - SOAP error on INBOUND SYNC (BE) interface - No handler ...

    Experts,
    We're running a AIX 6.1 unix based PI 7.11 system patched to Stack SP6.  We've got one instance...no web dispatcher or load balancing of any kind.
    Our proxy system (sender) is an ECC6.0 EHP4 system.  Our 3rd party system (receiver) system is non-sap.
    In about a 2 hour timespan, we processed 9700 XML messages all in the SOAP adapter.  almost all our traffic is BE (sync).  Of those messages, we got 11 errors.  And here is what we see in XSMB_MONI and in the java default trace:
    #2.0^H#2011 08 29 15:40:08:183#0-500#Error#com.sap.aii.adapter.xi.ms.XIEventHandler#
    #BC-XI-CON-AFW#com.sap.aii.af.lib#327C4279AB0F2E5C000000010019C0BE#3930552000000004#sap.com/com.sap.aii.af.ms.app#com.sap.aii.adapter.xi.ms.XIEventHandler.onRequest(Services, TransportMessage)#PIISUSER#8
    546##875E5AD3D27311E0C8580000003BF9B8#875e5ad3d27311e0c8580000003bf9b8#875e5ad3d27311e0c8580000003bf9b8#0#Thread[HTTP Worker [@2008983637],5,Dedicated_Application_Thread]#Plain##
    Message 4e5b07b7-8180-00ab-e100-80000ae201a4(INBOUND): was not delivered due to com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PA
    RSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to process request. ---> No handler is registered for this service.#
    #2.0^H#2011 08 29 15:40:08:081#0-500#Error#com.sap.engine.messaging.impl.spi.ServicesImpl#
    #BC-XI-CON-MSG#com.sap.aii.af.ms.svc#327C4279AB0F2E98000000000019C0BE#3930552000000004##com.sap.engine.messaging.impl.spi.ServicesImpl.deliver(Message)#J2EE_GUEST#0##875E5AD3D27311E0C8580000003BF9B8#875e
    5ad3d27311e0c8580000003bf9b8#875e5ad3d27311e0c8580000003bf9b8#0#MS Queue Worker [SOAP_http://sap.com/xi/XI/SystemRqst]#Plain##
    Caught exception com.sap.engine.interfaces.messaging.api.exception.MessagingException from application code with msgKey: 4e5b07b7-8180-00ab-e100-80000ae201a4(INBOUND)#
    So I've looked all over the marketplace and SDN/google.  I could not find anyone else getting this type of error.
    We have WILY introscope and all the diag tools.  I am not seeing any bottlenecks on the threads for http or inbound/outbound queues.
    I was hoping someone could point me in the right direction.  I was thinking about bumping up all the default queue threads for the com.sap.aii.af.ms.svc service.  It has the default "10" for all those. 
    We have done MAJOR tuning already on this instance.  I think I've read all the notes/guides/HOW-TO...etc that there is for PI 7.11.  So we are making progress.
    Thanks,
    NICK

    Hi Nick,
    From error message i could feel that, there is no problem from PI side and error is at the receiver system side where PI is posting the message. Why i am telling it's not PI issue and it's receiver's issue is that, error message you got is SOAP fault message. Fault message are raised by receiver system if any error occurs. If messgae is processed successfully then receiver system would send proper SOAP response message not a SOAP fault.
    soap fault: Server was unable to process request. ---> No handler is registered for this service.#
    So, in my view you better check at your receiver system (in your case it's no-sap sytem) why it's giving problem as 'No handler is register for the service'.
    Rgards,
    RK

  • TableSorter errors when adding new data

    so here is the deal:
    I am using the TableSorter.java helper class with DefaultTableModel
    from: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
    It works great when the data is static and I get it for the first time. however, occationally, when adding new data I get a NullPointerException error.
    in use:
    DefaultTableModel.addRow()
    DefaultTableModel.removeRow() and
    DefaultTableModel.insertRow() methods.
    Error:
    java.lang.ArrayIndexOutOfBoundsException: 5
         at com.shared.model.TableSorter.modelIndex(TableSorter.java:294)
         at com.shared.model.TableSorter.getValueAt(TableSorter.java:340)
         at javax.swing.JTable.getValueAt(Unknown Source)
         at javax.swing.JTable.prepareRenderer(Unknown Source)...
    code problem I:
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        }code problem II:
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        }TableSroter class:
    package com.shared.model;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.util.List;
    import javax.swing.*;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.*;
    * TableSorter is a decorator for TableModels; adding sorting
    * functionality to a supplied TableModel. TableSorter does
    * not store or copy the data in its TableModel; instead it maintains
    * a map from the row indexes of the view to the row indexes of the
    * model. As requests are made of the sorter (like getValueAt(row, col))
    * they are passed to the underlying model after the row numbers
    * have been translated via the internal mapping array. This way,
    * the TableSorter appears to hold another copy of the table
    * with the rows in a different order.
    * <p/>
    * TableSorter registers itself as a listener to the underlying model,
    * just as the JTable itself would. Events recieved from the model
    * are examined, sometimes manipulated (typically widened), and then
    * passed on to the TableSorter's listeners (typically the JTable).
    * If a change to the model has invalidated the order of TableSorter's
    * rows, a note of this is made and the sorter will resort the
    * rows the next time a value is requested.
    * <p/>
    * When the tableHeader property is set, either by using the
    * setTableHeader() method or the two argument constructor, the
    * table header may be used as a complete UI for TableSorter.
    * The default renderer of the tableHeader is decorated with a renderer
    * that indicates the sorting status of each column. In addition,
    * a mouse listener is installed with the following behavior:
    * <ul>
    * <li>
    * Mouse-click: Clears the sorting status of all other columns
    * and advances the sorting status of that column through three
    * values: {NOT_SORTED, ASCENDING, DESCENDING} (then back to
    * NOT_SORTED again).
    * <li>
    * SHIFT-mouse-click: Clears the sorting status of all other columns
    * and cycles the sorting status of the column through the same
    * three values, in the opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.
    * <li>
    * CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except
    * that the changes to the column do not cancel the statuses of columns
    * that are already sorting - giving a way to initiate a compound
    * sort.
    * </ul>
    * <p/>
    * This is a long overdue rewrite of a class of the same name that
    * first appeared in the swing table demos in 1997.
    * @author Philip Milne
    * @author Brendon McLean
    * @author Dan van Enckevort
    * @author Parwinder Sekhon
    * @version 2.0 02/27/04
    public class TableSorter extends AbstractTableModel
        protected TableModel tableModel;
        public static final int DESCENDING = -1;
        public static final int NOT_SORTED = 0;
        public static final int ASCENDING = 1;
        private static Directive EMPTY_DIRECTIVE = new Directive(-1, NOT_SORTED);
        public static final Comparator COMPARABLE_COMAPRATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return ((Comparable) o1).compareTo(o2);
        public static final Comparator LEXICAL_COMPARATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return o1.toString().compareTo(o2.toString());
        private Row[] viewToModel;
        private int[] modelToView;
        private JTableHeader tableHeader;
        private MouseListener mouseListener;
        private TableModelListener tableModelListener;
        private Map columnComparators = new HashMap();
        private List sortingColumns = new ArrayList();
        public TableSorter()
            this.mouseListener = new MouseHandler();
            this.tableModelListener = new TableModelHandler();
        public TableSorter(TableModel tableModel)
            this();
            setTableModel(tableModel);
        public TableSorter(TableModel tableModel, JTableHeader tableHeader)
            this();
            setTableHeader(tableHeader);
            setTableModel(tableModel);
        private void clearSortingState()
            viewToModel = null;
            modelToView = null;
        public TableModel getTableModel()
            return tableModel;
        public void setTableModel(TableModel tableModel)
            if (this.tableModel != null)
                this.tableModel.removeTableModelListener(tableModelListener);
            this.tableModel = tableModel;
            if (this.tableModel != null)
                this.tableModel.addTableModelListener(tableModelListener);
            clearSortingState();
            fireTableStructureChanged();
        public JTableHeader getTableHeader()
            return tableHeader;
        public void setTableHeader(JTableHeader tableHeader)
            if (this.tableHeader != null)
                this.tableHeader.removeMouseListener(mouseListener);
                TableCellRenderer defaultRenderer = this.tableHeader.getDefaultRenderer();
                if (defaultRenderer instanceof SortableHeaderRenderer)
                    this.tableHeader.setDefaultRenderer(((SortableHeaderRenderer) defaultRenderer).tableCellRenderer);
            this.tableHeader = tableHeader;
            if (this.tableHeader != null)
                this.tableHeader.addMouseListener(mouseListener);
                this.tableHeader.setDefaultRenderer
                        new SortableHeaderRenderer(this.tableHeader.getDefaultRenderer())
        public boolean isSorting()
            return sortingColumns.size() != 0;
        private Directive getDirective(int column)
            for (int i = 0; i < sortingColumns.size(); i++)
                Directive directive = (Directive)sortingColumns.get(i);
                if (directive.column == column)
                    return directive;
            return EMPTY_DIRECTIVE;
        public int getSortingStatus(int column)
            return getDirective(column).direction;
        private void sortingStatusChanged()
            clearSortingState();
            fireTableDataChanged();
            if (tableHeader != null)
                tableHeader.repaint();
        public void setSortingStatus(int column, int status)
            Directive directive = getDirective(column);
            if (directive != EMPTY_DIRECTIVE)
                sortingColumns.remove(directive);
            if (status != NOT_SORTED)
                sortingColumns.add(new Directive(column, status));
            sortingStatusChanged();
        protected Icon getHeaderRendererIcon(int column, int size)
            Directive directive = getDirective(column);
            if (directive == EMPTY_DIRECTIVE)
                return null;
            return new Arrow(directive.direction == DESCENDING, size, sortingColumns.indexOf(directive));
        private void cancelSorting()
            sortingColumns.clear();
            sortingStatusChanged();
        public void setColumnComparator(Class type, Comparator comparator)
            if (comparator == null)
                columnComparators.remove(type);
            else
                columnComparators.put(type, comparator);
        protected Comparator getComparator(int column)
            Class columnType = tableModel.getColumnClass(column);
            Comparator comparator = (Comparator) columnComparators.get(columnType);
            if (comparator != null)
                return comparator;
            if (Comparable.class.isAssignableFrom(columnType))
                return COMPARABLE_COMAPRATOR;
            return LEXICAL_COMPARATOR;
        private Row[] getViewToModel()
            if (viewToModel == null)
                int tableModelRowCount = tableModel.getRowCount();
                viewToModel = new Row[tableModelRowCount];
                for (int row = 0; row < tableModelRowCount; row++)
                    viewToModel[row] = new Row(row);
                if (isSorting())
                    Arrays.sort(viewToModel);
            return viewToModel;
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        private int[] getModelToView()
            if (modelToView == null)
                int n = getViewToModel().length;
                modelToView = new int[n];
                for (int i = 0; i < n; i++)
                    modelToView[modelIndex(i)] = i;
            return modelToView;
        // TableModel interface methods
        public int getRowCount()
            return (tableModel == null) ? 0 : tableModel.getRowCount();
        public int getColumnCount()
            return (tableModel == null) ? 0 : tableModel.getColumnCount();
        public String getColumnName(int column)
            return tableModel.getColumnName(column);
        public Class getColumnClass(int column)
            return tableModel.getColumnClass(column);
        public boolean isCellEditable(int row, int column)
            return tableModel.isCellEditable(modelIndex(row), column);
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        public void setValueAt(Object aValue, int row, int column)
            tableModel.setValueAt(aValue, modelIndex(row), column);
        // Helper classes
        private class Row implements Comparable
            private int modelIndex;
            public Row(int index)
                this.modelIndex = index;
            public int compareTo(Object o)
                int row1 = modelIndex;
                int row2 = ((Row) o).modelIndex;
                for (Iterator it = sortingColumns.iterator(); it.hasNext();)
                    Directive directive = (Directive) it.next();
                    int column = directive.column;
                    Object o1 = tableModel.getValueAt(row1, column);
                    Object o2 = tableModel.getValueAt(row2, column);
                    int comparison = 0;
                    // Define null less than everything, except null.
                    if (o1 == null && o2 == null)
                        comparison = 0;
                    } else if (o1 == null)
                        comparison = -1;
                    } else if (o2 == null)
                        comparison = 1;
                    } else {
                        comparison = getComparator(column).compare(o1, o2);
                    if (comparison != 0)
                        return directive.direction == DESCENDING ? -comparison : comparison;
                return 0;
        private class TableModelHandler implements TableModelListener
            public void tableChanged(TableModelEvent e)
                // If we're not sorting by anything, just pass the event along.            
                if (!isSorting())
                    clearSortingState();
                    fireTableChanged(e);
                    return;
                // If the table structure has changed, cancel the sorting; the            
                // sorting columns may have been either moved or deleted from            
                // the model.
                if (e.getFirstRow() == TableModelEvent.HEADER_ROW)
                    cancelSorting();
                    fireTableChanged(e);
                    return;
                // We can map a cell event through to the view without widening            
                // when the following conditions apply:
                // a) all the changes are on one row (e.getFirstRow() == e.getLastRow()) and,
                // b) all the changes are in one column (column != TableModelEvent.ALL_COLUMNS) and,
                // c) we are not sorting on that column (getSortingStatus(column) == NOT_SORTED) and,
                // d) a reverse lookup will not trigger a sort (modelToView != null)
                // Note: INSERT and DELETE events fail this test as they have column == ALL_COLUMNS.
                // The last check, for (modelToView != null) is to see if modelToView
                // is already allocated. If we don't do this check; sorting can become
                // a performance bottleneck for applications where cells 
                // change rapidly in different parts of the table. If cells
                // change alternately in the sorting column and then outside of            
                // it this class can end up re-sorting on alternate cell updates -
                // which can be a performance problem for large tables. The last
                // clause avoids this problem.
                int column = e.getColumn();
                if (e.getFirstRow() == e.getLastRow()
                        && column != TableModelEvent.ALL_COLUMNS
                        && getSortingStatus(column) == NOT_SORTED
                        && modelToView != null)
                    int viewIndex = getModelToView()[e.getFirstRow()];
                    fireTableChanged(new TableModelEvent(TableSorter.this,
                                                         viewIndex, viewIndex,
                                                         column, e.getType()));
                    return;
                // Something has happened to the data that may have invalidated the row order.
                clearSortingState();
                fireTableDataChanged();
                return;
        private class MouseHandler extends MouseAdapter
            public void mouseClicked(MouseEvent e)
                JTableHeader h = (JTableHeader) e.getSource();
                TableColumnModel columnModel = h.getColumnModel();
                int viewColumn = columnModel.getColumnIndexAtX(e.getX());
                int column = columnModel.getColumn(viewColumn).getModelIndex();
                if (column != -1)
                    int status = getSortingStatus(column);
                    if (!e.isControlDown())
                        cancelSorting();
                    // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or
                    // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed.
                    status = status + (e.isShiftDown() ? -1 : 1);
                    status = (status + 4) % 3 - 1; // signed mod, returning {-1, 0, 1}
                    setSortingStatus(column, status);
        private static class Arrow implements Icon
            private boolean descending;
            private int size;
            private int priority;
            public Arrow(boolean descending, int size, int priority)
                this.descending = descending;
                this.size = size;
                this.priority = priority;
            public void paintIcon(Component c, Graphics g, int x, int y)
                Color color = c == null ? Color.GRAY : c.getBackground();            
                // In a compound sort, make each succesive triangle 20%
                // smaller than the previous one.
                int dx = (int)(size/2*Math.pow(0.8, priority));
                int dy = descending ? dx : -dx;
                // Align icon (roughly) with font baseline.
                y = y + 5*size/6 + (descending ? -dy : 0);
                int shift = descending ? 1 : -1;
                g.translate(x, y);
                // Right diagonal.
                g.setColor(color.darker());
                g.drawLine(dx / 2, dy, 0, 0);
                g.drawLine(dx / 2, dy + shift, 0, shift);
                // Left diagonal.
                g.setColor(color.brighter());
                g.drawLine(dx / 2, dy, dx, 0);
                g.drawLine(dx / 2, dy + shift, dx, shift);
                // Horizontal line.
                if (descending) {
                    g.setColor(color.darker().darker());
                } else {
                    g.setColor(color.brighter().brighter());
                g.drawLine(dx, 0, 0, 0);
                g.setColor(color);
                g.translate(-x, -y);
            public int getIconWidth()
                return size;
            public int getIconHeight()
                return size;
        private class SortableHeaderRenderer implements TableCellRenderer
            private TableCellRenderer tableCellRenderer;
            public SortableHeaderRenderer(TableCellRenderer tableCellRenderer)
                this.tableCellRenderer = tableCellRenderer;
            public Component getTableCellRendererComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           boolean hasFocus,
                                                           int row,
                                                           int column)
                Component c = tableCellRenderer.getTableCellRendererComponent(table,
                        value, isSelected, hasFocus, row, column);
                if (c instanceof JLabel) {
                    JLabel l = (JLabel) c;
                    l.setHorizontalTextPosition(JLabel.LEFT);
                    int modelColumn = table.convertColumnIndexToModel(column);
                    l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
                return c;
        private static class Directive
            private int column;
            private int direction;
            public Directive(int column, int direction)
                this.column = column;
                this.direction = direction;
    }any input will be appreciated.
    thanks
    Peter

    The code you posted doesn't help us at all. Its just a duplicate of the code from the tutorial. The custom code is what you have written. For example do you update the TableModel from the Event Thread? Do you update the SortModel or the DefaultTableModel? If you actually provide your test code and somebody has already downloaded the sort classes, then maybe they will test your code against the classes. But I doubt if people will download the sort classes and create a test program just to see if they can duplicate your results (at least I know I'm not about to).

  • New session rejected due to memory bottleneck in testing proxy2proxy

    Hi all!
    i am testing abap proxy2proxy on the client 105 in help varient 5 of simple use cases docu.
    even though i got sending successful from SXIPATT1 on the client 105, i got the following error.
    my server has RAM 2GB and have four client(100,105,106,107), and only i use for testing, NOT another person, so i do not think memory bottleneck issue.
    checked list.
    1. SXMB_MONI,  i could see inbound message(SENDER) <b>only.</b>
       from 105 to XI, no problem I thought, but very strange there, becasue there is only inbound message(sender).
    2. status flag on sxmb_moni
       Message Recorded (Commit follows) (TO BE DELIVERED)
    does anyone experience such issue?
    do i have to up physical memory?
    Error when processing your request
    What has happened?
    The URL http://sapxi.hh.net:8000/sap/bc/gui/sap/its/webgui/! was not called due to an error.
    Note
    The following error text was processed in the system XID : <b>New session rejected due to memory bottleneck</b>
    The error occurred on the application server SAPXI_XID_00 and in the work process 0 .
    The termination type was: ABORT_MESSAGE_STATE
    The ABAP call stack was:
    Function: ICF_ATTACH_ITS_PLUGIN of program SAPLHTTP_RUNTIME
    Form: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    What can I do?
    If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system XID in transaction ST22.
    If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server SAPXI_XID_00 in transaction SM21.
    If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 0 in transaction ST11 on the application server SAPXI_XID_00 . In some situations, you may also need to analyze the trace files of other work processes.
    If you do not yet have a user ID, contact your system administrator.
    Error code: ICF-IE-http-c:105-u:XISUPER -l:E-s:XID-i:SAPXI_XID_00 -w:0-d:20060410-t:195211-v: ABORT_MESSAGE_STATE-e:
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team

    did you have  this entries in SXMB_ADM of XI server
    catgory:RUNTIME     parameter:ENGINE_TYPE     value:     HUB
    catgory:RUNTIME     parameter:IS_URL     value:http://server:port/sap/xi/engine?type=entry

  • New session was refused due to memory bottleneck

    Has anyone had experience with this error and know how to go about fixing it from occuring again?
    Error when processing your request
    What has happened?
    The URL https://____________/zpro was not called due to an error.
    Note
    The following error text was processed in the system DEV : New session was refused due to memory bottleneck
    The error occurred on the application server onebase_DEV_00 and in the work process 0 .
    The termination type was: ABORT_MESSAGE_STATE
    The ABAP call stack was:
    Function: ICF_ATTACH_ITS_PLUGIN of program SAPLHTTP_RUNTIME
    Method: EXECUTE_REQUEST_FROM_MEMORY of program CL_HTTP_SERVER================CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    What can I do?
    If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system DEV in transaction ST22.
    If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server onebase_DEV_00 in transaction SM21.
    If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 0 in transaction ST11 on the application server onebase_DEV_00 . In some situations, you may also need to analyze the trace files of other work processes.
    If you do not yet have a user ID, contact your system administrator.
    Error code: ICF-IE-https -c: 160 -u: ****** -l: E -s: DEV -i: onebase_DEV_00 -w: 0 -d: 20080822 -t: 094930 -v: ABORT_MESSAGE_STATE -e: New session was refused due to memory bottleneck
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team

    Hi ,
    I am having an issue related to the query in this thread. Can you please let me know if you any solution for this.
         The following error text was processed in the system : Error occurred while sending data through the HTTP protocol.
         The error occurred on the application server bwdbi_DIB_41 and in the work process 0 .
         The termination type was: RABAX_STATE
         The ABAP call stack was:
    Method: SEND_RESPONSE of program CL_HTTP_SERVER_NET============CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    tHE ABOVE IS THE error message. This occurs when we are trying to call the a URL from web report using RRI, where in this url is used for RRI.
    Regards
    Sudha

  • New session rejected due to memory bottleneck

    Dear All,
                I have creating and working on BSP aplication that calls the webGui, ie abap trnasaction on internet explorer.It worked onced but then i get the error.
    New session rejected due to memory bottleneck  :
    The URL http://XXXXXX.YYYYYY:8000/sap/bc/gui/sap/its/webgui/! was not called due to an error.
    In Sicf the service for Its/webgui is activated, i deactivated and activated it again, deleted local cokkies, but no success.
    Can any one suggest a way out.
    The Error in detail is:-
    The following error text was processed in the system : New session rejected due to memory bottleneck
    The error occurred on the application server XXXXXX and in the work process 0 .
    The termination type was: ABORT_MESSAGE_STATE
    The ABAP call stack was:
    Function: ICF_ATTACH_ITS_PLUGIN of program SAPLHTTP_RUNTIME
    Form: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    Regards,
    Anirban.

    Hi,
    Try running the <b>program RSMON000_ALV</b> instead.
    I am not in basis either but :
    - if it is really an insufficient number of Work process
    - if it is not a one-time event (meaning, this problems occurs repeatedly)
    Then the only solution I can think of is increasing them (and take care to add CPU and memory accordingly)
    You should check with your basis guys.
    Also, check the <b>transaction ST22</b> for more explanations about the possible Dump that got created.
    Best regards,
    Guillaume

  • Why is the AEBS bottlenecking my ReadyNAS devices leading to bad packets and TCP Retransmits?

    Bad Packets Unrecovered TCP Retransmits TCP Retransmits w ReadyNAS NV NV+ and Airport Extreme Base Station 5th Generation
    I got an Airport Extreme Base Station (AEBS), 5th generation this past November to bring my entire network up to gigE standards and extend my wireless range a bit. I have really liked the AEBS 5th Gen overall since I got it 3 months ago. It was easy to setup and update and things have been noticeably faster. I can also easily take my netbook, laptop, and iPad out to my shop some 80 feet away from my AEBS and still surf rather well wirelessly too. I couldn't do this even with my previous D-Link wireless-n setup.
    In December I picked up an old ReadyNAS NV+ to go along with my old ReadyNAS NV. When I finally started to setup the new network for my business in February, I noticed in the logs that I was getting a large numbers of bad packets, TCP retransmits, and unrecovered TCP retransmits. Previously, I had never had errors of any sort with any older network setups using linksys, dlink and netgear routers during the last 6 years.
    Eventually cables, switches, and routers can go bad which results in the errors I have been getting so I went through the "Troubleshoot My Performance Problem/Check for Network Errors" section of the link below to try and figure out what was causing my problem.
    (http://www.readynas.com/?p=310#Troubleshoot)
    My Initial Setup:
    Airport Extreme Base Station (AEBS):
    - 1 incoming Cat5e from Motorola Surfboard 6120, 
    - 2 Cat5e connections to my wifes work network with her business computer and VOIP phone.
    - 1 Cat 5e interconnecting the AEBS to my wired network on the HP Procurve Switch.
    The AEBS manages addresses via DHCP on my wired network for all of my devices on the HP Procurve 14008G Switch:
    - 1 to NV
    - 1 NV+
    - 1 MacMini 2010
    - 1 MacMini 2005
    - 1 networked Epson R-3000 printer
    1. Simple things first. Since I have always made all my own Cat 5e cable I figured I'd better get some better(?) cabling strait away. I went ordered new Cat 6 and Cat 6a cables to connect the NV, NV+, and my main Mac to the switch and connect the switch to the AEBS. The errors kept coming.
    2. Then I separately connected each NAS unit directly to my computer by setting up the static IP on my computer first. Once I reconnected each ReadyNAS with the computer directly they defaulted to a static IP.  Neither NAS had errors.
    (http://sphardy.com/web/readynas/how-to-direct-connect-to-your-readynas/)
    3. Errors were coming from either a bad Procurve 1400 switch or a bad AEBS. I hooked everything directly to my Airport Extreme and got lots of errors.
    4. I decided to check the switch also. I altered each ReadyNAS's default static IP to one of my choosing individually. Then I hooked both ReadyNAS units to my HP Procurve 1400 switch. I hooked the switch directly to my computer and got no errors from either NAS. I continue to get no errors the next day.
    5. When I first ran my tests I had Jumbo Frames turned Off. Currently, Jumbo Frames are On and there are still no errors and seems to be no slowness either.
    Conclusion:
    The Airport Extreme is the bottleneck causing the errors in my network.
    Perhaps there is something I can alter which will rid me of the errors, but this type of error makes the AE seem to be pretty shoddy. A newer state-of-the-art router should not be bottlenecking my rather archaic slow network devices. Apparently, the 4th Gen AEBS's couldn't do Jumbo Frames, but this current model is supposed to, but I see no setting for changing the MTU.
    Questions:
    What could be causing the bottleneck?
    Do I have a bad router?
    How could I analyze this problem?
    Has anyone else had similar issues and if so how were they resolved?
    Current Setup:
    All of my computers and NAS devices are hooked to my Procurve Switch each with its own Static IP.
    The switch is working flawlessly with no Errors.
    The network printer is now wireless and  connected via the AEBS.
    I am using wireless-n to connect to internet via the AEBS on my main machine.
    I am sharing the internet connection with the other Mac Mini on the switch and any other machine I plug into the switch (not ideal).
    Problem is:
    I am not a systems administrator and don't really want to tinker with setting up Static IP's for the machines I hook and unhook to the switch.
    I want the AEBS to manage addresses via DHCP so everything accessing my router will mindlessly be able to access all things on my network.
    Can the AEBS be made to not produce errors or do I just have a lemon.

    Hi Bob,
    That's the strange thing. When I had both GHz channels working on one SSID, once in a while my iMAC would pick the 5 GHz channel (44 seems the best for me). I always use channel 1 for 2.4 GHz because I get the fastest speeds with it.
    When the iMac would pick 5 GHz, the slowdown was very obvious. As I explained in my (long) first post, I immediately felt the difference. Now the $50K question - since the 5 GHz channel at that point was stronger than the 2.4 GHz one, why wasn't the speed faster? Why was it so slow compared to 2.4 GHz? That's what rattling my brain. If the 5 GHz signal's strong enough to get picked by my iMac, then why isn't there a commensurate speed increase? There must be something else going on here besides signal strength. If the 5 GHz spec says that I must have full strength to get 5 GHz speeds, then that makes sense. But I think it doesn't, that's why I believe I have a configuration problem somewhere, or a faulty AEBS.
    I might add that my firmware's up-to-date in the AEBS and AX, and Airport Utility too.
    I think heading to 4Runner's camp - even with high signal strength (and I would consider 3 of 4 bars high), the 5 GHz speeds aren't showing themselves.
    Here's some snap's of my AEBX's setup:
    I think my configuration's fine, although I've tried so many different options, I'm a little confused, but I know that changing the Multicast Rate doesn't have any noticeable effect on the speed. I also have "Use Wide Channels" checked, but as I said, the 5 GHz band is awfully slow for using both channels. I have set "N" only, so no "G" clients to slow it down.
    Mind boggling!

  • Mac vs PC: bus bottleneck in Mac?

    I am a long time Mac user considering an upgrade to a Mac Pro for photography and soon for video and gaming. A photographer friend familiar with both Macs and PCs told me that I should consider the PC option for resource intensive applications as Macs have a bus bandwidth limitation that PCs do not. I'm waiting for him to get back from vacation to discuss this in more depth but in the meantime thought I'd try to get some authoritative insights here. Relative to PCs, is there any bottleneck in Mac hardware?
    Thanks in advance for any comments.

    Most of the time, this type of comments from your friend can be chalked up to comparing older Mac technology with new PC technology. Here is an example, and one that keeps rearing its ugly head from time to to time.
    In 2006 Apple introduced the Mac Pro the first of the Intel based workstations. One of the choices Apple made was to us FB-Dimm in its memory architecture. FB (fully Buffered) memory increases both reliability and memory density, but because it requires an intermediary memory buffer between the memory and memory controller, it can have a lower top memory bandwidth then more conventional memory designs because of the increase latency caused by the memory buffer system.
    The trade off for memory reliability, automatic error correction with no system overhead was probably the right choice for a workstation class system. But boy did the PC folks love to use memory bandwidth benchmarks to show how inferior the Mac Pro was for playing games.
    Over the years, Apple has both improved the memory bandwidth, and changed to new memory architectures that provide a nice increase in memory performance. However, the old Macs are slow because of poor memory performance is still often heard, though it is no longer true, actually it was never true it was just dependent on which type of tests you want to use for your benchmarks.
    So next time someone tells you a Mac has bus bandwidth limitations, ask them for specifics. Which Mac model vs which PC model, and just what benchmarks were used and what were they testing for.
    Tom

  • After upgrading HANA from rev. 69.1 to rev.72 OOM errors occure during HDB startup

    Hello,
    we upgraded our HANA scale out system from rev. 69.1 to rev. 72.
    ~4 hours after the upgrade our HDB crashed with OOM errors on  the master indexserver.
    Since than we are trying to start it back up and face OOM errors during startup in the index rebuild phase:
    The errors clearly state the HANA runs out of allocatable memory for Pool/IndexRebuildAllocator during startup.
    It looks like HANA requires more memory during this phase compared to rev. 69.1
    Our Master node has 512GB of physical memory and the Allocation limit is set to 95% of this (default).
    Here is what we read from our logs during startup:
    [3331]{-1}[-1/-1] 2014-03-24 01:35:36.735498 i Service_Startup  ptime_master_start.cc(00719) : Rebuilding system indexes.
    [3331]{-1}[-1/-1] 2014-03-24 01:35:37.236971 i Service_Startup  ptime_master_start.cc(00733) : Rebuilding system indexes done.
    [3331]{-1}[-1/-1] 2014-03-24 01:35:37.237002 i Service_Startup  ptime_master_start.cc(00735) : Rebuilding indexes.
    [3331]{-1}[-1/-1] 2014-03-24 01:35:37.244660 i Service_Startup  IndexManager_rebuild.cc(00478) : Number of indexes: 2837
    [3331]{-1}[-1/-1] 2014-03-24 01:35:37.245606 i Service_Startup  IndexManager_rebuild.cc(00580) : Number of JobEx indexes: 2798
    [3367]{-1}[9/-1] 2014-03-24 01:36:33.729391 w ResMan           ResourceContainer.cpp(01300) : Information about shrink at 24.03.2014 01:28:46 000 Mon:
    Reason for shrink: Precharge for big block allocation. User size:  6269307200
    ShrinkCaller
    [4123]{-1}[9/-1] 2014-03-24 01:36:42.465154 w Memory           PoolAllocator.cpp(01060) : Out of memory for Pool/IndexRebuildAllocator, size 48B, flags 0x0
    [4123]{-1}[9/-1] 2014-03-24 01:36:42.465168 e Memory           ReportMemoryProblems.cpp(00733) : OUT OF MEMORY occurred.
    [3538]{-1}[9/-1] 2014-03-24 01:36:42.465164 w Memory           PoolAllocator.cpp(01060) : Out of memory for Pool/IndexRebuildAllocator, size 48B, flags 0x0
    [3538]{-1}[9/-1] 2014-03-24 01:36:42.465177 e Memory           ReportMemoryProblems.cpp(00733) : OUT OF MEMORY occurred.
    [4123]{-1}[9/-1] 2014-03-24 01:36:42.465168 e Memory           ReportMemoryProblems.cpp(00733) : Failed to allocate 48 byte.
    [3538]{-1}[9/-1] 2014-03-24 01:36:42.465177 e Memory           ReportMemoryProblems.cpp(00733) : Failed to allocate 48 byte.
    [4123]{-1}[9/-1] 2014-03-24 01:36:42.465168 e Memory           ReportMemoryProblems.cpp(00733) : Current callstack:
    [3538]{-1}[9/-1] 2014-03-24 01:36:42.465177 e Memory           ReportMemoryProblems.cpp(00733) : Current callstack:
    [3562]{-1}[9/-1] 2014-03-24 01:36:42.465245 w Memory           PoolAllocator.cpp(01060) : Out of memory for Pool/IndexRebuildAllocator, size 48B, flags 0x0
    [3562]{-1}[9/-1] 2014-03-24 01:36:42.465256 e Memory           ReportMemoryProblems.cpp(00733) : OUT OF MEMORY occurred.
    GLOBAL_ALLOCATION_LIMIT (GAL) = 520645177866b (484.88gb), SHARED_MEMORY = 243742983024b (227gb), CODE_SIZE = 6919073792b (6.44gb)
    PID=2987 (hdbnameserver), PAL=487793667686, AB=1596952576, UA=0, U=1415644701, FSL=0
    PID=3196 (hdbcompileserve), PAL=487793667686, AB=447041536, UA=0, U=356200477, FSL=0
    PID=3193 (hdbpreprocessor), PAL=487793667686, AB=416477184, UA=0, U=292814063, FSL=0
    PID=3254 (hdbstatisticsse), PAL=54199296409, AB=1040187392, UA=0, U=862081043, FSL=0
    PID=3257 (hdbxsengine), PAL=487793667686, AB=1100451840, UA=0, U=907234077, FSL=0
    PID=3251 (hdbindexserver), PAL=487793667686, AB=265382010522, UA=0, U=218447843045, FSL=0
    Total allocated memory= 520645177866b (484.88gb)
    Total used memory     = 472943874222b (440.46gb)
    Sum AB                = 269983121050
    Sum Used              = 222281817406
    Heap memory fragmentation: 9
    Top allocators (ordered descending by inclusive_size_in_use).
    1: /                                                                       218448756093b (203.44gb)
    2: Pool                                                                    214254480696b (199.53gb)
    3: Pool/IndexRebuildAllocator                                              196297409104b (182.81gb)
    4: Pool/PersistenceManager                                                 9920106968b (9.23gb)
    5: Pool/PersistenceManager/PersistentSpace(0)                              9779577952b (9.10gb)
    6: Pool/PersistenceManager/PersistentSpace(0)/RowStoreLPA                  9473884512b (8.82gb)
    7: Pool/ResourceContainer                                                  2852314824b (2.65gb)
    8: AllocateOnlyAllocator-unlimited                                         2832931544b (2.63gb)
    9: Pool/malloc                                                             2660566632b (2.47gb)
    10: Pool/malloc/libhdbrskernel.so                                           2467813288b (2.29gb)
    11: Pool/RowEngine                                                          2284285840b (2.12gb)
    12: AllocateOnlyAllocator-unlimited/FLA-UL<3145728,1>/MemoryMapLevel2Blocks 2135949312b (1.98gb)
    13: AllocateOnlyAllocator-unlimited/FLA-UL<3145728,1>                       2135949312b (1.98gb)
    14: Pool/RowEngine/CpbTree                                                  1417842512b (1.32gb)
    15: AllocateOnlyAllocator-limited                                           1184520640b (1.10gb)
    16: AllocateOnlyAllocator-limited/ResourceHeader                            1184517680b (1.10gb)
    17: Pool/RowEngine/LockTable                                                536881408b (512mb)
    18: AllocateOnlyAllocator-unlimited/FLA-UL<120,256>/BigBlockInfoAllocator   360752520b (344.04mb)
    19: AllocateOnlyAllocator-unlimited/FLA-UL<120,256>                         360752520b (344.04mb)
    20: Pool/PersistenceManager/PersistentSpace(0)/RowStoreConverter            239921680b (228.80mb)
    Top allocators (ordered descending by exclusive_size_in_use).
    1: Pool/IndexRebuildAllocator                                               196297409104b (182.81gb)
    2: Pool/PersistenceManager/PersistentSpace(0)/RowStoreLPA                   9473884512b (8.82gb)
    3: Pool/ResourceContainer                                                   2852314824b (2.65gb)
    4: Pool/malloc/libhdbrskernel.so                                            2467813288b (2.29gb)
    5: AllocateOnlyAllocator-unlimited/FLA-UL<3145728,1>/MemoryMapLevel2Blocks  2135949312b (1.98gb)
    6: Pool/RowEngine/CpbTree                                                   1417842512b (1.32gb)
    7: AllocateOnlyAllocator-limited/ResourceHeader                             1184517680b (1.10gb)
    8: Pool/RowEngine/LockTable                                                 536881408b (512mb)
    9: AllocateOnlyAllocator-unlimited/FLA-UL<120,256>/BigBlockInfoAllocator    360752520b (344.04mb)
    10: Pool/PersistenceManager/PersistentSpace(0)/RowStoreConverter/ConvPage    239075328b (228mb)
    11: Pool/RowEngine/Internal                                                  205837824b (196.30mb)
    12: StackAllocator                                                           176672768b (168.48mb)
    13: AllocateOnlyAllocator-unlimited/FLA-UL<48,128>/FreeBigBlockInfoAllocator 144301008b (137.61mb)
    14: Pool/RowEngine/Transaction                                               103391528b (98.60mb)
    15: Pool/malloc/libhdbexpression.so                                          90507984b (86.31mb)
    16: Pool/malloc/libhdbbasement.so                                            90380472b (86.19mb)
    17: AllocateOnlyAllocator-unlimited/ReserveForUndoAndCleanupExec             84029440b (80.13mb)
    18: AllocateOnlyAllocator-unlimited/ReserveForOnlineCleanup                  84029440b (80.13mb)
    19: Pool/Statistics                                                          83825720b (79.94mb)
    20: Pool/PersistenceManager/ContainerNameDirectory                           59182968b (56.44mb)
    In order to fix this bottleneck, we first need to get HDB started, but how?
    Is there a way to aviod that row store tables are being loaded during startup? (this would allow enough memory for the index rebuild)
    Is there a way to skip the index rebuild during startup?
    Can we increase the allocation limit to more than 95% of the physical memory? (e.g. we could configure swap space to be utilized, just to get over the edge of this during the startup in order to bring our HDB back up and work on reducing the memory requirement on the master index server)
    Kind Regards
    Florian Wittmann
    ps. we also have a call with SAP.

    To update everyone who runs into the same issue during startup of HANA, here is the solution that has worked for us. But I highly recommend to have such an approach reviewed by SAP service before I you perform this!
    For us the only chance left to bring HANA up was to configure swap space on the master node. (We configured 20GB...we could not know how much memory it would need during the startup to get passed the index rebuild, so that was just a guess that turned out to be just enough for us to get passed that memory peak during the startup phase).
    After that we adjusted the custom parameter file /sapmnt/<SID>/global/hdb/custom/config/global.ini
    and maintained a global_allocation_limit that we manually calculated as (512GB physical mem. + 20GB swap mem.)/0.95
    e.g.
    [memorymanager]
    global_allocation_limit=517530
    Than we started HANA up again and made use of the page file during the index rebuild in the startup phase...of course this dramatically slows down the startup...well you do an index reorg using swap space...but after 1hour we got passed the index rebuild and memory utilization went down again. (With this error we learned that HANA has a significantly higher memory consumption during startup and the upgrade from SP 6 to SP 7 must have even increased this slightly, since we managed to startup our HANA db before upgrading without this issue, but it was not the root cause!)
    Now that we had HANA back up, we investigated memory consuming indices together with SAP, and with the help of below query, we identified row store table RSMONMESS to hold 25GB of 2ndary indices!
    select table_name, round((sum(index_size)) / 1024 / 1024, 2) as
    SIZE_IN_MB, count(*) as number_of_indexes from M_RS_INDEXES group by
    table_name order by SIZE_IN_MB desc
    Before droping 2ndary indices:
    TABLE_NAME;SIZE_IN_MB;NUMBER_OF_INDEXES
    RSMONMESS;30.883,8;6
    drop index SAP<SID>."RSMONMESS~AXX";
    drop index SAP<SID>."RSMONMESS~TIM";
    drop index SAP<SID>."RSMONMESS~AU1";
    drop index SAP<SID>."RSMONMESS~RID";
    drop index SAP<SID>."RSMONMESS~AXY";
    After drop:
    TABLE_NAME;SIZE_IN_MB;NUMBER_OF_INDEXES
    RSMONMESS;5.708,43;1
    With that change we reset our custom parameter on global_allocation_limit and went back to the default (95% of main physical mem.), removed the swap file and started up HANA again...and during this startup we managed to stay in our global_allocation_limit and bring HANA back up again!

  • SYSTEM_NO_TASK_STORAGE error

    hi
    am new in basis. am facing one problem production server  .pls help me
    my server is
    sap 4.7ee
    database 9i
    os is windows 2003.
    RAM is 4gb
    swap is 12 max but is using 9.3 gb
    swap record
    Mon Jun 11 11:21:41 2007  interval  10   sec.
    Com charg Com charge Act. size
    limit [kb  free [Kb]  swap [Kb]
    12852756  6645,616   9340,928
    when the abapers writing the queries that time and some end user using some t codes that server given the error like <b>SYSTEM_NO_TASK_STORAGE</b>
    <b>Unable to fulfil request for 1559240 bytes of storage space.</b>
    in st22 t code error massage is Unable to fulfil request for 1559240 bytes of storage space.
    What happened?
    Each transaction requires some main memory space to process
    application data. If the operating system cannot provide any more
    space, the transaction is terminated.
    What can you do?
    Try to find out (e.g. by targetted data selection) whether the
    transaction will run with less main memory.
    If there is a temporary bottleneck, execute the transaction again.
    If the error persists, ask your system administrator to check the
    following profile parameters:
    o  ztta/roll_area            (1.000.000 - 15.000.000)
           Classic roll area per user and internal mode
           usual amount of roll area per user and internal mode
    o  ztta/roll_extension       (10.000.000 - 500.000.000)
           Amount of memory per user in extended memory (EM)
    o  abap/heap_area_total      (100.000.000 - 1.500.000.000)
           Amount of memory (malloc) for all users of an application
           server. If several background processes are running on
           one server, temporary bottlenecks may occur.
           Of course, the amount of memory (in bytes) must also be
           available on the machine (main memory or file system swap).
           Caution:
    Error analysis
    A new storage area of 1559240 bytes was requested
    (storage calss TASK).
    All the available space has been used up.
    Possible reason: Either the volume of data to be processed is too large
    or the available swap space is too small.
    How to correct the error
    Restrict volume of data or increase swap space.
    Decide by analysis whether this request is reasonable or whether there
    is a program error. Pay particular attention to the internal table
    entries listed below.
    The amount of storage space (in bytes) filled at termination time was:
    Roll area...................... 8112
    Extended memory (EM)........... 14634144
    Assigned memory (HEAP)......... 0
    Short area..................... " "
    Paging area.................... 1409024
    Maximum address space.......... " "
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    use the following search criteria:
    pls give me a solution it is urgent
    Message was edited by:
            kiran kumar

    Hello Kiran,
    First question:
    1 Is the dump coming for standard SAP transactions or for custom transactions developed by your ABAPers?
    If it is for standard SAP transaction then please review the values of profile parameters mentioned in the dump.
    If it is for non standard then there are performance issues arising out of the code written by your developers. Please get it reviewed.
    Regards.
    Ruchit.

  • Program locked in transfer - export error

    Hello,
    I released a program in development. But there occured a runtime error and the transport request couldnt be completed.
    Now the program is locked with status - " Released but incomplete".
    The release wasnt complete and I cannot open the program in "Change mode" in development now.
    Please tell me how do I unlock the program in order to access it in change mode in Development.
    The run time error :
    Runtime Errors         DATASET_CANT_CLOSE
    Except.                CX_SY_FILE_CLOSE
    Short text
        Operating system cannot close file
    What happened?
        Resource bottleneck
        The current program "SAPLSLOG" had to be terminated because
        a capacity limit has been reached.
    Source Code Extract
    Line  SourceCde
      353         OPEN DATASET pv_logname_file MESSAGE lv_message
      354                                      FOR APPENDING
      355                                      IN TEXT MODE
      356                                      ENCODING UTF-8
      357                                      IGNORING CONVERSION ERRORS.
      358       ENDTRY.
      359       IF sy-subrc <> 0.
      360         lv_msgv1   = lv_message(50).
      361         lv_msgv2   = lv_message+50(50).
      362         MESSAGE e814(pu) WITH pv_logname_file lv_msgv1 lv_msgv2
      363                          RAISING file_access_error.
      364       ENDIF.
      365     WHEN trlog_type_db.
      366       CLEAR pt_ddprs[].
      367     WHEN OTHERS.
      368       MESSAGE e313(pu)  RAISING invalid_input.
      369   ENDCASE.
      370
      371 ENDFORM.                               " OPEN_OUTPUT
      372
      373 &----
      374 *&      Form  CLOSE_OUTPUT
      375 &----
      376 FORM close_output TABLES   pt_ddprs        STRUCTURE ddprs
      377                   USING    pv_log_type     TYPE trlog_type
      378                            pv_logname_file LIKE tstrf01-file
      379                            pv_logname_db   LIKE ddprh-protname.
      380
      381   CASE pv_log_type.
      382     WHEN trlog_type_file.
    >>>>>       CLOSE DATASET pv_logname_file.
      385     WHEN trlog_type_db.
      386       PERFORM write_table_ddprs      TABLES pt_ddprs
      387                                      USING  pv_logname_db.
      388     WHEN OTHERS.
      389       MESSAGE e313(pu)  RAISING invalid_input.
      390   ENDCASE.
      391
      392 ENDFORM.                               " CLOSE_OUTPUT
      393 &----
      394 *&      Form  handle_overflow
      395 &----
      396 FORM handle_overflow       TABLES pt_ddprs STRUCTURE ddprs
      397                             USING pv_logname
      398                          CHANGING pv_start_new_lines  TYPE sy-tabix
      399                                   pv_counter  LIKE ddprh-lpointer.
      400
      401   CONSTANTS: lc_del_beg   LIKE ddprh-lpointer  VALUE '20000',
      402              lc_del_end   LIKE ddprh-lpointer  VALUE '79999',

    Hi,
    This problem relates to Oracle Log Sequence. Please follow the below steps:
    Log on to the OS using <SIDADM> login.
    Execute the command :
    C:> SQLPLUS "/as sysdba"
    At SQL prompt execute the following statements:
    truncate table schema.ddlog;
    create sequence ddlog_seq minvalue -2147483640 maxvalue 2147483640 increment by 1 cache 50 noorder nocycle;
    (Here schema will be SAP<SID>)
    Try client import after this.
    Hope this will help.
    Thanks
    LK
    Edited by: Lokendra on Jul 17, 2009 6:31 PM

  • ERROR in creating Shadow Copy: VSS_E_HOLD_WRITES_TIMEOUT

    Hi,
    We have custom VSS HWProvider and I am trying to create a shadow copy on x64 windows 2k3 server,
    using following command:
    C:\> vshadow.exe  -p -nw -t =test1.xml J:
    VSHADOW.EXE 2.2 - Volume Shadow Copy sample client
    Copyright (C) 2005 Microsoft Corporation. All rights reserved.
    (Option: Persistent shadow copy)
    (Option: No-writers option detected)
    (Option: Transportable shadow set. Saving xml to file 'test1.xml')
    (Option: Create shadow copy set)
    - Setting the VSS context to: 0x00000039
    Creating shadow set {6654de2c-5000-48e6-afb9-64e22565acbc} ...
    - Adding volume \\?\Volume{f0afe5a5-4a2f-11dc-bb12-001143de30f2}\ [J:\] to the s
    hadow set...
    Creating the shadow (DoSnapshotSet) ...
    (Waiting for the asynchronous operation to finish...)
    Error during the last asynchronous operation.
    - Returned HRESULT = 0x80042314
    - Error text: VSS_E_HOLD_WRITES_TIMEOUT
    - Please re-run VSHADOW.EXE with the /tracing option to get more details
    here J:\  is a 100 MB NTFS partition, protected by custom backup application.
    Event viewer has following error in Application Log:
    "Volume Shadow Copy Service error: The I/O writes cannot be held during the shadow copy creation period on volume \\?\Volume{f0afe5a5-4a2f-11dc-bb12-001143de30f2}\. The volume index in the shadow copy set is 0. Error details: Open[0x00000000], Flush[0x00000000], Release[0x80042314], OnRun[0x00000000]"
    (Note: It works for win32 server.)
    Though there is some information regarding this bug on MSDN, I could not proceed.
    http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&ProdVer=5.2.3790.1830&EvtID=12298&EvtSrc=VSS&LCID=1033
    Kindly help me.
    Thanks,
    VNY.

    If SnapDrive 6.4 or 6.4.1 is in use, consider upgrading to 6.4.2 due to a known issue in bug 631829, which results in unnecessary VSS_HOLD_WRITES_TIMEOUTS errors,
    due to a new ZAPI call workflow during a wafl-sync multicreation snapshot. This issue is fixed in SnapDrive 6.4.2 and higher.
    If issues persist after the upgrade, or the version of SnapDrive is earlier than 6.4 or later than 6.4.2, the error is generally related to either full volumes or a potential performance bottleneck on the storage controller, and there might be a considerable
    delay in SME backup time.
    If the volume is full, resize the volume to ensure it has enough space. For more information, see
    2013016: SnapDrive fails to mount LUN because it tries to enable LUN space reservation
    2014096: SnapManager for Exchange backup fails with error code: 0xc00402b5
    The delays and timeouts can be related to SnapDrive for Windows (SDW) Transport Protocol Settings on HTTP/S protocol with a domain account rather than using a local privileged account on the storage system.  Using a domain account for HTTP authentication
    can result in significantly reduced performance. To avoid this issue, use a storage system account for authentication (for example, root (7-mode), vsroot (Clustered ONTAP), or another privileged account created on the storage system(s)), instead of a domain
    account for the Transport Protocol Setting on all DAG nodes.
    If the issue still persists, call the NetApp support hotline and be prepared to gather some storage system-side performance data using the Perfstat tool.
    For information on how to use the perfstat tool, see article 1010551: How to collect Perfstat data over RSH or SSH. The perfstat MUST
    be collected during a backup where this problem is encountered to be useful for troubleshooting.

  • OutOfMemory error while executing sql query

    Hello!
    My program gets multiple datas from database in every ten minutes, and stores them in memory for hundreds of users, requesting datas via web-interface simoultaneously.
    I dont have access to change database structures, write stored procedures, etc, just read from db.
    There is a table in database with lot of million rows, and sometimes when I try to execute a SELECT on this table it takes minutes to get back the result.
    To avoid waiting for database server for a long time, I set querytimeout to 30 seconds.
    If the server throws back the execution with Query Timed out Exception, I want to 'forget' this data, and 0 value is acceptable because of fast run is more important. So I put the boolean broken variable to check if there is any problem with db server.
    The size of the used memory is about 150Mb if things going well, but I set the max heap to 512 MB, just in case anything happens.
    I'm logging all threads stacktrace, and free/used/allocated memory size in every 5 seconds.(threadwatching.log) 2.appendix
    Sometimes, not in every case (I dont know what is this depends on), when I get the next phase of refreshing cached datas (you can see it below), the process reaches the fiorst checkpoint (signed in code below), starts to execute the sql query, and never reaches the second checkpoint , but used memory growing 50-60 Mb-os in every 5 seconds, as I can see in threadwatching.log until it reaches the max memory and throws OutOfMemory error: java heap space.
    I'm using DbConnectionBroker for connection pooling, SQLCommandBean for handling Statements, PreparedStatements, etc, and jTDS jdbc connector.
    SQLCommandBean closes statements, resultsets, so these objects doesnt stays open.
    I cant figured out what causes the memory leak, if someone have an idea, please help me.
    1. Part of the cached data refreshing (DataFactory.createPCVPPMforSiemens()):
            PCVElement element = new PCVElement(m, ProcessControlView.PPM);
            String s = DateTime.getDate(interval.getStartDate());
            boolean broken=false;
            int value = 0;
            for (int j = 0; j < 48; j++) {
                try {
                    if (!broken) {
                        d1 = DateTime.getDate(new Date(start + ((j + 1) * 600000)));
                        sqlBean = new SQLCommandBean();
                        conn = broker.getConnection();
                        sqlBean.setConnection(conn);
                        sqlBean.setQueryTimeOut(30);
                        System.out.println(DateTime.getDate(new Date())+" "+m.getName()+"   "+j);// first checkpoint
                        value = SiemensWorks.getPCVPPM(sqlBean, statId, s, d1);
                        System.out.println(DateTime.getDate(new Date())+" "+m.getName()+"   "+j);// second checkpoint
                    } else value=0;
                } catch (Exception ex) {
                    System.out.println("ERROR: DataFactory.createPCVPPMforSiemens 1 :" + ex.getMessage());
                    ex.printStackTrace();
                    value = 0;
                    broken=true;
                } finally {
                    try {
                        broker.freeConnection(conn);
                    } catch (Exception ex) {}
                element.getAvgValues()[j] = value;
            }2. SiemensWorks.getPCVPPM()
        public static int getPCVPPM(SQLCommandBean sqlBean,int statID,String start,String end)
                throws SQLException, UnsupportedTypeException, NoSuchColumnException {
            sqlBean.setSqlValue(SiemensSQL.PCV_PPM);
            Vector values=new Vector();
            values.add(new StringValue(statID+""));
            values.add(new StringValue(start));
            values.add(new StringValue(end));
            sqlBean.setValues(values);
            Vector rows=sqlBean.executeQuery();
            if (rows==null || rows.size()==0) return 0;
            Row row=(Row)rows.firstElement();
            try {
                float ret=Float.parseFloat(row.getString(1));
                if (ret<=0) ret=0;
                return Math.round(ret);
            } catch (Exception ex) {
                return 0;
        }3. Part of Threadwatching.log
    2006-10-13 16:46:56 Name: SMT Refreshing Threads
    2006-10-13 16:46:56 Thread count: 4
    2006-10-13 16:46:56 Active count: 4
    2006-10-13 16:46:56 Active group count: 0
    2006-10-13 16:46:56 Daemon: false
    2006-10-13 16:46:56 Priority: 5
    2006-10-13 16:46:57 Free memory: 192,228,944 bytes
    2006-10-13 16:46:57 Max memory: 332,988,416 bytes
    2006-10-13 16:46:57 Memory in use: 140,759,472 bytes
    2006-10-13 16:46:57 ---------------------------------
    2006-10-13 16:46:57 0. Name: CachedLayerTimer
    2006-10-13 16:46:57 0. Id: 19
    2006-10-13 16:46:57 0. Priority: 5
    2006-10-13 16:46:57 0. Parent: SMT Refreshing Threads
    2006-10-13 16:46:57 0. State: RUNNABLE
    2006-10-13 16:46:57 0. Alive: true
    2006-10-13 16:46:57 java.io.FileOutputStream.close0(Native Method)
    2006-10-13 16:46:57 java.io.FileOutputStream.close(Unknown Source)
    2006-10-13 16:46:57 sun.nio.cs.StreamEncoder$CharsetSE.implClose(Unknown Source)
    2006-10-13 16:46:57 sun.nio.cs.StreamEncoder.close(Unknown Source)
    2006-10-13 16:46:57 java.io.OutputStreamWriter.close(Unknown Source)
    2006-10-13 16:46:57 xcompany.smtmonitor.chart.ChartCreator.createChart(ChartCreator.java:663)
    2006-10-13 16:46:57 xcompany.smtmonitor.chart.ChartCreator.create(ChartCreator.java:441)
    2006-10-13 16:46:57 xcompany.smtmonitor.CachedLayerRefreshenerTask.run(CachedLayerRefreshenerTask.java:463)
    2006-10-13 16:46:57 java.util.TimerThread.mainLoop(Unknown Source)
    2006-10-13 16:46:57 java.util.TimerThread.run(Unknown Source)
    Software runs well until I get the DataFactory.createPCVPPMforSiemens function in my code ->
    2006-10-13 16:47:01 Name: SMT Refreshing Threads
    2006-10-13 16:47:01 Thread count: 4
    2006-10-13 16:47:01 Active count: 4
    2006-10-13 16:47:01 Active group count: 0
    2006-10-13 16:47:01 Daemon: false
    2006-10-13 16:47:01 Priority: 5
    2006-10-13 16:47:02 Free memory: 189,253,304 bytes
    2006-10-13 16:47:02 Max memory: 332,988,416 bytes
    2006-10-13 16:47:02 Memory in use: 143,735,112 bytes
    2006-10-13 16:47:02 ---------------------------------
    2006-10-13 16:47:02 0. Name: CachedLayerTimer
    2006-10-13 16:47:02 0. Id: 19
    2006-10-13 16:47:02 0. Priority: 5
    2006-10-13 16:47:02 0. Parent: SMT Refreshing Threads
    2006-10-13 16:47:02 0. State: RUNNABLE
    2006-10-13 16:47:02 0. Alive: true
    2006-10-13 16:47:02 java.util.LinkedList$ListItr.previous(Unknown Source)
    2006-10-13 16:47:02 net.sourceforge.jtds.util.TimerThread.setTimer(TimerThread.java:174)
    2006-10-13 16:47:02 net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:3734)
    2006-10-13 16:47:02 net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:997)
    2006-10-13 16:47:02 net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:320)
    2006-10-13 16:47:02 net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:667)
    2006-10-13 16:47:02 xcompany.database.sql.SQLCommandBean.executeQuery(SQLCommandBean.java:91)
    2006-10-13 16:47:02 xcompany.smtmonitor.data.SiemensWorks.getPCVPPM(SiemensWorks.java:409)
    2006-10-13 16:47:02 xcompany.smtmonitor.data.DataFactory.createPCVPPMforSiemens(DataFactory.java:6103)
    2006-10-13 16:47:02 xcompany.smtmonitor.data.DataFactory.refreshProcessControlView(DataFactory.java:5791)
    2006-10-13 16:47:02 xcompany.smtmonitor.CachedLayerRefreshenerTask.run(CachedLayerRefreshenerTask.java:514)
    2006-10-13 16:47:02 java.util.TimerThread.mainLoop(Unknown Source)
    2006-10-13 16:47:02 java.util.TimerThread.run(Unknown Source)
    2006-10-13 16:47:06 Name: SMT Refreshing Threads
    2006-10-13 16:47:06 Thread count: 4
    2006-10-13 16:47:06 Active count: 4
    2006-10-13 16:47:06 Active group count: 0
    2006-10-13 16:47:06 Daemon: false
    2006-10-13 16:47:06 Priority: 5
    2006-10-13 16:47:08 Free memory: 127,428,192 bytes
    2006-10-13 16:47:08 Max memory: 332,988,416 bytes
    2006-10-13 16:47:08 Memory in use: 205,560,224 bytes
    2006-10-13 16:47:08 ---------------------------------
    2006-10-13 16:47:08 0. Name: CachedLayerTimer
    2006-10-13 16:47:08 0. Id: 19
    2006-10-13 16:47:08 0. Priority: 5
    2006-10-13 16:47:08 0. Parent: SMT Refreshing Threads
    2006-10-13 16:47:08 0. State: RUNNABLE
    2006-10-13 16:47:08 0. Alive: true
    2006-10-13 16:47:08 java.util.LinkedList$ListItr.previous(Unknown Source)
    2006-10-13 16:47:08 net.sourceforge.jtds.util.TimerThread.setTimer(TimerThread.java:174)
    2006-10-13 16:47:08 net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:3734)
    2006-10-13 16:47:08 net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:997)
    2006-10-13 16:47:08 net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:320)
    2006-10-13 16:47:08 net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:667)
    2006-10-13 16:47:08 xcompany.database.sql.SQLCommandBean.executeQuery(SQLCommandBean.java:91)
    2006-10-13 16:47:08 xcompany.smtmonitor.data.SiemensWorks.getPCVPPM(SiemensWorks.java:409)
    2006-10-13 16:47:08 xcompany.smtmonitor.data.DataFactory.createPCVPPMforSiemens(DataFactory.java:6103)
    2006-10-13 16:47:08 xcompany.smtmonitor.data.DataFactory.refreshProcessControlView(DataFactory.java:5791)
    2006-10-13 16:47:08 xcompany.smtmonitor.CachedLayerRefreshenerTask.run(CachedLayerRefreshenerTask.java:514)
    2006-10-13 16:47:08 java.util.TimerThread.mainLoop(Unknown Source)
    2006-10-13 16:47:08 java.util.TimerThread.run(Unknown Source)
    2006-10-13 16:47:12 Name: SMT Refreshing Threads
    2006-10-13 16:47:12 Thread count: 4
    2006-10-13 16:47:12 Active count: 4
    2006-10-13 16:47:12 Active group count: 0
    2006-10-13 16:47:12 Daemon: false
    2006-10-13 16:47:12 Priority: 5
    2006-10-13 16:47:15 Free memory: 66,760,208 bytes
    2006-10-13 16:47:15 Max memory: 332,988,416 bytes
    2006-10-13 16:47:15 Memory in use: 266,228,208 bytes
    2006-10-13 16:47:15 ---------------------------------
    2006-10-13 16:47:15 0. Name: CachedLayerTimer
    2006-10-13 16:47:15 0. Id: 19
    2006-10-13 16:47:15 0. Priority: 5
    2006-10-13 16:47:15 0. Parent: SMT Refreshing Threads
    2006-10-13 16:47:15 0. State: RUNNABLE
    2006-10-13 16:47:15 0. Alive: true
    2006-10-13 16:47:15 java.util.LinkedList.addBefore(Unknown Source)
    2006-10-13 16:47:15 java.util.LinkedList.access$300(Unknown Source)
    2006-10-13 16:47:15 java.util.LinkedList$ListItr.add(Unknown Source)
    2006-10-13 16:47:15 net.sourceforge.jtds.util.TimerThread.setTimer(TimerThread.java:175)
    2006-10-13 16:47:15 net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:3734)
    2006-10-13 16:47:15 net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:997)
    2006-10-13 16:47:15 net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:320)
    2006-10-13 16:47:15 net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:667)
    2006-10-13 16:47:15 xcompany.database.sql.SQLCommandBean.executeQuery(SQLCommandBean.java:91)
    2006-10-13 16:47:15 xcompany.smtmonitor.data.SiemensWorks.getPCVPPM(SiemensWorks.java:409)
    2006-10-13 16:47:15 xcompany.smtmonitor.data.DataFactory.createPCVPPMforSiemens(DataFactory.java:6103)
    2006-10-13 16:47:15 xcompany.smtmonitor.data.DataFactory.refreshProcessControlView(DataFactory.java:5791)
    2006-10-13 16:47:15 xcompany.smtmonitor.CachedLayerRefreshenerTask.run(CachedLayerRefreshenerTask.java:514)
    2006-10-13 16:47:15 java.util.TimerThread.mainLoop(Unknown Source)
    2006-10-13 16:47:15 java.util.TimerThread.run(Unknown Source)
    2006-10-13 16:47:17 Name: SMT Refreshing Threads
    2006-10-13 16:47:17 Thread count: 4
    2006-10-13 16:47:17 Active count: 4
    2006-10-13 16:47:17 Active group count: 0
    2006-10-13 16:47:17 Daemon: false
    2006-10-13 16:47:17 Priority: 5
    2006-10-13 16:47:20 Free memory: 23,232,496 bytes
    2006-10-13 16:47:20 Max memory: 332,988,416 bytes
    2006-10-13 16:47:20 Memory in use: 309,755,920 bytes
    2006-10-13 16:47:20 ---------------------------------
    2006-10-13 16:47:20 0. Name: CachedLayerTimer
    2006-10-13 16:47:20 0. Id: 19
    2006-10-13 16:47:20 0. Priority: 5
    2006-10-13 16:47:20 0. Parent: SMT Refreshing Threads
    2006-10-13 16:47:20 0. State: RUNNABLE
    2006-10-13 16:47:20 0. Alive: true
    2006-10-13 16:47:20 net.sourceforge.jtds.util.TimerThread.setTimer(TimerThread.java:171)
    2006-10-13 16:47:20 net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:3734)
    2006-10-13 16:47:20 net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:997)
    2006-10-13 16:47:20 net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:320)
    2006-10-13 16:47:20 net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:667)
    2006-10-13 16:47:20 xcompany.database.sql.SQLCommandBean.executeQuery(SQLCommandBean.java:91)
    2006-10-13 16:47:20 xcompany.smtmonitor.data.SiemensWorks.getPCVPPM(SiemensWorks.java:409)
    2006-10-13 16:47:20 xcompany.smtmonitor.data.DataFactory.createPCVPPMforSiemens(DataFactory.java:6103)
    2006-10-13 16:47:20 xcompany.smtmonitor.data.DataFactory.refreshProcessControlView(DataFactory.java:5791)
    2006-10-13 16:47:20 xcompany.smtmonitor.CachedLayerRefreshenerTask.run(CachedLayerRefreshenerTask.java:514)
    2006-10-13 16:47:20 java.util.TimerThread.mainLoop(Unknown Source)
    2006-10-13 16:47:20 java.util.TimerThread.run(Unknown Source)
    2006-10-13 16:47:23 Name: SMT Refreshing Threads
    2006-10-13 16:47:23 Thread count: 4
    2006-10-13 16:47:23 Active count: 4
    2006-10-13 16:47:23 Active group count: 0
    2006-10-13 16:47:23 Daemon: false
    2006-10-13 16:47:23 Priority: 5
    2006-10-13 16:47:26 Free memory: 4,907,336 bytes
    2006-10-13 16:47:26 Max memory: 332,988,416 bytes
    2006-10-13 16:47:26 Memory in use: 328,083,768 bytes
    2006-10-13 16:47:26 ---------------------------------
    2006-10-13 16:47:26 0. Name: CachedLayerTimer
    2006-10-13 16:47:26 0. Id: 19
    2006-10-13 16:47:26 0. Priority: 5
    2006-10-13 16:47:26 0. Parent: SMT Refreshing Threads
    2006-10-13 16:47:26 0. State: RUNNABLE
    2006-10-13 16:47:26 0. Alive: true
    2006-10-13 16:47:26 java.util.LinkedList.addBefore(Unknown Source)
    2006-10-13 16:47:26 java.util.LinkedList.access$300(Unknown Source)
    2006-10-13 16:47:26 java.util.LinkedList$ListItr.add(Unknown Source)
    2006-10-13 16:47:26 net.sourceforge.jtds.util.TimerThread.setTimer(TimerThread.java:175)
    2006-10-13 16:47:26 net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:3734)
    2006-10-13 16:47:26 net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:997)
    2006-10-13 16:47:26 net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:320)
    2006-10-13 16:47:26 net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:667)
    2006-10-13 16:47:26 xcompany.database.sql.SQLCommandBean.executeQuery(SQLCommandBean.java:91)
    2006-10-13 16:47:26 xcompany.smtmonitor.data.SiemensWorks.getPCVPPM(SiemensWorks.java:409)
    2006-10-13 16:47:26 xcompany.smtmonitor.data.DataFactory.createPCVPPMforSiemens(DataFactory.java:6103)
    2006-10-13 16:47:26 xcompany.smtmonitor.data.DataFactory.refreshProcessControlView(DataFactory.java:5791)
    2006-10-13 16:47:26 xcompany.smtmonitor.CachedLayerRefreshenerTask.run(CachedLayerRefreshenerTask.java:514)
    2006-10-13 16:47:26 java.util.TimerThread.mainLoop(Unknown Source)
    2006-10-13 16:47:26 java.util.TimerThread.run(Unknown Source)
    2006-10-13 16:47:35 Name: SMT Refreshing Threads
    2006-10-13 16:47:37 Thread count: 4
    2006-10-13 16:47:38 Active count: 4
    2006-10-13 16:47:38 Active group count: 0
    2006-10-13 16:47:38 Daemon: false
    2006-10-13 16:47:38 Priority: 5
    2006-10-13 16:47:42 Free memory: 35,316,120 bytes
    2006-10-13 16:47:42 Max memory: 332,988,416 bytes
    2006-10-13 16:47:42 Memory in use: 297,672,296 bytes
    2006-10-13 16:47:42 ---------------------------------
    2006-10-13 16:47:42 0. Name: CachedLayerTimer
    2006-10-13 16:47:42 0. Id: 19
    2006-10-13 16:47:42 0. Priority: 5
    2006-10-13 16:47:42 0. Parent: SMT Refreshing Threads
    2006-10-13 16:47:42 0. State: TIMED_WAITING
    2006-10-13 16:47:42 0. Alive: true
    2006-10-13 16:47:42 java.lang.Object.wait(Native Method)
    2006-10-13 16:47:42 java.util.TimerThread.mainLoop(Unknown Source)
    2006-10-13 16:47:42 java.util.TimerThread.run(Unknown Source)
    4. Tomcat default logging file:
    2006-10-13 16:47:36 ERROR CachedLayerRefreshenerTask: external error: Java heap space
    5. DbConnectionBroker (connection pooling) logging file:
    Handing out connection 1 --> 10/13/2006 04:47:01 PM
    Handing out connection 0 --> 10/13/2006 04:47:01 PM
    Handing out connection 1 --> 10/13/2006 04:47:01 PM
    Handing out connection 0 --> 10/13/2006 04:47:02 PM
    Warning. Connection 0 in use for 3141 ms
    Warning. Connection 0 in use for 24891 ms
    ----> Error: Could not free connection!!!
    I would appreciate for any help.

    What does your query bring back from this table?This is the query:
    SELECT case sum(c.picked) when 0 then 0 else
    ((sum(c.picked)-(sum(c.picked)-(sum(c.vacuum)+sum(c.id
    ent))))*cast((1000000/cast(sum(c.picked) as float))
    as bigint)) end as PPM
    FROM sip_comp c
    LEFT JOIN sip_pcb pc ON pc.id=c.pcbid
    LEFT JOIN sip_period p on p.id=pc.periodid
    WHERE p.stationid=? AND pc.time BETWEEN ? AND ?Has anybody who knows SQL tried EXPLAIN PLAN to optimize this table? You're joining on a table with a million rows and you're wondering why the performance is poor?
    What is the index situation with these tables?
    .> When I execute it from query manager, it takes from 1
    to 60 secs depend on servers availability. So how will that be any different for JDBC and Java?
    ..> You're right. Thats why I am here.
    What I mean by that is we can't read minds, either. You need to get some hard data to tell you where the bottleneck is. Asking at a forum won't help.
    But tell me, if the java process enters to this query
    execution, and doesnt quit until OOM thrown, how can
    be the problem in caching?I was guessing about caching, because I didn't know what the query was.
    You expect a lot.
    .> No.
    Then how do you ever expect to solve this?
    I tried YourKit Profiler at home, where I'm
    developing software, but this OOM never thrown here,
    even if I have the same database size.Then you aren't replicating the problem. You have to run it on the system that has the problem if you're going to solve it.
    YourKit isn't an industry leader. How well do you know how to use it?
    It just happened at the company where the system
    runs, and I cannot run this profiler there because
    the PC where my tomcat runs dramatically slowed.You have to run something to figure out what the problem is. What about Log4J, some trace logging statements and a batch job to harvest the log?
    Bottom line: you've got to be a scientist and get some real data. We can theorize all we want here, but that won't get you to a solution.
    %

Maybe you are looking for