Max Instance Size?

Hey all,
Does anyone know where/how you set the max process instance size? I created a BPM Object with a string attribute. I then created a quick presentation so that I could cut and past an xml document into the text area and submit the form. When I submit the form, I get the following error:
Caused by: Process execution engine execution error.
Caused by: Max instance size exceeded.
Current size is 23461, whereas the maximum size is 16384.
My code seems to work fine with a smaller xml document. Any ideas would be much appreciated.
Thanks,
Graham

Hi Graham,
In Studio you can change the max instance size by going to the Project Navigator tab -> right mouse clicking the project -> click "Engine Preferences" -> with the "Engine" catagory selected in the upper left corner click the "Advanced" tab in the upper middle portion of the dialog -> change the value in the "Maximum Instance Size" field.
There's a similar setting on Enterprise you'll need to change before you start deploying the project to this.
You'll get a warning message if you've made it too big ("The amount of memory used to store instance in memory (instance max size * cache size) should be less than half the maximum JVM Heap Size). If you see this error, pull out your calculator and click on the "Details" tab (to the right of the "Advanced" tab you just clicked"). Note the "Maximum JVM Heap Size" (typically 256mb). As an example, if you change the instance size in the "Advanced" tab from 16kb to 32kb, you might want to change the "Instances Cache" setting from 5000 to 2500.
Hope this helps,
Dan

