ConcurrencyException occuring under high volumes

Hi,
We have code that runs good under normal conditions. If the number of transactions increases we get a NullPointer exception. This again triggers a JTS exception on rollback which is rooted in a ConcurrencyException as posted below. Any idea what the cause might be?
05/12/02 12:32:47 Error in Synchronization.beforeCompletion()     
java.lang.NullPointerException     
at oracle.toplink.internal.queryframework.CallQueryMechanism.insertObject(CallQueryMechanism.java:237)     
at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:171)     
at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:188)     
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:433)     
at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:45)     
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(DatabaseQueryMechanism.java:596)     
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(DatabaseQueryMechanism.java:563)     
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:465)     
at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:119)     
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:258)     
at oracle.toplink.queryframework.WriteObjectQuery.execute(WriteObjectQuery.java:51)     
at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:493)     
at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1958)     
at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2255)     
at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1086)     
at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1038)     
at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)     
at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3223)     
at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1092)     
at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1137)     
at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(UnitOfWork.java:2492)     
at oracle.toplink.jts.oracle9i.Oracle9iJTSSynchronizationListener.beforeCompletion(Oracle9iJTSSynchronizationListener.java:75)     
at com.evermind.server.ApplicationServerTransaction.callSynchronizationBeforeCompletion(ApplicationServerTransaction.java:1404)     
at com.evermind.server.ApplicationServerTransaction.beforeCompletion(ApplicationServerTransaction.java:1256)     
at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:680)     
at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionaager.java:433)
at oracle.toplink.jts.JTSExternalTransactionController.commitTransaction(JTSExternalTransactionController.java:69)
at oracle.toplink.publicinterface.Session.commitExternalTransaction(Session.java:504)     '
at oracle.toplink.publicinterface.UnitOfWork.commitInternallyStartedExternalTransaction(UnitOfWork.java:900)     
at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:757)
at org.springframework.orm.toplink.TopLinkTransactionManager.doCommit(Unknown Source)     
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:397)     
at services.gateway.TACHOnetServiceImpl.receiveTACHOnetMessage(TACHOnetServiceImpl.java:480)     
at integration.gateway.external.queue.jms.ejb.ExternalTACHOnetMDB.onMessage(ExternalTACHOnetMDB.java:81)     
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)     
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:748)     
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:921)     
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)     
at java.lang.Thread.run(Thread.java:534)     
05/12/02 12:32:47 Error freeing Synchronization after TX     
java.lang.NullPointerException     
at oracle.toplink.jts.AbstractSynchronizationListener.afterCompletion(AbstractSynchronizationListener.java:73)     
at com.evermind.server.ApplicationServerTransaction.freeResources(ApplicationServerTransaction.java:1359)     
at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:707)     
at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:433)     
at oracle.toplink.jts.JTSExternalTransactionController.commitTransaction(JTSExternalTransactionController.java:69)     
at oracle.toplink.publicinterface.Session.commitExternalTransaction(Session.java:504)     
at oracle.toplink.publicinterface.UnitOfWork.commitInternallyStartedExternalTransaction(UnitOfWork.java:900)     
at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:757)     
at org.springframework.orm.toplink.TopLinkTransactionManager.doCommit(Unknown Source)     
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:397)     
at services.gateway.TACHOnetServiceImpl.receiveTACHOnetMessage(TACHOnetServiceImpl.java:480)     
at integration.gateway.external.queue.jms.ejb.ExternalTACHOnetMDB.onMessage(ExternalTACHOnetMDB.java:81)     
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)     
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:748)     
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:921)     
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)     
at java.lang.Thread.run(Thread.java:534)     
05/12/02 12:32:47 Error freeing Synchronization after TX     
Local Exception Stack:      
Exception [TOPLINK-2004] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.ConcurrencyException     
Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to      
commit or rollback a transaction before it was started, or to rollback a transaction twice.     
at oracle.toplink.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:37)     
at oracle.toplink.internal.helper.ConcurrencyManager.release(ConcurrencyManager.java:249)     
at oracle.toplink.publicinterface.Session.rollbackTransaction(Session.java:2684)     
at oracle.toplink.publicinterface.UnitOfWork.rollbackTransaction(UnitOfWork.java:3353)     
at oracle.toplink.publicinterface.UnitOfWork.release(UnitOfWork.java:3192)     
at oracle.toplink.jts.AbstractSynchronizationListener.afterCompletion(AbstractSynchronizationListener.java:104)     
at com.evermind.server.ApplicationServerTransaction.freeResources(ApplicationServerTransaction.java:1359)     
at com.evermind.server.ApplicationServerTransactionSynchronization.afterCompletion(ApplicationServerTransactionSynchronization.java:696)     
at com.evermind.server.ApplicationServerTransaction.rollback(ApplicationServerTransaction.java:649)     
at com.evermind.server.ApplicationServerTransaction.rollback(ApplicationServerTransaction.java:563)     
at oracle.toplink.jts.JTSExternalTransactionController.rollbackTransaction(JTSExternalTransactionController.java:141)     
at oracle.toplink.publicinterface.Session.rollbackExternalTransaction(Session.java:2648)     
at oracle.toplink.publicinterface.Session.rollbackTransaction(Session.java:2690)     
at oracle.toplink.publicinterface.UnitOfWork.rollbackTransaction(UnitOfWork.java:3353)     
at org.springframework.orm.toplink.TopLinkTransactionManager.doRollback(Unknown Source)     
at org.springframework.transaction.support.AbstractPlatformTransactionManager.doRollbackOnCommitException(AbstractPlatformTransactionManager.java:501)     
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:419)     
at services.gateway.TACHOnetServiceImpl.receiveTACHOnetMessage(TACHOnetServiceImpl.java:480)     
at integration.gateway.external.queue.jms.ejb.ExternalTACHOnetMDB.onMessage(ExternalTACHOnetMDB.java:81)     
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)     
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:748)     
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:921)     
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)     
at java.lang.Thread.run(Thread.java:534)

