CMP cache limits and passivation

Good day,
We are hitting issues around filling up the EJB cache but we also want
to limit the memory impact of the deployment. What I mean is that if
you have max-beans-in-cache set to 50 and you involve more than 50 EB in
a txn, it throws a cache full exception. We can bump up the cache size,
but for an unbounded collection, this is an artificial fix, another txn
may load more than the new size.
I read in an old posting that the EJB team was looking at passivating EB
involved in a txn to avoid this issue. Was this incorporated into the
engine and if so, how is it controlled?
Thanks,
Sean

Sean Garagan wrote:
Hi Rob,
Thanks for the response.
The only issue about not using an unbounded collection is that entity
beans and finder methods are defined as unbounded collections. If you
use the WLS example of the bands (or the EJB spec of orders and items)
all of the collections are unbounded. Without using WLS specific tags,
there does not seem to be a way to limit the returned values to allow an
EB to batch operations in smaller chunks to alleviate the problem.Indeed. The max-elements tag is in our descriptors to limit the number
of rows returned from the database. It would be nice to see this
standardized.
-- Rob
>
I guess it comes down to another hole in the spec (hopefully one that
will be patched).
Sean
Rob Woollen wrote:
No, passivation during transactions is on the feature plan for a
future release.
That being said, an unbounded collection is probabbly not a great idea
regardless. you don't want to bring back a huge amount of data from
the database, and you don't want us to have to passivate your working
set out of memory.
-- Rob
Sean Garagan wrote:
Good day,
We are hitting issues around filling up the EJB cache but we also
want to limit the memory impact of the deployment. What I mean is
that if you have max-beans-in-cache set to 50 and you involve more
than 50 EB in a txn, it throws a cache full exception. We can bump
up the cache size, but for an unbounded collection, this is an
artificial fix, another txn may load more than the new size.
I read in an old posting that the EJB team was looking at passivating
EB involved in a txn to avoid this issue. Was this incorporated into
the engine and if so, how is it controlled?
Thanks,
Sean