Similar Messages

  • How to Increase Instance size for ALBPM-Err:'Max instance size exceeded.

    HI,
    Can anybody in How to increase maximum instance size for
    1. ALBPM Studio
    2. runtime i.e. process administrator?
    Look forward for help.
    Cheers
    The exception in detail is:
    Error while persisting the transaction data: 'Max instance size exceeded.
    Current size is 33262, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'StartExecution[Process1DownloadMessage]' of process '/Process1Download#Default-1.0''
    Details:
    Max instance size exceeded.
    Current size is 33262, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'StartExecution[Process1DownloadMessage]' of process '/Process1Download#Default-1.0'
    fuego.server.exception.MaxInstanceSizeRuntimeException: Max instance size exceeded.
    Current size is 33262, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'StartExecution[Process1DownloadMessage]' of process '/Process1Download#Default-1.0'      at fuego.server.ProcInst.getComponentData(ProcInst.java:792)      at fuego.server.ProcInst.mustStoreComponent(ProcInst.java:2777)      at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.executeUpdateInstance(JdbcProcessInstancePersMgr.java:2870)      at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.updateInstance(JdbcProcessInstancePersMgr.java:2272)      at fuego.server.persistence.Persistence.updateProcessInstance(Persistence.java:1008)      at fuego.server.execution.EngineExecutionContext.persistInstances(EngineExecutionContext.java:1819)      at fuego.server.execution.EngineExecutionContext.persist(EngineExecutionContext.java:1109)      at fuego.transaction.TransactionAction.beforeCompletion(TransactionAction.java:132)      at fuego.connector.ConnectorTransaction.beforeCompletion(ConnectorTransaction.java:685)      at fuego.connector.ConnectorTransaction.commit(ConnectorTransaction.java:368)      at fuego.transaction.TransactionAction.commit(TransactionAction.java:302)      at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:481)      at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)      at fuego.transaction.TransactionAction.start(TransactionAction.java:212)      at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)      at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:63)      at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)      at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)      at fuego.server.execution.ToDoItem.run(ToDoItem.java:559)      at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:773)      at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:753)      at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)      at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)      at fuego.fengine.ToDoQueueThread$PrincipalWrapper.processBatch(ToDoQueueThread.java:446)      at fuego.component.ExecutionThread.work(ExecutionThread.java:837)      at fuego.component.ExecutionThread.run(ExecutionThread.java:408)

    First take a look at your instance variables in your processes. Determine if some could be changed to be Separated instance variables. Once an instance variable's category changes from "Normal" to "Separated", it is not included in the instance size calculation.
    If you cannot mark variables as Separated, then in Studio's "Project Navigator" tab, right mouse click the name of your project -> click "Engine Preferences" -> with the "Engine" selected as the Category, click the "Advanced" tab on the upper right change the "Maximum Instance Size" to 64KB (4x the original 15kb value) and change the "Instances Cache" to 1250 (1/4th the original value).
    What version of Enterprise are you on (Standalone or WLS)? There is a similar setting on Enterprise, but it is slightly different between the two types of Enterprise Engines.
    Dan

  • How to increase instance size in oracle bpm 10.3.1

    Hi,
    anyone please help me how to change instance size in oracle bpm 10.3.1 whenver i amm attaching maximum size file it is giving error
    Caused by: fuego.server.exception.MaxInstanceSizeRuntimeException: Max instance size exceeded.
    Current size is 69033, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'Interactive[Interactive1]' of process '/Process#Default-1.0'
    Edited by: user12171025 on Nov 16, 2009 10:13 PM

    Hi,
    In the engine configuration in the Execution tab set the Maximum Instance Size that by default is 16Kb.
    If you are going to have large values for the instance size probably you have to consider to define the instance variable as separated
    Regards

  • Attachments and instance size ? (Attaching from Global Create)

    Is it true that if you want to allow users to make attachments from Global Create, you must set your "MAX Instance Size" to be at least as big as the Attachments coming in?
    In Global Create, if you want to allow user to make attachments, it seems (from the documentaiton and the sample projects) that you must have an argument to recieve the binary data, and a corresponding instance variable to which it is mapped to. Then after the Begin activity, you can create the attachment using the instance variable.
    Is there some other way to do this without instance variables holding the binary data?
    Also, making the instance variable "SEPARATED" is not a solution, because there is a max size of 2Mb on separated instance variables. I am anticipating attachments up to 100Mb
    Edited by bcespinola at 09/21/2007 8:15 AM

    Manoj,
    We found a workaround that works in Studio workspace. We are getting ready to deploy it to our ALBPM server and test it there.
    Workaround:
    Instead of passing attachment (binary data and file names) to process via Process Arguments, then mapping the arguments to instance variables, then creating attachment from instance variables, we use the Fuego.Io.BinaryFile.
    there are 2 methods on this we use:
    1) writeFromBinaryTo
    2) readToBinaryFrom
    So from the screenflow in the global create, we have screenflow level variables receiving the binary data and filenames from the posted JSP. In the screenflow, we then use "writeFromBinaryTo" method of BinaryFile object and for the 'name' paramter, provide a full path on the server to where we want the file written.
    then we pass a string containing the file's full path as an argument to the process, mapped to an instance variable.
    Then, after instance is created, we have an automatic that uses local a variable (not instance variables) to hold Binary data and filenames. We then use "readToBinaryFrom" method of BinaryFile object, again using the string containing the full path to the file on the server, as the "name" parameter to the method. This method returns a object represting the binary data. then you can use the "create attachment" code, passing in the binary data and file name to create the instance attachment.
    Finally, we do some cleanup by deleting the file that was uploaded to the server (delete method of Fuego.File)
    So in summary, instead of passsing the filename and binary data as arguments to the process, we basically are using fuego object to do a file upload to the server, then after instace created, we get reference to file on server and create attachment from there. Now our instance size can be small, but process can still handle large attachments.
    Hope that helps.
    Edited by bcespinola at 10/03/2007 6:11 AM

  • How to query the current instance size of an instance of a process

    Hello guys,
    I'm currently doing a Capacity Plan for my BPM enviroment and I would like to know the current instance size of different kind of processes deployed in my environment. I'll need this to calculate an average instance size per process. The main reason for this capacity plan is that our environment instance size is configured to more then 1000kb(don't know what kind of issues occurred in the past that led to this exceeded value configured) and I don't want to leave this configuration but I can't be safe decreasing it without know if our production environment will start launching the "Max Instance Size Exceeded" error.
    Is there any way to fetch this information? Any API or SQL Query where I can find this information?
    Thanks for any help.
    Regards,
    Luiz
    Edited by: Luiz Rocha on 30/04/2009 16:50

    Hi, Luiz!
    In order to estimate the instance size, you will have to sum up all the instance variables size.
    From the practical prospective it may be difficult to use the algorithm in cases when your instance variables are not simple types.
    For already existing instances, you can look the instance size in the database:
    An instance is just a java object, that is serialized as a byte[] and stored in the engine database, PPROCINSTANCE table, column INSTDATA.
    You can write a simple program (either java or SQL plus) that would read the instance from the BLOB and measure the size.
    And yes, with large instances you can have performance problems.

  • Instance size error

    Has anyone encountered this error in Enterprise?
    fuego.server.exception.MaxInstanceSizeRuntimeException: Max instance size exceeded.
    Current size is 237298, whereas the maximum size is 65536. This occurs with instance 'CellBuildProcess2941' at activity 'Initialize' o
    f process '/CellBuildProcess2\#Default-1.0'
    Thanks,
    Michael

    Hi Michael,
    There's an engine setting (both on Studio and Enterprise) for the maximum allowable size of instance variables.
    You have a few choices:
    1. you can bump the max instance size setting on Studio and Enterprise (not a fan of this)
    2. you can change the offending instance variable(s) to be "Separated" or
    3. you can look at your variable and see if it contains information rarely accessed and possibly should be retrieved from a database.
    good to hear from you,
    Dan

  • Instance size

    Hi all,
    is there any way to know the size of an instance?
    I use local and separated variables to control the increase of instance size, is there any other way to do this?

    Hi Michael,
    There's an engine setting (both on Studio and Enterprise) for the maximum allowable size of instance variables.
    You have a few choices:
    1. you can bump the max instance size setting on Studio and Enterprise (not a fan of this)
    2. you can change the offending instance variable(s) to be "Separated" or
    3. you can look at your variable and see if it contains information rarely accessed and possibly should be retrieved from a database.
    good to hear from you,
    Dan

  • Instance size logging / monitoring

    I am trying to debug an instance size issue and would like to log/monitor the instance size during process execution.
    I wanted to simply logMessage it and monitor it in Studio but cannot find an appropriate API in the Fuego Catalog, something like...
    logMessage("current instance size = " + Fuego.Papi.Instance.size); Or something similar.
    But no such size attribute exists.
    Any recommendations as to the best way to achieve this logging/monitoring?
    Thanks.

    Hi Michael,
    There's an engine setting (both on Studio and Enterprise) for the maximum allowable size of instance variables.
    You have a few choices:
    1. you can bump the max instance size setting on Studio and Enterprise (not a fan of this)
    2. you can change the offending instance variable(s) to be "Separated" or
    3. you can look at your variable and see if it contains information rarely accessed and possibly should be retrieved from a database.
    good to hear from you,
    Dan

  • Max-instances-per-pk attribute

    Does anybody know what is "max-instances-per-pk" attribute in
    <entity-deployment> element in orion-ejb-jar.xml file?
    I'm using oc4j version:
    E:\oc4j\j2ee\home>java -jar oc4j.jar -version
    Oracle9iAS (9.0.2.0.0) Containers for J2EEand when I deploy my CMP EJB I get this attribute added to my orion-ejb-jar.xml file with value 20!!!!!
    And when I try to create (or findByPrimaryKey) many beans with
    the same primary key, after 20 my server is hanging and I get timeout exceptions:
    for (int i=0; i<100; i++) mybean.findByPrimaryKey("1");
    when i==20 I get:
    com.evermind.server.ejb.TimeoutExpiredException: timeout expired waiting for an instance
    at com.evermind.server.ejb.DBEntityWrapperPool.getWrapperInstance(DBEntityWrapperPool.java:189)
    at com.evermind.server.ejb.DBEntityEJBHome.getWrapperInstance(DBEntityEJBHome.java:135)
    at CatalogHome_EntityHomeWrapper10.findByPrimaryKey(CatalogHome_EntityHomeWrapper10.java:302)
    at pl.empolis.delta.modules.catalogman.CatalogManagerBean.getCatalogEntryByPublicID(CatalogManagerBean.java:56)
    at CatalogManager_StatelessSessionBeanWrapper6.getCatalogEntryByPublicID(CatalogManager_StatelessSessionBeanWrapper6.java:734)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:80)
    at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:62)
    How do I set this value to infinity?
    Why I can not find any documentation about this?????
    Please help,
    Artur

    Artur -- max-instances-per-pk controls the size of the pool of wrapper instances for OC4J. I would just set it to a very large
    integer value. It will be documented in the production release of the EJB guide but for now here is a section from
    book. Also, the cache will be able to be disabled but that function was not in the pre-release. Lastly, we should be
    posting some of the documentation very soon (look for an announcement) so that will help to clarify some things.
    The wrapper instance is OC4J-generated wrapper code that provides for the
    services requested in the deployment descriptor. Before the bean instance is
    invoked, the client retrieves a handle to the wrapper instance. When the client
    invokes the bean, the wrapper is associated with a bean instance.
    The max-instances-per-pk attribute sets the maximum entity bean
    wrapper instances allowed in its pool for a given primary key. An entity beans
    wrapper code can be pooled if it is not used by a client.
    The default maximum value is 50. Set the maximum wrapper instances as
    follows:
    <entity-deployment ... max-instances-per-pk="20"
    </entity-deployment>
    Set the minimum wrapper instances as follows:
    <entity-deployment ... min-instances-per-pk="2"
    </entity-deployment>
    Thanks -- Jeff

  • Max file size OSB 11g can process

    Hi,
    What is the max file size OSB 11g can process? We want to do a POC that picks a file from FTP do some complex transformation and post to another FTP server.
    So in this scenario what can be the max file size OSB 11g can handle?
    Regards,
    Abdul

    Again, there is no fixed limit for message size JMS can handle. It depends on the Heap size available. But, In my experience JMS will reduce the practical limit much more than File/FTP transport. I have seen that you start getting a lot of OOM errors if you try to put very large messages on JMS.
    Also, if you are going to transform the payload after reading via FTP/File transport, then you will need to initialize the complete payload in memory which will restrict the maximum message size which can be processed properly.
    For large Files using Content Streaming is recommended but you can not access the streamed content within a message flow (hence no transformations).
    Another limiting factor is CPU utilization, doing complex transformations on large payload will consume a lot of CPU which will effect any other processes running on the same machine (could be another service instance on OSB itself).
    OSB is supposed to work with lightweight, stateless and fast processing. If you have very complex transformations, invest in an XML Appliance.
    If you need to transfer huge files, then use ODI.

  • Jms max message size

    I have seen some previous posts but have not found any answers. I am having problems with the onMessage method of a MDB. I am getting a java.lang.OutOfMemoryError for particularly large TextMessages...(2 megs)..Is there a setting somewhere to allow for large messages?
              Thanks for your help.
              

    Hi Karen,
              There is no max-message-size by default, except at the network
              layer of WL outside of JMS (10MB). You are simply running out
              of JVM memory. Increase the amount of memory for your server,
              perhaps decrease the number of MDB instances in your pool, and consider
              decreasing the size of the message backlog. Extra memory is consumed
              in the backlog of messages that have been passed to the MDB
              but haven't been passed to onMessage yet. You can configure the max
              size of this backlog (which defaults to a size of 10) by configuring
              a custom connection factory for the MDB, specifying the JNDI name
              of the custom connection factory in the weblogic descriptor,
              and setting the custom connection factory's "MessagesMaximum" lower.
              If you are creating a custom connection factory for topic MDBs
              be sure to set the acknowledge policy to "before".
              Tom
              P.S. Also consider compressing your messages in your application
              prior to passing them into JMS. Text tends to compress hugely.
              P.P.S. Just in case you don't realize - java Strings consume
              2 bytes per character.
              Karen wrote:
              > I have seen some previous posts but have not found any answers. I am having problems with the onMessage method of a MDB. I am getting a java.lang.OutOfMemoryError for particularly large TextMessages...(2 megs)..Is there a setting somewhere to allow for large messages?
              >
              > Thanks for your help.
              

  • Large Instance size, Is SEPARATE the answer?

    All,
    Our object is a very complex one. It contains 21 embedded objects. This object flow from the begin to the end of the process. Its gets populated @ the very beginning because all information has to be shown for all subsequent screens. The total attributes are more that 60 and there alre also a number of groups. This object gets passed into screen flows/JPS's and passed out. The input as well as the output is the same object and it gets updated/modified while it passes through various process, screenflow, activities etc.
    I can see that my instance size is reaching 48k and it may increase based on how the groups get populated. Our project does not have a a high volume. It may have a few hundred instances every day @ a max and these instances are short lived, may be 15 days top.
    Would it make sense if we make the instance variable object as a SEPARATE variable. what are the draw backs for doing that.
    -Thanks

    I just recently had requirements to have a series of screens that would input several pieces of data. These were all apart of a single much larger object. The way I solved the instance size issue was to have smaller 'view' objects. These objects contain only what is absolutely necessary on the screen they were apart of. Once that screen was done, I had a 'storeToDB' method on the view object, that would store the info based on a unique value (clientId, or proposalId... whatever) that was unique to that instance. Once it is stored, null that view, and continue to the next screenflow. This then keeps only the current information in the instance size.
    When you finally get back to the process that called it, you can just have your unique value (the clientId or whatever), so that anywhere else you need information, just make a quick sql query.
    But, also check out Dans recommendations, they cover a range of points to keep in mind!
    HTH
    -Kevin

  • Sophos AV max scanning size / timeout

    Hi,
    I haven't found any changeable settings for max. scanning size or scanning timeout on a S160 v7.1.3 with Sophos AV.
    In the GUI under "Security Services-->Anti-Maleware"  it shows  "Object Scanning Limits: Max. Object Size:  32 MB".
    I'm not able to change it. This parameter seems not to belong to the Sophos AV.
    I can change it only after enableing Webroot or McAfee first.
    The CLI has no commands for adjusting AV settings.
    How can I control the max. scanning size or scanning timeout with Sophos-AV?
    Has it fixed values for it?
    Does anyone have an idea, how it works?
    Kind regards,
    Manfred

    With administrator rights, the value should be editable.  The object size is applied to all scanners which have been licensed and enabled on the appliance.
    ~Tim

  • "max-pool-size"   what is it good for?

    SCreator simple CRUD use:
    After a while I get:
    " Error in allocating a connection. Cause: In-use connections equal max-pool-size and expired max-wait-time. Cannot allocate more connection"
    Which is odd, because its just me using the server/database. It looks like every tiime I run a test, another conection is lost.
    Do I have to restart the server? Is there a way to say "its only me, reuse a single connection"
    why does "connection pooling" make life harder?
    Can I turn it of?
    cheers
    cts

    I got the same error in my JSC project. I search for few days and i found the solution. I do a mistake in my page Navigation. I forgot a slash in <to-view-id>.
    A bad example:
    <navigation-rule>
    <from-view-id>/*</from-view-id>
    <navigation-case>
    <from-outcome>page13</from-outcome>
    <to-view-id>page13.jsp</to-view-id>
    </navigation-case>
    A good example:
    <from-view-id>/*</from-view-id>
    <navigation-case>
    <from-outcome>page13</from-outcome>
    <to-view-id>/page13.jsp</to-view-id>
    </navigation-case>
    with this mistake, the afterRenderedResponse() was never called, and the ResultRowSet was never closed.
    Korbben.

  • SharePoint - Error_1_Error occurred in deployment step 'Add Solution': Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was rea

    Hi,
    I am Shanmugavel, SharePoint developer, 
    I am facing the below SharePoint 2013 deployment issue while deploying using VS2012.
    If i will deploy the same wsp or existing wsp
    (last build) using direct powershell deployment, the solution adding properly, but the same timeout exception coming while activation the features.  Please find the below error.
    I tried the below activists:
    1. Restarted my dev server, DB server. 
    2. tried the same solution id different server
    3. tried existing wsp file (last build version)
    4. Deactivated all the features, including project Active deployment configuration.... but still i am facing the same issue.
    I hope this is not coding level issue, because still my code is not start running, before that some problem coming.
    Please help me any one.....  Last two days i am struck because of this...

    What you need to understand is the installation of a WSP does not do much. It just makes sure that you relevant solution files are deployed to the SharePoint farm.
    Next comes the point when you activate the features. It is when the code which you have written to "Activate" certain features for your custom solution.
    Regarding the error you are getting, it typically means that you have more connections (default is I guess 100) open for a SQL database then you are allowed to.
    If you have a custom database and you are opening a connection, make sure you close it as well.
    Look at the similar discussion here:
    The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool
    size was reached[^]
    I would suggest further to look at the
    ULS logs[^] to get better insight.
    Manas Bhardwaj's Stream : www.manasbhardwaj.net

Maybe you are looking for