For future reference:
After killing and recreating our cache synchronisation queue the problem seems to have gone away. We are using an Oracle AQ queue for cache syncronisation, and it doesn't behave that well.
After some inspection we find that we have something like 16.000 subscribers to the queue (and millions of messages). About 150 of them are active while the rest is marked as ex-subscribers. But even some of the 150 marked as active are not really active.
We are a bit unsure what really happens, but there seems to be a problem with detecting which subscribers are active and which are ex-subscribers.
What happens is that when a subscriber publishes something to the queue the message will not be removed before everyone marked as active has consumed it. So if an active subscriber becomes an ex-subscriber it will not actually disappear until all has consumed it's messages, or all that are receivers of a message becomes ex-subscribers.
The problem is that not every subscriber "times out" to a ex-subscriber. It seems especially with something like a JVM crash (yep, we've gotten that on our IAS), the subscriber just stays active.
Does anyone know any settings for TopLink with regards to timeouts for the queue subscribers?

Similar Messages

  • HT6154 HI , I am still under cotract with my iphone 5 and i can't hear anything even though i have my phone set to high volume

    i am using iphone 5 and still under contract with ATT services. the phone has suddenly some technical issue. when i call some one or some one calls me, if i i turn on th emusic anything that hass to do with listening to the device, it doesnot work
    i hear very very low voice eventhough it is set to high volume. will ATT will provide me free support for the phone?

    Only ATT can answer that.

  • What kind of throughput should I expect? Anyone using AQ in high volume?

    Hi,
    I am working with AQ in a 10.2 environment and have been doing some testing with AQ. What I have is a very simple Queue with 1 queue table. The queue table structure is:
    id number
    message varchar(256)
    message_date date
    I have not done anything special with storage paramteres, etc so it's all defalt at this point. The I created a stored procedure that will generate messages given message text and number of times to loop. When I run this procedure with 10,000 iterations it runs in 15 seconds (if I commit all messages at the end) and 24 seconds if I commit after each message (probabliy more realistic).
    Now, on the same database I have a straight table that contains one column (message varchar(256)). I have also created a similiar storage procedure to insert into it. For this, 10,000 inserts takes about 1 second.
    As you can see there is an order of magnitude of difference so I am looking to see if others have been able to achieve higher throughput than 500-700 messages per second and if so what was done to achieve it.
    Thanks in advance,
    Bill

    Yes, I have seen it. My testing so far hasn't even gotten to the point of concurrent enqueue/dequeue. So far I have focused on enqueue time and it is dramatically slower than a plain old database table. That link also discussed mutliple indexed organized tables being created behind the scenes. I'm guessing that the 15X factor I am seeing is because of 4 underlying tables, plus they are indexed organized which adds additional overhead.
    So my question remains - Is anyone using AQ for high volume processing? I suppose I could create a bunch of queues. However, that will create additional management on my side which is what I was trying to avoid by using AQ in the first place.
    Can one queue be served by multiple queue tables? Can queue tables be partitioned? I would like to minimize the number of queue so that the dequeue processes don't have to contain multiplexed logic.
    Thanks

  • How to prepare high volume segmentation on crm and trex 7.1

    Hi,
    I have trex 7.1 connected to our crm system.
    I have set up esh on the web ui.
    Now I would like to use high volume segmentation.
    So therefore i have created a datasource in crmd_mktds on both an "Attribute Set" and InfoSet.
    Then I have created attribute list for high volume segmentation.
    But I can't see the columns indicating that fast find is in use.
    Our CRM system is:
    SAP_ABA = SAPKA70106
    kr
    Michael Wolff
    Update:
    I solved this.
    I forgot to define RFC destination for TREX index and fast find under marketing -> segmentation.
    So now everything works
    Edited by: Michael W. Knudsen on Oct 21, 2010 6:59 AM
    Edited by: Michael W. Knudsen on Oct 21, 2010 7:00 AM

    Did the missing cutomizing, thx Willie for directing me in the correct direction

  • Facing problems with URLConnection under high load

    Hi,
    I have a piece of code that acts as a load balancer. Under high load scenario - 200+ different simulataneous users, it throws some errors.
    Following is a snippet from that code -
                   URL url = new URL(site);
                   URLConnection urlconnection = url.openConnection();
                   urlconnection.setDoInput(true);
                   urlconnection.setDoOutput(true);
                   urlconnection.setUseCaches(false);
                   DataOutputStream dataoutputstream =
                             new DataOutputStream(urlconnection.getOutputStream());
                   dataoutputstream.writeBytes(posServiceRequest);
                   dataoutputstream.flush();
                   dataoutputstream.close();
                   InputStream inputstream = urlconnection.getInputStream();
                   httpservletresponse.setContentType(urlconnection.getContentType());
                   rewriteStreams(inputstream, httpservletresponse.getOutputStream());
                   inputstream.close();
    Somewhere after around 200 odd users, this piece of code throws an error - "Error writing to server", a stacktrace print shows that the error occurs at the following line -
    InputStream inputstream = urlconnection.getInputStream();
    Any pointers would be appreciated.
    Thanks,
    -rahul

    More information please. What is the exception class, what is its entire text, and what is the stack trace.

  • When using the camera downloader in Adobe Bridge CS6 with Nikon D5200 we are unable to see previews of the photos and it is very slow to download. The issue occurs under a the users rights, but not under admin level. This is a new issue

    When using the camera downloader in Adobe Bridge CS6 with Nikon D5200 we are unable to see previews of the photos and it is very slow to download. The issue occurs under a the users rights, but not under admin level. This is a new issue.

    Hi Jdentremont,
    Lync client gets user photos by first querying the Address Book Web Query (ABWQ) service on the server, which is exposed through the Distribution List Expansion web service. The client receives
    the image file and then copies it to the user's cache to avoid downloading the image each time it needs to be displayed. The attribute values returned from the query are also stored in the cached Address Book Service entry for the user. The Address Book Service
    deletes all cached images every 24 hours, which means that it can take up to 24 hours for new user images to be updated in the cache on the server.
    To troubleshoot your problem, please follow the steps below:
    1.  Navigate to
     “X:\share\1-WebServices-1\ABfiles\000000000\000000000” folder. (ABS file share)
    You should see some photo files in this folder as the following screenshot.
    2. Delete all the files in this folder.
    3. On test PC, delete local cache files.
    %userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\[email protected]
    4. Sign-in Lync with the test account.
    5. Go back to the ABS file share, check if there is any Photo file in the folder.
    Best regards,
    Eric
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • High volume Printing for GLM?

    I understand from various sources GLM can support high volume label output provided the correct enhancements and support packs are installed and configured.  This may include updates to WWI.  We are currently running ECC6 EHP5, SAP_BASIS 10, EHSM 3, WWI 2.7
    I would like to get this communities inputs.  Our requirement is to generate >2000 identical labels via GLM.  WWI processing today is long (5+min) and the output is large.  Ideally system would generate 1 label with indication to print 2000 times.  Our labels include barcodes and symbols and can be complex.

    Dear Richard,
    The functions of GLM is well explained as Christopher said and using GLM, you can print labels more than 10000 witha  sequential data output. To support such large quanitity of data to be printed on labels, you may need a special printers like the Zebra High volume printer. The WWI server is equipped to print large volume of labels using specific printer plugins.
    High volume printers can be used to print print requests with print files that are too large or that contain more than 32,768 labels to be printed. The HVP is designed as a printer driver for Microsoft Windows and is connected to the label printer via a plug-in.
    With the HVP, only one page with all static data is sent to the printer. The HVP then receives all of the sequential data via an interface and automatically supplements the sequential data in the printout. The HVP also integrates changing bar codes or texts in the printout.
    The Zebra 170Xi4 is one of most popular, industrial-strength printers on the market. This rugged metal unit prints 1-color labels up to 6.6" wide, with 300 dpi print resolution in thermal or thermal transfer mode. Its extra processing power equates to speeds up to 12 inches-per-second. This one is perfect for tough applications including compliance labels, product labels, and shipping labels.
    For further information, please check the links below
    EHS - Continuous Improvement for Global Label Management - Logistics - SAP Library
    OSS notes in Global Label management
    New changes for GLM in EHP7.0 and ERP 6.0
    Dhinesh

  • My volume button for higher volume(F12) is not working whereas mute and lower volume(F10 and F11) buttons are working, what should I do?

    My volume button for higher volume is not working

    I think there is a Windows bootcamp application that will recognize those keys. The bootcamp stuff is here: http://www.apple.com/support/bootcamp/
    I think it is called bootcamp assistant. Look here: http://www.mac-guides-and-solutions.com/boot-camp-assistant.html

  • Tool to export and import high volume data from/to Oracle and MS Excel

    We are using certain reports (developed in XLS and CSV) to extract more than 500K to 1M records in single report. There around 1000 reports generated daily. The business users review those reports and apply certain rules to identify exceptions then they apply those corrections back to the system through XL upload.
    The XL reports are developed in TIBCO BW and deployed in AMX platform. The user interface is running on TIBCO GI.
    Database Version: Oracle 11.2.0.3.0 (RAC - 2 node)
    The inputs around following points will be of great help:
    1) Recommendation to handle such higher volumes reports and mechanism to apply bulk correction back to system?
    2) Suggestions for any Oracle tool or third party tool

    If you were to install Oracle client software on the PC where EXCEL is installed,
    then you can utilize ODBC such that Excel can connect directly to the DB & issue SQL.

  • When I have headphones plugged into my iphone it says warning'' high volume'' and becomes first a red and then plop a number of red pops but it will not be so for someone else I know. My sound will be much lower than anyone else in the music, and when I t

    When I have headphones plugged into my iphone it says warning'' high volume'' and becomes first a red and then plop a number of red pops but it will not be so for someone else I know. My sound will be much lower than anyone else in the music, and when I talk by phone headset

    Hi! I have the same problem when I use my headphones .
    iPhone 4s England, iOS 6.1.2

  • Sender RFC adapter High volume messaging

    Hi,
    This question is related to this thread:RFC connection problem
    ERP system is sending through 1 RFC dest. (program ID) 20 requests in a minute. And PI starts to hang. ERP is not able tp sent the messages and after a while the request sent from ERP starts to get cancelled. This is a synchonous scenario. How can I handle such a high volume through 1 sender RFC adapter?

    Hello
    You can monitor the load on RFC adapter queues/threadsin the RWB
    -> Component Monitoring
    -> Adatper Engine XIP
    -> Engine Status
    -> Additional Data
    See note #791655 Documentation of the XI Messaging System Service Properties, for an explaination of the queues.
    To increase the number of threads/queues, see the blog:
    1) /people/kenny.scott/blog/2007/08/20/messaging-system-queue-properties-after-xi-30-sp19-xi-70sp11
    2) /people/kenny.scott/blog/2008/12/05/xipi-file-and-jdbc-receiver-adapter-performance-and-availability-improvements - this shows how to prevent a problem on one RFC channel blocking other RFC channels that you may be using.
    Also, ensure note #937159 XI Adapter Engine is stuck, has been applied to help overall system performance.
    Regards
    Mark

  • Question on QoS for File-- SOAP synchronous high volume interface

    Is it possible to have a File to SOAP (sender file adapter --> receiver SOAP adapter, synchronous - response needed by sender ) scenario with FIFO (first in first out). This is a high volume interface (about 8 messages/second). If FIFO possible, will a failed message block the succeeding messages?
    My understanding is that QoS of receiver SOAP CC is Best Effort.
    Thank you.

    yes..EOIO will block the queues if its predecessor are not in final state...
    for ur design u can rfer the below wiki...instead of RFC u can use soap adapter..
    http://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File%28Without%20BPM%29

  • Anyone have experience using ALE message FIDCC2 in a high volume scenario?

    Hi,
    We are evaluating the use of message type FIDCC2 to send complete FI documents from one SAP system (logisitics) to another SAP system (finance).  I'm particularly interested in throughput performance, as this will be a high volume scenario (300K+ docs per month).  Additionally, each SAP system has a customer include code block extension (CI_COBL) to BSEG, that will be carried via an IDOC enhancement (custom segment), for which we are considering using XI to map the IDOCs between the two systems.  I would appreciate any info you can share regarding use of FIDCC2 in a high volume scenario.  Thanks in advance.
    Regards,
    - Allen

    Hi Allen,
    In my past experiences, I used the message variant (EDIDC-MESCOD) and message function (EDIDC-MESFCT) to execute multiple inbound IDoc jobs to run parallel  for a given message type and IDoc type (execute program RBDAPP01 in different application servers).
    I used message variant and message function to group all sales order IDocs based on location and customer numbers. 
    You need to enter message variant and/or message function during partner profile setup (WE20). Also the middleware system (i.e. SAP XI) must maintain the above fields accordingly for IDoc inbound processing.
    Hope this will help.
    Regards,
    Ferry Lianto

  • Gt 683r right speaker pitches at high volume, suggestions ??/

    Hi,
    I have an gt 683r gaming laptop, however there seems to be a problem with the right speaker as at high volume it starts to pitch and it makes listening to music annoying.
    Does anybody have the same problem, and how could it be solved.
    Thx

    Contact your reseller and send it to RMA would be my advice.
    I'm not award of any apart issue on this model, probably it is an hardware issue and only solution would be RMA.

  • My 128gig ipad air is crackling at mid to high volume

    Just got the air on Friday at 8am. Watched three episodes of TV on it, ready to return it! The speaker is crackling horribly at mid to high volume levels.  Any ideas?  Never had a problem with my other 3 iPads.  I'm really dismayed. If yours has this, let me know, or suggestions.  It actually feels like the crackling is palpable while holding the thing.

    Chillarescue wrote:
    Just got the air on Friday at 8am. Watched three episodes of TV on it, ready to return it! ..
    Then do so.
    Chillarescue wrote:
    ... I'm really dismayed. ...
    Apple Feedback

Maybe you are looking for