Similar Messages

  • Max-beans-in-cache, transactions and passivation

    WLS 6.1 sp4
    database concurrency, oracle
    I compute max-beans-in-cache as:
    (max # fetched in a transaction) * (number of worker threads)
    therefore if I think that a table with have at most 500 rows and the
    server is configured with 20 worker threads I have 500 * 20 = 10000 as
    my max-beans-in-cache.
    In my test the table has 7 rows. In our load test I see the Beans In
    Use Count go up to 9999 instances and then start passivation.
    I have two questions:
    1) What does 'Beans In Use Count' really mean
    2) why is weblogic using much more memory than it should to store 7 unique entities?
    thanks

    See my comments below.
    S
    Chad Urso McDaniel <[email protected]> wrote:
    >
    I understand this, but WebLogic should either reuse objects in the
    cache/pool or not cache them at all. There are cases where the objects in the cahce are used. For e.g. with entity
    beans and Read-Only concurrancy, when cache-between-tx is set. However I noticed
    this behavior for other cases too and therefore the caching is not all that intellegent.
    Also the beans in the pool are reused.
    The current situation results in
    objects being allocated, referenced by the cache so they will never be
    garbage collected, but the objects are never used again once their
    transaction completes. This is very, very wasteful with memory.
    In some cases as mentioned above.
    S
    "Sri" <[email protected]> writes:
    Hi,
    The reason for having so many entries is due to fact that there isno way WLS
    would know there are only 7 rows in the db everytime an entity beanis created/modified/accessed.
    For e.g., if you run a test where you do 'findAll' the first run wouldhave 7
    beans and the next most likely (There is another parameter that youcould use
    to control number of beans in the cache, idle-timeout-seconds. Thoughits not
    clear from the doc how the entity beans are handled wrt this parameter,it might
    passivate entity beans if this timeout occurs) 14 and so on. If thisis a overhead
    for your system then reduce this number.
    S
    container start removing beans before Chad Urso McDaniel <[email protected]>
    wrote:
    WLS 6.1 sp4
    database concurrency, oracle
    I compute max-beans-in-cache as:
    (max # fetched in a transaction) * (number of worker threads)
    therefore if I think that a table with have at most 500 rows and the
    server is configured with 20 worker threads I have 500 * 20 = 10000as
    my max-beans-in-cache.
    In my test the table has 7 rows. In our load test I see the BeansIn
    Use Count go up to 9999 instances and then start passivation.
    I have two questions:
    1) What does 'Beans In Use Count' really mean
    2) why is weblogic using much more memory than it should to store7 unique
    entities?
    thanks

  • CMP cache

    Hi
    I am working on a task which requires creating a cache(using hashtables probably) so that the components donot need to invoke the finder methods of the CMP beans all the time.
    Reason for doing this:
    1. the finders cannot utilize CMP cache because there are not findByPrimaryKey
    2. a large number of calls are being made to these finder methods.
    Query:
    1. Is it correct that we cannot have CMP cache because these finders are not findByPrimaryKey?
    2. If I create cache, is there any mechanism to make sure that the cache information is not inconsistent with the database?

    Usually the home interface does this for you...
    It is deprecated to use a hashtable because the entity beans you cached can get invalid or deleted. I'm quite sure the server will throw some kind of exception if a requested bean is not present anymore. So i you still want to cache youll have to implement some own logic how to handle inconstencies.
    Still the home interface usually does a really good job and it is the only part in CMP which can be cached (ServiceLocator pattern does it BTW).
    Finders are compiled at deploytime and use database querries so you wont be able to use them on your cache.
    Fazit: consider caching home interfaces because their lookup is expensive (JNDI) and use those to access your entity beans.

  • Mail cache limits?

    Made the switch over to mail from entourage due to cache limits in my version.
    Does mail have a similar max size or a limit on how many pieces you have? Can't seem to find it any documentation.
    thanks.
    a

    Correct.
    Most other email clients utilize a single large database file which is not dependent on individual account and associated mailbox filing.
    When creating an account in Mail, an account named folder (named by the user name and incoming mail server for the account) is created in the Mail folder at Home > Library > Mail using the Finder. For POP type accounts, the following mailbox (mbox) folders are created within the account named folder when the function is used by the account: INBOX.mbox, Drafts.mbox, Sent Messages.mbox, Deleted Messages.mbox and Junk.mbox (when Junk mail is set to automatic). The mbox folders within the account named folder represent the account named mailboxes under In, Drafts, Sent, Trash and Junk (when Junk mail is set to automatic) in the Mail.app mailboxes drawer.
    There is a separate account named mailbox under Inbox, Drafts, Sent, Trash and Junk (when Junk Mail is set to Automatic) in the mailboxes drawer for each account.
    When selecting an account named mailbox under Inbox in the mailboxes drawer reveals messages received by that account only on the message list. Selecting Inbox in the mailboxes drawer reveals a "blended" Inbox mailbox for all accounts in the message list and the same applies to Drafts, Sent, Trash and Junk in the mailboxes drawer.
    All mailboxes under Inbox, Drafts, Sent, Trash and Junk in the mailboxes drawer are created and managed automatically by Mail.
    You can create your own mailboxes which are stored locally on the hard drive and if you are also accessing a .Mac type account or IMAP account with Mail, you can also create your own server stored mailboxes with Mail for the account (with the exception of an AOL account which can be accessed as an IMAP account with Mail).
    At the menu bar, go to Mailbox and select New Mailbox.
    The location choice is "On My Mac" which is stored locally on the hard drive and if you are accessing a .Mac type account or IMAP account with Mail, you can select the account as or for the location to create a server stored mailbox for the account.
    Enter a name for the mailbox and select OK to create the mailbox.
    You can use an "On My Mac" location mailbox to sort received and sent messages by category if needed or desired or to transfer and store server stored messages for a .Mac type or IMAP account locally on the hard drive. This process for a .Mac type or IMAP account stores the transferred messages locally on the hard drive and removes the messages from the server at the same time.

  • Some music files do not show up in google play music app library.  I did clear cache/data and restarted phone.  The music is stored on the SD card.  Most of the music in the library is in the same folder on the sd card.  I can play the song from file mana

    some music files do not show up in google play music app library.  I did clear cache/data and restarted phone.  The music is stored on the SD card.  Most of the music in the library is in the same folder on the sd card.  I can play the song from file manager, but it still is not in the music library in play music.

    Cyndi6858, help is here! We'd be happy to help figure this out. Just to be sure though, the Droid Maxx should not have an SD card. Is this the Droid Razr Maxx? How did you add the music to the device? Are you able to see the files and folders located on the SD card or device when plugged in?
    Thanks,
    MichelleH_VZW
    Follow us on Twitter @VZWSupport

  • My existing purchases have INSTALL next to them, but when I try click on them it says "There was an error in the App Store. Please try again later. (100)". I've tried restarting, clearing all caches, buying and downloading new apps (which works). Any idea

    Hi - in the app store, I've logged in with no problem, but when I go into my existing purchases and have INSTALL next to everything I've bought, and try to click on them it says;
    "There was an error in the App Store. Please try again later. (100)".
    I've tried restarting, clearing all caches, buying and downloading new apps (which works), and also buying and downloading more music from iTunes too (so I update all T&C's etc too, and update all payment info). But nothing seems to solve this. Any ideas?? Thanks a lot, Greg

    This procedure is a diagnostic test. It makes no changes to your data.
    Please triple-click anywhere in the line below on this page to select it:
    ls -@Oaen L*/Coo* | pbcopy
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    Launch the built-in Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Paste into the Terminal window by pressing the key combination command-V. I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
    Wait for a new line ending in a dollar sign ($) to appear below what you entered.
    The output of the command will be automatically copied to the Clipboard. If the command produced no output, the Clipboard will be empty. Paste into a reply to this message.
    The Terminal window doesn't show the output. Please don't copy anything from there.

  • Does OAM cache users and how do you configure a flush?

    I'm using OAM 10g with 11g OVD and 11g OID. OAM is configured to use OVD as it's user store.
    I've created a successful LDAP authorization rule, but it takes several hours for the authorization rule to detect a change to the ldap value. So a change to the ldap that should prevent authorization fails to take affect for several hours.
    I'm guessing the user has been cached so the new value isn't detected until the cache is flushed/updated. Is this the case? Where do you set the time limit for this?
    Thanks

    For info. I've found the manual user cache flush and the user cache timeout on the access server.

  • With Netscape all of the Webcam shots from live feeds were automatically saved in my cache folder and I could simply open my cache send the saved files into AcDsee and convert them into jpgs, It would save as many as I would allow space for. With firefox

    I cant retrieve my images from webcams that are cached any more with mozilla. With netscape all of the live webcam images from live cams were automatically saved in my cache folder and all i had to do was open it send the files to acdsee and turn them into jpgs. It would save them untill the Cache ran out of room no matter how many files or sites I had running. Mozilla seems to save what it wants when it wants and often dose not save any that I can retrieve because I believe it is bulking them into Cache 123 or 4 and those i cant open to retrieve the files. Sometimes it saves 100 or so and sometimes 2 or 3 sometimes 10 or more but i don't seem to have any control over what it does or does not save to retrieve no matter how much space i allow for the cache to save.
    == This happened ==
    Every time Firefox opened
    == I finally gave up trying to keep netscape due to all the ridiculess popups and continued reminders from you saying i had to switch over

    You have or had an extension installed (Ant.com Toolbar) that has changed the user agent from Firefox/3.6.3 to Firefox/3.0.12.
    You can see the Firefox version at the top and the user agent at bottom of the "Help > About" window (Mac: Firefox > About Mozilla Firefox).
    You can check the '''general.useragent''' prefs on the '''about:config''' page.
    You can open the ''about:config'' page via the location bar, just like you open a website.
    Filter: '''general.useragent'''
    If ''general.useragent'' prefs are bold (user set) then you can right-click that pref and choose ''Reset''.
    See [[Web sites or add-ons incorrectly report incompatible browser]] and [[Finding your Firefox version]]
    See also http://kb.mozillazine.org/Resetting_your_useragent_string_to_its_compiled-in_default

  • In safari, On my Ipad2,I get the error message, "too may redirects" and the page won't load. Anyone with advice? I have cleared the cache, cookies, and history and restarted.

    In safari, on my Ipad2, I get the error message " too many redirects" and the page won't load. I have cleared the cache, cookies, and history and have rebooted and I still get the same problem. Any advice?

    In safari, on my Ipad2, I get the error message " too many redirects" and the page won't load. I have cleared the cache, cookies, and history and have rebooted and I still get the same problem. Any advice?

  • Only one connection established between TT Cache Connect and Oracle10g

    When I use AWT, I found in a TT datastore only one connection established between TT Cache Connect and Oracle10g .
    In our project, the massive real-time data in TT need to be propagated to Oracle10g, but the data are blocked beacuse the slower Oracle10g DB. Can I establish a connection pool that have multiple connections between TT Cache Connect and Oracle10g?
    Thanks for your help.

    Hi,
    I'm afraid that the current implementation of AWT uses just one connection to Oracle and there is no way to change that. This is indeed a significant bottleneck...
    One possible workaround is to split your data across multiple datastores as each datastore will have its own AWT connection to Oracle. Not very nice but about your only option with AWT...
    Sorry, Chris

  • Please recommend solutions for  Cache Connect and ?

    ---> Solution I
    2 servers create Cache Connect to RDBMS
    ---> Solution II
    1 server create Cache Connect to RDBMS and create active standby pair with another server

    Hi,
    If you only need READONLY caching in TimesTen and all updates will be made in Oracle then you have two main options:
    Multiple READONLY Caches
    For this you have one or more separate TimesTen caches each with a READONLY cache group defined against the oracle DBMS. Each cache can cache different tables/data or they can can cache the same tables/data as required.
    This architecture is very flexible (adding or removing TimesTen servers is very simple) and very scalable. It also provides very good HA; if one cache is down applications can just access a different cache.
    However, due to the asynchronous, time based nature of the refresh from Oracle to Timesten at any moment in times the data in all the caches may not be 100% consistent with each other or Oracle.
    By this I mean the following:
    - Assume that you have 2 (or more) READONLY caches caching the same data from Oracle, with an AUTOREFRESH interval of T1
    - At some time, T2, you update, in Oracle, one of the rows cached by the caches.
    - At some later time, T3, you query the updated row via both caches
    If (T3 - T2) < T1 then the values returned by your query may differ between the caches (depending on where exactly they are in the autorefresh interval when the update is done).
    Active/Standby pair using 2-SAFE replication with READONLY cache group and optional read-only subscribers
    With this architecture you define a TimesTen Active/Standby replicated pair using 2-safe replication and containing the READONLY cache group. 'Scale out' is accomplished in one of three ways:
    1. Adding further A/S pairs with a READONLY cache group
    2. Adding read-only subscriber datastores to the original A/S pair
    3. A mixture of (1) and (2)
    The main advantages of this architecture are as follows:
    1. When 2-Safe is used within the A/S pair, queries to either cache will always return consistent results (i.e. the consistency issue that I described for the first scenario does not exist in this configuration). However, threr can still be inconsitencies in results between the A/S pair and any readonly subscribers (since the replication to them is asynchronous) but given the high performance of TimesTen replication the latency between a change appearing at the A/S pair and the readonly subscribers will typically be a few ms rather than potentially several seconds for the multiple-cache scenario.
    2. The loading on the central Oracle DBMS arising from AuTOREFRESH processing is reduced compared to the multiple-cache scenario. The difference in loading between this solution and the multiple cache solution will be larger as more TT servers are deployed.
    It should be noted that the operational management of this solution is a little more complex than for the first scenario since the A/S pair must be monitored and a 'failover' trigerred if there is some fauilure within the pair.
    Hope that helps a little.
    Chris

  • After upgrading to ics is it necessary to wipe cache clean, and how do i do it

    after upgrading to ics is it necessary to wipe cache clean, and how do i do it. My phone slowed down greatly
    thanks for your help

    It don't hurt to do it but it depends on how your device is running.. here is the Full instructions
    These are the Instructions on Clearing the Cache Partition:  For Razr & Razr Maxx
    Top Alternate method
    Power the device off.
    Press the Power button then select Power off.
    If the device doesn't respond to input, press and hold the Volume Up / Down then press and holdPower button. When the device screen goes blank release the Power button while continuing to holdVolume Up / Down, proceed with step 3.
    Press and hold the Volume Up / Down then press the Power button.
    When presented with the Boot Mode Selection Menu release all buttons.
    Press Volume Down to select Recovery then press Volume Up.
    From the Droid triage screen, simultaneously press Volume Up / Down.
    Select Clear the Cache Partition then press the Power button.
    Select reboot system now then press the Power button.

  • Do the Cache, CacheStore, and CacheLoader all need to run in the same JVM?

    do the Cache, CacheStore, and CacheLoader all need to run in the same JVM?
    Any help is appreciated.
    Thanks.

    they can be in differnt DP with no problem.
    Now question:
    1-MOH multicast/Unicast? (Multicast MOH ONLY support G711, so that could explain changing the DP fixnig the problem)
    [You can create a DP/region for MOH if multicast to talk G711 to everybody and the problem will get fix]
    Please Kudos/rate if this help!

  • Please any one tell me what is cache purging and seeding

    hi all
    what is cache purging and what is cache seeding i am getting full confuse
    using obits we can seed the cache ,means we are going to store the report result in cache memory or what
    please any one make me bit clear on purging and seeding
    thanks

    using obits we can seed the cache ,means we are going to store the report result in cache memory or what"Obits"?
    Are you sure you've posted to the correct forum? (You've never posted here before.)

  • Can any tell me the limitations and bugs in Taleo learn

    Hi All,
    I know Taleo Recruiting but new in Taleo learn wanted to know the limitations and bugs which are currently available in Taleo Learn. Being you expert who have implemented Taleo learn, It will be greatly appreciated if you can share some of the information about those available bugs and limitations currently in Taleo Learn. That will really help me to compare about the product and easy to explain client at the time of explaining RFP functionalities technically.
    Always everyone suggestions, Thoughts are welcome
    Have a great day!!!!
    Gaurav

    "Learn Java in a week"?
    What do you mean by "learn"? If you mean be able to write Hello World and understand the bare bones basics of what goes into a simple Java program, maybe.
    If you mean understand the language and API thoroughly enough to produce real, quality software, that's pretty unreasonable.

Maybe you are looking for