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

Similar Messages

  • 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

  • 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 measure the task instance size

    I am trying to understand how to measure the custom task instnace size that was occupied in the cache repository. Is there a way to obtain the size (in KB s ) in lighthouse 4.1 +sp5. Please help.                                                                                                                                                                                                                                                                                                                                                                                                       

    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.

  • 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 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

  • 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

  • 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

  • Object instance size calculation

    Hi all,
    Is it possible to calculate the size (amount of bytes in memory) of an object instance?
    Thanks in advance,

    http://www.javaworld.com/javaworld/javaqa/2003-12/02-qa-1226-sizeof.html

  • What is the AzureVM bandwidth throttling for each instance size?

    While uploading multi-GB VHDs to Azure Blob storage from an AzureVM in the same region I've discovered the following uplink network throttling.
    Basic_A0 size: 5Mbps
    Basic_A1 size: 100Mbps
    I would like to get this closer to 1000Mbps, even 500Mbps would be adequate.  The only
    Azure documentation that I can find only provides bandwidth information for the Standard_DS series (which is expressed in MB per second).  However I would like to know what uplink bandwidth is available to Standard Tier A and D series.

    Hi Martin;
    When we create certain sized VMs, the NICs associated with them are throttled for outbound traffic. However this is only a figurative scale the actual throughput would
    be dependent on the other factors like your ISP also if other tenants are throttling, the speed would vary.  Hope
    this helps. 
    Specifications
    Extra Small
    Small
    Medium
    Large
    Extra Large
    CPU
    1.0 GHz
    1.6 GHz
    2 X 1.6 GHz
    4 X 1.6 GHz
    8 X 1.6 GHz
    Memory
    768 MB
    1.75 GB
    3.5 GB
    7 GB
    14 GB
    VM Local Storage
    20 GB
    225 GB
    490 GB
    1,000 GB
    2,040 GB
    Network I/O Performance
    Low
    Moderate
    High
    High
    High
    Allocated Bandwidth
    5 Mbps
    100 Mbps
    200 Mbps
    400 Mbps
    800 Mbps
    Warm Regards;
    Prasant

  • How to Increase the retreving size of instances using PAPI filters.

    Hi,
    How to Increase the retreving size of instances using PAPI filters.
    In my engine database instance size exceeds 2500 then we are getting following exception.
    If we login in to user workspace able to see the instances but while trying to retrieve from PAPI getting below exception and showing the user's inbox aize as 0.
    In Process Admin console we set all the required parameters.
    Still I m getting the same problem.
    Can you please lgive mev the solution.
    <Mar 23, 2010 8:58:24 PM SGT> <Warning> <RMI> <BEA-080003> <RuntimeException thrown by rmi server: fuego.ejbengine.EJBProcessControl_1zamnl_EOImpl.getInstancesByFilter(Lfuego.papi.impl.j2ee.EJBSecureEngineInfo;Ljava.lang.String;Lfuego.papi.Filter;)
    java.lang.ClassCastException: cannot assign instance of java.util.HashSet to field fuego.view.FilterImpl.attributes of type java.util.List in instance of fuego.view.FilterImpl.
    java.lang.ClassCastException: cannot assign instance of java.util.HashSet to field fuego.view.FilterImpl.attributes of type java.util.List in instance of fuego.view.FilterImpl
         at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2032)
         at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1212)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1953)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    Regards,
    Bharath.
    Edited by: bg57295 on Mar 24, 2010 6:45 PM

    Hi Bharath,
    Believe me, you have an incompatibility between different build#.
    PAPI has an instance cache. When certain process has more instances than the maximum specified, the cache is switch to status OPEN. That means, that PAPI will not be able to resolve some instance queries using the information in the cache. When that occurs, PAPI forward all those queries to the engine.
    The incompatibility introduced is in the communication between PAPI and Engine. So, you only get the exception when you have more instances than the maximum cache size.
    Regards,
    Ariel

  • There is a maximun size for an instance?

    Hi,
    I want to know if there is a maximun size for a instance and if it's possible to increase it? Because in my process the users need to atach really big files to each instance.
    Thanks in advance

    Agree you can change the size of the instance in both Studio and Enterprise, but do so with caution.
    Know you know this, but when you bump into the max instance size limit, you run the risk of hurting the Oracle BPM Engine's performance. This can be avoided in a couple ways. My preference would always be to go with the first option discussed below.
    Separated Instance Variable
    Here's your first option. There are different categories of instance variables. Long story short - consider making the large object that you're storing as an instance variable a "Separated" instance variable.
    As the name implies, it will then store this variable in a separate table from the other instance variables and will not be included in the max instance size calculation. This will have the pleasant side effect of keeping your instance size smaller and your engine performance higher.
    Bump the Limit in the Engine Preferences
    Here's your second option. In Studio (there's a similar setting in Enterprise) you can increase the default max instance size by right mouse clicking the project's name in the Project Navigator tab and click Engine Preferences. In the Engine category, click the Advanced tab on the right and you'll see a setting for Maximum Instance Size. Don't get carried away - bumping this up too high is a sure way to hurt your engine's performance. This would serve as a fix you could apply immediately in an emergency without having to change anything in any process.
    Use a Database
    A third option would be to store large amounts of instance information in a separate database instead of as an instance variable. When needed, you'd just need to read it from the database only storing the primary key as the instance variable.
    Sorry for the long winded answer. Know you know this, but hope it helps,
    Dan

  • Instance Variable size

    Hi
    I have a question regarding size of normal instance variable.
    It has been mentioned in the Studio 5.7 doc that the total size of all the instance variable for a project should not exceed 2Mb.
    Question is that if it exceeds more than 2Mb than what would be its effects. Is there any exception thrown if size exceeds above 2Mb.
    Also how can this be prevented as actual size can only be calculated at runtime.
    Thanks in advance.

    The instance size exceeding the setting you have inside your Engine will cause errors to start appearing in the log file. The effect is that your engine's performance will degrade. Once you start getting Error messages, they are usually sent via email to the admin you specify in the Engine's settings.
    A few ways to keep the size of the instance variables down is to:
    1) change the category of large instance variables to "Separated" from "Normal". This means that they are not stored as part of then instance's BLOB stored in the PPROCINSTANCE Engine database. They are then only read from the Engine's separated instance variable table when they are needed in the activity's logic or updated only when modified in the activity. Separated instance variables are not calculated as part of the overall size of the instance.. Large binary variables not marked as Separated will quickly run you over your instance size limit.
    2) Similarly, we sometimes treat the process instance variables as a database of record. Avoid this mentaility if possible. It's often better to have an external database to store information about things going on in the process. If you rely on the Engine tables for this for very large objects they are not easily retrieved by outside applicaitons because they are stored as a single BLOB. If outside applications access the Engine's database, it's another sure fire way to further degrade engine performance. Many times it' is better to store the id of a customer in the process and then to use that id to retrieve customer insformation from the cutomer's external database table. Once an instance has reached the End activity in a process, it sits there the number of days you specified in an Engine setting. Once it exceeds this number of days in the End activity, the instance data information is either purged or moved to the archive database. Don't make this number of days in the End activity too long (default is 15) as this will increase the sized of the number of rows on the table and degrade performance.
    Hope this helps,
    Dan

Maybe you are looking for

  • Possible compiler/FB Problem?

    I just upgraded to FB 2.0.1. After having to deinstall and reimport my project due to issues with the old project, I now have a very strange issue. When FB compiles and it detects an error,the Problems tab shows a description of the problem, but does

  • My Macbook won't read flashdrives

    Is there anyting it can be besides a hardware problem? Is there anything I can test or try?

  • Graphic blurry during fade from black?

    This is my first post in Final Cut Pro. I just sold my Avid system and have embraced FCP. My problem is I'm doing a Cross disolve from a slug to a still image which I saved as a tif. During the transition the still image gets blurry and the once the

  • Shared menu missing when saving from Photoshop CS6

    I'm using Yosemite on an iMac and I am currently connected to two servers. I can open and save files from just about every application except Photoshop CS6. For example, I click File > Open and the shared menu isn't there with the servers listed unde

  • Bizarre lines around windows; strange screen problems

    My Macbook has been acting strange lately. I'm attaching a few images so you can see what's happening with my display. Sometimes, after I exit a program and return to the desktop, I get strange patches of white/gray boxes on the screen. Logging off a