Performance tuneup for a special DB (disable locking, check-pointing,...)

Hi,
I have simple database contains key/value records. The program is a multi-thread application that iterate over records. Each worker thread read a record and after some calculations, replace it. The records are completely independent from each other. The following is my DBController class that share between all threads. Is there any considerations to achieve best performance?, For example I don't want any locking, check-pointing, caching,...overheads. I just want to achieve THE BEST PERFORMANCE to store and retrieve each record independently.
import gnu.trove.*;
import java.io.*;
import com.sleepycat.bind.tuple.*;
import com.sleepycat.je.*;
public class DBController {
     private class WikiSimTupleBinding extends TupleBinding<TIntObjectHashMap<TIntDoubleHashMap>> {
          // Write an appropriate object to a TupleOutput (a DatabaseEntry)
          public void objectToEntry(TIntObjectHashMap<TIntDoubleHashMap> object, TupleOutput to) {
               try {
                    ByteArrayOutputStream bout = new ByteArrayOutputStream();
                    ObjectOutputStream oout = new ObjectOutputStream(bout);
                    oout.writeObject(object);
                    oout.flush();
                    oout.close();
                    bout.close();
                    byte[] data = bout.toByteArray();
                    to.write(data);
               } catch (IOException e) {
                    e.printStackTrace();
          // Convert a TupleInput(a DatabaseEntry) to an appropriate object
          public TIntObjectHashMap<TIntDoubleHashMap> entryToObject(TupleInput ti) {
               TIntObjectHashMap<TIntDoubleHashMap> object = null;
               try {
                    byte[] data = ti.getBufferBytes();
                    object = (TIntObjectHashMap<TIntDoubleHashMap>) new java.io.ObjectInputStream(
                              new java.io.ByteArrayInputStream(data)).readObject();
               } catch (Exception e) {
                    e.printStackTrace();
               return object;
     private Environment myDbEnvironment = null;
     private Database db_R = null;
     private WikiSimTupleBinding myBinding;
     public DBController(File dbEnv) {
          try {
               // Open the environment. Create it if it does not already exist.
               EnvironmentConfig envConfig = new EnvironmentConfig();
               envConfig.setAllowCreate(true);
               myDbEnvironment = new Environment(dbEnv, envConfig);
               // Open the databases. Create them if they don't already exist.
               DatabaseConfig dbConfig = new DatabaseConfig();
               dbConfig.setAllowCreate(true);
               db_R = myDbEnvironment.openDatabase(null, "R", dbConfig);
               // initialize Binding API
               myBinding = new WikiSimTupleBinding();
          } catch (DatabaseException dbe) {
               // Exception handling goes here
               dbe.printStackTrace();
     private final byte[] intToByteArray(int value) {
          return new byte[] { (byte) (value >>> 24), (byte) (value >>> 16), (byte) (value >>> 8), (byte) value };
     public void put(int id, TIntObjectHashMap<TIntDoubleHashMap> repository) {
          try {
               DatabaseEntry theKey = new DatabaseEntry(intToByteArray(id));
               DatabaseEntry theData = new DatabaseEntry();
               myBinding.objectToEntry(repository, theData);
               db_R.put(null, theKey, theData);
          } catch (Exception dbe) {
               // Exception handling goes here
               dbe.printStackTrace();
     public TIntObjectHashMap<TIntDoubleHashMap> get(int id) {
          TIntObjectHashMap<TIntDoubleHashMap> repository = null;
          try {
               // Create a pair of DatabaseEntry objects. theKey is used to perform the search. theData is used to store the
               // data returned by the get() operation.
               DatabaseEntry theKey = new DatabaseEntry(intToByteArray(id));
               DatabaseEntry theData = new DatabaseEntry();
               // Perform the get.
               if (db_R.get(null, theKey, theData, LockMode.DEFAULT) == OperationStatus.SUCCESS) {
                    // Recreate the data repository
                    repository = myBinding.entryToObject(theData);
               } else {
                    System.out.println("No record found for key '" + id + "'.");
          } catch (Exception e) {
               // Exception handling goes here
               e.printStackTrace();
          return repository;
     public void close() {
          // closing the DB
          try {
               if (db_R != null)
                    db_R.close();
               if (myDbEnvironment != null)
                    myDbEnvironment.close();
          } catch (DatabaseException dbe) {
               // Exception handling goes here
               dbe.printStackTrace();
}

If you are writing and you need to recover in a reasonable amount of time after a crash, you need checkpointing.
If multiple threads may access a record concurrently, you need locking.
If you need good read performance, you need as large a JE cache as possible.
If you want to tune performance, the first step is to print the EnvironmentStats (Environment.getStats) periodically, and read the FAQ performance section. Try to find out if your app's performance is limited by CPU or I/O.
If you are reading records in key order, then you'll get better performance if you also write them in key order.
I'm not sure why you're using a TupleBinding to do Java object serialization If you want Java serialization, try using a SerialBinding.
--mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • Performance issues; waited too long for a row cache enqueue lock!

    hi Experts,
    OS: Oracle Solaris on SPARC (64-bit)
    DB version:
    SQL> select * from V$VERSION;
    BANNER
    Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for Solaris: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL>We have seen 100% CPU usage and high database load, so I checked the instance and have seen there were many blocking sessions and more than 71 sessions running the same select ;
    elect tablespace_name as tbsname from        (select tablespace_name,sum(bytes)/1024/1024 free_mb,0 total_mb,0 max_mb         from dba_free_space         group by tablespace_name         union         select tablespace_name, 0 current_mb,sum(bytes)/1024/1024 total_mb,                sum(decode(maxbytes, 0, bytes, maxbytes))/1024/1024 max_mb         from dba_data_files         group by tablespace_name) group by tablespace_name having round((sum(total_mb)-sum(free_mb))/sum(max_mb)*100) > 95  Blocking sessions are running queries like this;
    SELECT * from MYTABLE WHERE MYCOL=:1 FOR UPDATE;This select queries are coming from a cron job running every 10 minutes to check the tablespaces; so I first killed (kill -9 pid) those select statements so the load and CPU decreased to 13% of CPU usage. Blocking sessions still there and I didn't killed them waiting for app guys confirmation... after few hours and the CPU usage never went down the 13%; I have seen many errors;
    WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! pid=...System State dumped to trace file .....trcAfter that , we decided to restart the DB to release the locks!
    I would like to understand why during loads we were no able to run those select statements, statspack schedule snapshot reports were not able to finish, also automatic
    database statistics... why 5 for update statements locked the whole DB?

    user12035575 wrote:
    SELECT FOR UPDATE will only lock the table row until the transaction is completed.
    "WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK" happens when it needs to acquire a lock on data dictionary. Did you check the trace file associated with the statement?The trace file is too long, which information I need to focus more?

  • Cannot perform rounding for invoices with a currency other than the documen

    Hi all,
    I need some one to help me
    I want to process the incoming payment.
    The AR Invoice is using USD
    In Incoming Payment i want to pay using SGD,
    I already set the BP in all currency
    I also set the Bank account in Bank transfer payment mean in all currency.
    But when i add the document i saw the message like this
    "Cannot perform rounding for invoices with a currency other than the document currency.  [Message 3524-31]"
    What should i do ?
    Thanks in advance
    Regards
    KK

    Hi gordon,
    Thanks for your respon.
    I still do not understand, what you mean.
    I test it in SBO DEMO Au which is the local currency is AUD and the system currency is also AUD.
    Is the any special setting for this issue?
    Or Do i miss the settings in SBO
    My version is 8.81 pl 9
    Thanks in advance

  • Performance management for appraisal document Targets defaulting...

    Hi,
       My question is about custom badi implementation in Performance management for appraisal document Targets defaulting...
    Brief:
    ====
    At the creation of the personal appraisal, the column containing the performance targets of the employee is pre filled with the targets defined in the previous appraisal cycle and contained in the previous year employee appraisal form or in the target settings document.
    Solution:
          1   Please give me the soultion which badi i can use?
             and How to achieve to do this thru coding step by step?
          2. And Can you please share any other synario defaulting   developed previously.If u share these documents or coding .. It should be fine...
    Help me to do fastly ..
    waiting for asap response..
    Thanks and Regards
    Mohan.P

    Hi Chris,
    This component must be deployed in Portal because have a lot of services which need ESS in order to work properly. According with note 1408243 you must add those business components in your iView and only are available in that component. Once you deploy this component you do not need to assign any special role to users. The business object component is in Content Administration --> Portal Content --> Business Object --> ERP Common Parts --> Human Resources --> Employee.
    Follow this link:
    http://wiki.sdn.sap.com/wiki/display/ERPHCM/HOWTOGETRIDOFSPSTACKMISMATCHISSUES
    And get rid of mismatch issues!!!!
    Regards.
    David Cortés
    Edited by: David Cortes on Apr 22, 2010 11:53 PM

  • Performance improvement for ALE/IDOC processing

    Dear experts,
    Could you let me know any information to tune performance?
    In our system (SAP R/3 Enterprise 6.20), material master data is distributed from one client to other clients in the same instance. It is because material master is maintained centrally, and is distributed to other clients for member companies.
    During the night batch, distributing master data takes more than 2 hours. Although the distribution usually finishes without errors, we would like to explore ways to improve processing performance. Especially, program RBDMIDOC runs long time to create IDOC for MATMAS, even 0 master IDOC is set eventually.
    OSS notes of the list for OS/DB/SAP parameters related to ALE/IDOC, tips in organizing batch jobs, etc, will be very appreciated.
    Many Thanks,
    Nori

    I'd recommend to profile the program at least once to see where there's possible room for improvements. I.e. an ABAP runtime analysis and SQL trace would be good for a start. You can check out the links in thread Please Read before Posting in the Performance and Tuning Forum, which will give you some references if you need them. Once you have more details, you either know what you need to do or you can provide them and ask a more specific question (and thus you will receive much better answers).
    As a general remark though I've seen often poor performance initially on the changer pointer selection, because there are too many entries in the table (due to system generating unnecessary change pointers, which should be disabled or/and lack of proper reorganization, i.e. deletion of old/processed change pointers via BD22). Sounds like this is most likely also the cause of your problem, because otherwise it's hard to explain long run times without generating any master IDocs. You can check the number of change pointers easily via view BDCPV or BDCP2 - it depends how you store your change pointers (most likely you find them via view BDCPV in a 6.20 system, unless somebody switched it to the newer BDCP2).
    If you still have them in BDCPV (or the underlying tables to be more precise), check out [OSS note 305462 - MOD: Migration change pointer to table BDCP2|https://service.sap.com/sap/support/notes/305462], which will provide you a general hint how to do that (and thus also improve the performance). However, if you're currently not deleting any old change pointers, you should ensure that a regular job runs for transaction BD22 (program RBDCPCLR). You'll easily find other (possibly relevant) OSS notes by doing a search yourself...

  • Disable/Lock Front Panel Programmatically

    Hello
    I have a huge project with a bunch of boolean controls. Each boolean triggers an event. So when an event is triggered, I disable all other booleans to avoid any event lock up.
    There are cases where I have to disable ALL the boolean, for ex. when saving, I disable all controls till a report is generated. Is there anyway I can lock or disable the front panel programmatically rather than use property nodes to disable them ? I am losing a lot of my real estate and VI becomes really huge (1.41 MB so far, just the top level )
    Thanks !!
    Kudos always welcome for helpful posts

    Maximus00, like you, I have a huge VI (complex UI with controls/indicators), It is now 2.5 MB in LabView 8.20 (in 6.1, it is about 5mb).  I'm looking for the same thing, that is how to disable the Event Structure "locking front panel".   Currently, I disable all 50 events for this feature, but this is cumbersome, tedious, and should be a better way.  I came across your post and wish LV had a way to programattically disable it, via a property node.    The VI I am working is large, and will most likely be used be maintained by multiple developers so it is critical that there is some way to inhibit the "locking front panel", anytime they add or edit an event.   It is definitely NOT a good thing to have the VI lock up!  By Programmatically disabling all of the event structure's locking front panel, this would protect the VI code from locking up, if a new developer is unfamiliar with the code.
    If anyone knows a way to Disable/Lock Front Panel Programmatically let us know!!
    -crazycliffy
    - crazycliffy

  • Updated my 2008 MacBook Pro to Mavericks. Tuneup for Mac won't run w/10.9.  what do I use for housekeeping?

    Updated my 2008 MacBook pro to Mavericks.Lost some programs that won't run on Mavericks.  One being Tuneup for Mac. Used for housekeeping and cleaning up the machine.  Can't figure out how run maintenance on drive w/o this.  Seached for scheduled maintenance in help, nothing.

    "Scheduled" maintenance is all done by the OS - there's nothing you should run for "housekeeping". DO yourself a favor with the new OS and read...
    -> The myth of the dirty Mac
    -> Mac Performance Guide
    -> Tuning Mac OS X Performance
    Good luck,
    Clinton

  • 30EA3- 2.*: Weird performance issues for editing objects

    Hi,
    I noticed weird performance issues for editing objects: when right-clicking on them in the navigator tree and selecting Edit, you get the old progress dialog "Connected to database XXX". This stays on screen a lot longer than it ever did (last sequence I edited over 30 seconds!).
    Cancelling displays a "Error retrieving schemas" dialog, but then opens the Edit dialog correctly. No further side effects noticed, so I think sqldev is adding useless overhead here.
    If confirmed, can this be bugged and/or fixed by production?
    Thanks,
    K.

    Yes, I mean in context of other hangs reported. This one is a nasty performance issue, but IMO the others are real show stoppers.
    Atomic steps are easy; any* Edit (object) action inside the context menu of the navigator or the Edit button of the object viewer.
    I took a lot of dumps (every second or so) and came to these findings:
    Full thread dump Java HotSpot(TM) Client VM (14.2-b01 mixed mode):
    "ProgressBarThread" prio=6 tid=0x049de000 nid=0x1674 runnable [0x056ff000]
       java.lang.Thread.State: RUNNABLE
            at oracle.jdbc.driver.T2CStatement.t2cDefineFetch(Native Method)
            at oracle.jdbc.driver.T2CPreparedStatement.doDefineFetch(T2CPreparedStatement.java:818)
            at oracle.jdbc.driver.T2CPreparedStatement.executeForRows(T2CPreparedStatement.java:746)
            at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1100)
            at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
            at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
            at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3425)
            - locked <0x1828f7f0> (a oracle.jdbc.driver.T2CConnection)
            at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1202)
            at oracle.javatools.db.execute.QueryWrapper.executeQueryImpl(QueryWrapper.java:280)
            at oracle.javatools.db.execute.QueryWrapper.access$000(QueryWrapper.java:76)
            at oracle.javatools.db.execute.QueryWrapper$QueryExecutionRunnable.runImpl(QueryWrapper.java:390)
            - locked <0x1828f7f0> (a oracle.jdbc.driver.T2CConnection)
            at oracle.javatools.db.execute.StatementWrapper$ExecutionRunnable.run(StatementWrapper.java:692)
            - locked <0x10c504c0> (a oracle.javatools.db.execute.QueryWrapper$QueryExecutionRunnable)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper.runAndLog(ProgressBarExecutionWrapper.java:136)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper.access$000(ProgressBarExecutionWrapper.java:38)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper$R.run(ProgressBarExecutionWrapper.java:180)
            at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
            at java.lang.Thread.run(Thread.java:619)
    "pool-2-thread-2" prio=6 tid=0x06795400 nid=0xa58 waiting on condition [0x073ef000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x131fded0> (a java.util.concurrent.SynchronousQueue$TransferStack)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
            at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
            at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
            at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "pool-4-thread-1" prio=6 tid=0x06654400 nid=0xa08 waiting on condition [0x05dff000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x18334e28> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
            at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
            at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
            at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "WeakDataReference polling" prio=2 tid=0x064de800 nid=0xc58 in Object.wait() [0x0eb3f000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x18335088> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at oracle.ide.util.WeakDataReference$Cleaner.run(WeakDataReference.java:88)
            at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x04decc00 nid=0x1248 waiting on condition [0x0ea3f000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
            at java.lang.Thread.sleep(Native Method)
            at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:112)
            at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
            at java.lang.Thread.run(Thread.java:619)
    "IconOverlayTracker Timer" prio=6 tid=0x063e5400 nid=0x16fc in Object.wait() [0x076ef000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.util.TimerThread.mainLoop(Timer.java:483)
            - locked <0x180c2840> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "WaitCursor-Timer" prio=6 tid=0x04e39c00 nid=0x910 in Object.wait() [0x074ef000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.util.TimerThread.mainLoop(Timer.java:483)
            - locked <0x1792d840> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "Native Directory Watcher" prio=2 tid=0x04e38400 nid=0x12b8 runnable [0x062ef000]
       java.lang.Thread.State: RUNNABLE
            at oracle.ide.natives.NativeHandler.enterWatcherThread(Native Method)
            at oracle.ide.natives.NativeHandler$2.run(NativeHandler.java:252)
            at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x04d86c00 nid=0x12ac waiting on condition [0x061af000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
            at java.lang.Thread.sleep(Native Method)
            at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:112)
            at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
            at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x04d82800 nid=0x1240 waiting on condition [0x05eff000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
            at java.lang.Thread.sleep(Native Method)
            at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:112)
            at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
            at java.lang.Thread.run(Thread.java:619)
    "TextBufferScavenger" prio=6 tid=0x04d81400 nid=0x10ec in Object.wait() [0x05cff000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            - waiting on <0x1729c0a8> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x1729c0a8> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at oracle.ide.model.TextNode$FacadeBufferReference$PollingThread.run(TextNode.java:1949)
    "BaseTreeExplorer.NodeOpeningExecutor" prio=6 tid=0x04ba0400 nid=0x11bc waiting on condition [0x05aff000]
       java.lang.Thread.State: WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x131a1910> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
            at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "pool-2-thread-1" prio=6 tid=0x04c1c400 nid=0x11b8 waiting on condition [0x059ff000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x131fded0> (a java.util.concurrent.SynchronousQueue$TransferStack)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
            at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
            at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
            at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "Scheduler" daemon prio=6 tid=0x04b9a800 nid=0x11b0 in Object.wait() [0x058ff000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at oracle.dbtools.raptor.backgroundTask.TaskLinkedList.takeNextTask(TaskLinkedList.java:47)
            - locked <0x131a1ba0> (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)
            at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$SchedulerThread.run(RaptorTaskManager.java:422)
    "TimerQueue" daemon prio=6 tid=0x0445b000 nid=0x10fc in Object.wait() [0x057ff000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at javax.swing.TimerQueue.run(TimerQueue.java:236)
            - locked <0x12f7c028> (a javax.swing.TimerQueue)
            at java.lang.Thread.run(Thread.java:619)
    "ChangeSetService" prio=2 tid=0x049d0800 nid=0x1060 in Object.wait() [0x053ff000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            - waiting on <0x12e140c8> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
            at java.lang.Object.wait(Object.java:485)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService.awaitEvents(ChangeSetService.java:178)
            - locked <0x12e140c8> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService.eventLoop(ChangeSetService.java:199)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService.access$200(ChangeSetService.java:56)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService$2.run(ChangeSetService.java:138)
            at java.lang.Thread.run(Thread.java:619)
    "TimedCache-Timer" daemon prio=6 tid=0x03af9c00 nid=0x414 in Object.wait() [0x03fdf000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.util.TimerThread.mainLoop(Timer.java:509)
            - locked <0x12869c58> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "JarIndex Timer" daemon prio=6 tid=0x03945400 nid=0x171c in Object.wait() [0x042df000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.util.TimerThread.mainLoop(Timer.java:509)
            - locked <0x127d85a8> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "AWT-EventQueue-0" prio=6 tid=0x030f4800 nid=0x1684 in Object.wait() [0x041de000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.awt.EventQueue.getNextEvent(EventQueue.java:479)
            - locked <0x127d8658> (a java.awt.EventQueue)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:236)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
            at java.awt.Dialog$1.run(Dialog.java:1045)
            at java.awt.Dialog$3.run(Dialog.java:1097)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.awt.Dialog.show(Dialog.java:1095)
            at java.awt.Component.show(Component.java:1563)
            at java.awt.Component.setVisible(Component.java:1515)
            at java.awt.Window.setVisible(Window.java:841)
            at java.awt.Dialog.setVisible(Dialog.java:985)
            at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:395)
            at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:356)
            at oracle.ide.dialogs.ProgressBar.start(ProgressBar.java:352)
            at oracle.ide.dialogs.ProgressBar.start(ProgressBar.java:229)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper.execute(ProgressBarExecutionWrapper.java:108)
            at oracle.javatools.db.execute.StatementWrapper$ExecutionProxy.doExecute(StatementWrapper.java:647)
            at oracle.javatools.db.execute.StatementWrapper$ExecutionProxy.access$200(StatementWrapper.java:585)
            at oracle.javatools.db.execute.StatementWrapper.doExecute(StatementWrapper.java:307)
            at oracle.javatools.db.execute.QueryWrapper.executeQuery(QueryWrapper.java:215)
            at oracle.javatools.db.dictionary.DictionaryDatabase.listObjectsImpl(DictionaryDatabase.java:323)
            at oracle.javatools.db.ora.BaseOracleDatabase.listObjectsImpl(BaseOracleDatabase.java:524)
            at oracle.javatools.db.AbstractDBObjectProvider.listSchemas(AbstractDBObjectProvider.java:859)
            at oracle.ide.db.dialogs.BaseDBEditorFactory.createNamespace(BaseDBEditorFactory.java:503)
            at oracle.ide.db.dialogs.BaseDBEditorFactory.editDBObject(BaseDBEditorFactory.java:357)
            at oracle.ide.db.dialogs.AbstractDBEditorFactory.editDBObject(AbstractDBEditorFactory.java:332)
            at oracle.ide.db.dialogs.BaseDBEditorFactory.editDBObject(BaseDBEditorFactory.java:54)
            at oracle.ide.db.dialogs.AbstractDBEditorFactory.editDBObject(AbstractDBEditorFactory.java:314)
            at oracle.dbtools.raptor.utils.DataBaseNodeUtil.editNodeWizard(DataBaseNodeUtil.java:45)
            at oracle.dbtools.raptor.oviewer.xmleditor.XMLBasedEditor.handleEvent(XMLBasedEditor.java:152)
            at oracle.ide.controller.IdeAction.performAction(IdeAction.java:531)
            at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:886)
            at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:503)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
            at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
            at java.awt.Component.processMouseEvent(Component.java:6263)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
            at java.awt.Component.processEvent(Component.java:6028)
            at java.awt.Container.processEvent(Container.java:2041)
            at java.awt.Component.dispatchEventImpl(Component.java:4630)
            at java.awt.Container.dispatchEventImpl(Container.java:2099)
            at java.awt.Component.dispatchEvent(Component.java:4460)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
            at java.awt.Container.dispatchEventImpl(Container.java:2085)
            at java.awt.Window.dispatchEventImpl(Window.java:2475)
            at java.awt.Component.dispatchEvent(Component.java:4460)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    "AWT-Shutdown" prio=4 tid=0x030e6400 nid=0x1680 in Object.wait() [0x040df000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
            - locked <0x127d8718> (a java.lang.Object)
            at java.lang.Thread.run(Thread.java:619)
    "AWT-Windows" daemon prio=6 tid=0x03abb400 nid=0x1610 runnable [0x03edf000]
       java.lang.Thread.State: RUNNABLE
            at sun.awt.windows.WToolkit.eventLoop(Native Method)
            at sun.awt.windows.WToolkit.run(WToolkit.java:291)
            at java.lang.Thread.run(Thread.java:619)
    "Java2D Disposer" daemon prio=10 tid=0x03a97400 nid=0x15f8 in Object.wait() [0x03cdf000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x127d8810> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at sun.java2d.Disposer.run(Disposer.java:125)
            at java.lang.Thread.run(Thread.java:619)
    "Low Memory Detector" daemon prio=6 tid=0x030d1c00 nid=0x15dc runnable [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "CompilerThread0" daemon prio=10 tid=0x030cb800 nid=0x15d8 waiting on condition [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "Attach Listener" daemon prio=10 tid=0x030ca000 nid=0x15d4 runnable [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "Signal Dispatcher" daemon prio=10 tid=0x030c8c00 nid=0x15d0 waiting on condition [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "Finalizer" daemon prio=8 tid=0x030b9c00 nid=0x15c8 in Object.wait() [0x0343f000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x12770298> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x030b5000 nid=0x15c4 in Object.wait() [0x0333f000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
            - locked <0x12770320> (a java.lang.ref.Reference$Lock)
    "main" prio=6 tid=0x00967800 nid=0x1504 waiting on condition [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "VM Thread" prio=10 tid=0x030b1000 nid=0x15c0 runnable
    "VM Periodic Task Thread" prio=10 tid=0x030d3c00 nid=0x15e0 waiting on condition
    JNI global references: 2645
    Heap
    def new generation   total 12544K, used 6205K [0x10010000, 0x10da0000, 0x12770000)
      eden space 11200K,  53% used [0x10010000, 0x105e2ff0, 0x10b00000)
      from space 1344K,  18% used [0x10c50000, 0x10c8c7b8, 0x10da0000)
      to   space 1344K,   0% used [0x10b00000, 0x10b00000, 0x10c50000)
    tenured generation   total 165468K, used 99280K [0x12770000, 0x1c907000, 0x30010000)
       the space 165468K,  59% used [0x12770000, 0x18864308, 0x18864400, 0x1c907000)
    compacting perm gen  total 50432K, used 50210K [0x30010000, 0x33150000, 0x38010000)
       the space 50432K,  99% used [0x30010000, 0x33118aa8, 0x33118c00, 0x33150000)
    No shared spaces configured.- In the beginning of the waiting time, the "locked <0x10c504c0>" in the "ProgressBarThread" changed (at least once) to "locked <0x10c51da0>".
    - Then halfway the waiting time, the "pool-2-thread-1" disappeared, then "pool-2-thread-2" shortly after.
    - Then the "TimedCache-Timer" changed to
    "TimedCache-Timer" daemon prio=6 tid=0x03af9c00 nid=0x414 in Object.wait() [0x03fdf000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.util.TimerThread.mainLoop(Timer.java:483)
            - locked <0x12869c58> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)- Then near the end, the "locked <0x10c51da0>" in the "ProgressBarThread" changed to "locked <0x10b01da0>", then to "locked <0x10c51da0>".
    Hope that helps,
    K.

  • I purchased an IPAD2 for my special needs daughter.  She only currently understands lowercase letters only and gets confused with the uppercase letters.  Is there a way to change the keyboard to display lowercase letters?

    I purchased an IPAD2 for my special needs daughter.  She only currently understands lowercase letters only and gets confused with the uppercase letters.  Is there a way to change the keyboard to display lowercase letters?

    There is no way for the keyboard itself to display only lower case letters. It doesn't display lower case letters at all for that matter.
    When you are using the keyboard - The other issue that you will have is with the shift key. Even with auto caps turned off you can still type capital letters if you tap the shift key and if you double tap it by mistake - it will turn into all capital letters so also turn off Caps Lock in the keyboard settings.
    Other than that, there is no way to ensure that you can type in lower case.
    Maybe an external bluetooth keyboard would be a better solution but I don't use one, and I have never even seen one in person so someone else will have to verify that for you.

  • I am looking for a way to disable the windows ct

    rl-alt-del function in a LabVIEW 6.0 VI. I also need to disable the bottom task bar including the Start key in Windows NT 4.0. My goal is to keep the VI exclusively on the screen and disable the users from switching to other programs or shut off the PC.

    rl-alt-del function in a LabVIEW 6.0 VI. I also need to disable the bottom task bar including the Start key in Windows NT 4.0. My goal is to keep the VI exclusively on the screen and disable the users from switching to other programs or shut off the PC.Public libraries use applications like WinSelect to lock down access to machines.
    http://www.winselect.com/
    But control-alt-delete in NT4.0 is a kernel level security feature that can't be
    defeated unless you hide the keyboard. By using registry settings you can
    control what is presented to the user after he hits control-alt-delete and keep
    him/her from shutting down, but you will also have to lock up the computer to keep
    your users from hitting the reset button and hide the mouse.
    If you want to boot up an NT environment without a keyboard and mouse
    you will need to go to NT Embedded. NTE allows you to build a custom
    OS that does not require keyboard or mouse to boot. You can also install
    just the components you need, ie; no browser, menus, control panel, etc.
    Regards,
    Alan
    "Dan Huynh" wrote in message news:[email protected]..
    > I am looking for a way to disable the windows ctrl-alt-del function in
    > a LabVIEW 6.0 VI. I also need to disable the bottom task bar
    > including the Start key in Windows NT 4.0. My goal is to keep the VI
    > exclusively on the screen and disable the users from switching to
    > other programs or shut off the PC.
    >
    >

  • Disable locking with SM30

    Hi,
    my customer is not amused that SM30 locks a whole table not selected records. We have a couple of user tables with maintenance views. For the departments (of this small company) it is dificult to maintain their data if another department has data in the same table although completely different records.
    I have seen a lecturer using a report to disable and reenable locking for SM30/SM31 10 years ago.
    Any Idea?
    Regards,
    Clemens
    P.S. I know that it is dangerous to disable locking, but: Why does SM30 not provide single-record-locking (or even 'optimistic locks').
    And the customer wants it.

    'You might even have tried before posting'.
    I wouldn't of even bothered posting such a stupid question in the first place. You never delete a table lock. SIMPLE AS THAT.
    Write a program that can be used to maintain the table instead.
    In fact you said it yourself.
    'I have seen a lecturer using a report to disable and reenable locking for SM30/SM31 10 years ago.'
    Message was edited by:
            Martin Shinks

  • Disable lock screen and keep passcode

    I am looing for an option to disable the sliding lock screen and keeping just the passcode. Is that possible? Maybe are there any 3rd party apps?
    thank you.

    Unfortunately  this is not an option. I have the iphone 4.

  • Performance Issue for BI system

    Hello,
    We are facing performance issues for BI System. Its a preproductive system and its performance is degrading badly everyday. I was checking system came to know program buffer hit ratio is increaasing everyday due to high Swaps. So asked to change the parameter abap/buffersize which was 300Mb to 500Mb. But still no major improvement is found in the system.
    There is 16GB Ram available and Server is HP-UX and with Netweaver2004s with Oracle 10.2.0.4.0 installed in it.
    The Main problem is while running a report or creating a query is taking way too long time.
    Kindly help me.

    Hello SIva,
    Thanks for your reply but i have checked ST02 and ST03 and also SM50 and its normal
    we are having 9 dialog processes, 3 Background , 2 Update and 1 spool.
    No one is using the system currently but in ST02 i can see the swaps are in red.
    Buffer                 HitRatio   % Alloc. KB  Freesp. KB   % Free Sp.   Dir. Size  FreeDirEnt   % Free Dir    Swaps    DB Accs
    Nametab (NTAB)                                                                                0
       Table definition     99,60     6.798                                                   20.000                                            29.532    153.221
       Field definition     99,82      31.562        784                 2,61           20.000      6.222          31,11          17.246     41.248
       Short NTAB           99,94     3.625      2.446                81,53          5.000        2.801          56,02             0            2.254
       Initial records      73,95        6.625        998                 16,63          5.000        690             13,80             40.069     49.528
                                                                                    0
    boldprogram                97,66     300.000     1.074                 0,38           75.000     67.177        89,57           219.665    725.703bold
    CUA                    99,75         3.000        875                   36,29          1.500      1.401          93,40            55.277      2.497
    Screen                 99,80         4.297      1.365                 33,35          2.000      1.811          90,55              119         3.214
    Calendar              100,00       488            361                  75,52            200         42              21,00               0            158
    OTR                   100,00         4.096      3.313                  100,00        2.000      2.000          100,00              0
                                                                                    0
    Tables                                                                                0
       Generic Key          99,17    29.297      1.450                  5,23           5.000        350             7,00             2.219      3.085.633
       Single record        99,43    10.000      1.907                  19,41           500         344            68,80              39          467.978
                                                                                    0
    Export/import          82,75     4.096         43                      1,30            2.000        662          33,10            137.208
    Exp./ Imp. SHM         89,83     4.096        438                    13,22         2.000      1.482          74,10               0    
    SAP Memory      Curr.Use %    CurUse[KB]    MaxUse[KB]    In Mem[KB]    OnDisk[KB]    SAPCurCach      HitRatio %
    Roll area               2,22                5.832               22.856             131.072     131.072                   IDs           96,61
    Page area              1,08              2.832                24.144               65.536    196.608              Statement     79,00
    Extended memory     22,90       958.464           1.929.216          4.186.112          0                                         0,00
    Heap memory                                    0                  0                    1.473.767          0                                         0,00
    Call Stati             HitRatio %     ABAP/4 Req      ABAP Fails     DBTotCalls         AvTime[ms]      DBRowsAff.
      Select single     88,59               63.073.369        5.817.659      4.322.263             0                         57.255.710
      Select               72,68               284.080.387          0               13.718.442             0                        32.199.124
      Insert                 0,00                  151.955             5.458             166.159               0                           323.725
      Update               0,00                    378.161           97.884           395.814               0                            486.880
      Delete                 0,00                    389.398          332.619          415.562              0                             244.495
    Edited by: Srikanth Sunkara on May 12, 2011 11:50 AM

  • Performance issue for this function-module(HR_TIM_REPORT_ABSENCE_DATA)

    Hi Friends
    I am having performance issue for this function-module(HR_TIM_REPORT_ABSENCE_DATA) and one my client got over 8 thousend employees . This function-module taking forever to read the data. is there any other function-module to read the absences data IT2001 .
    I did use like this .if i take out this F.M 'HR_TIM_REPORT_ABSENCE_DATA_INI' its not working other Function-module.please Suggest me .
    call function 'HR_TIM_REPORT_ABSENCE_DATA_INI'
    exporting "Publishing to global memory
    option_string = option_s "string of sel org fields
    trig_string = trig_s "string of req data
    alemp_flag = sw_alemp "all employee req
    infot_flag = space "split per IT neccessary
    sel_modus = sw_apa
    importing
    org_num = fdpos_lines "number of sel org fields
    tables
    fieldtab = fdtab "all org fields
    field_sel = fieldnametab_m. "sel org fields
    To Read all infotypes from Absences type.
    RP_READ_ALL_TIME_ITY PN-BEGDA PN-ENDDA.
    central function unit to provide internal tables: abse orgs empl
    call function 'HR_TIM_REPORT_ABSENCE_DATA'
    exporting
    pernr = pernr-pernr
    begda = pn-begda
    endda = pn-endda
    IMPORTING
    SUBRC = SUBRC_RTA
    tables
    absences = absences_01
    org_fields = orgs
    emp_fields = empl
    REFTAB =
    APLTAB =
    awart_sel_p = awart_s[]
    awart_sel_a = awart_s[]
    abstp_sel = abstp_s[]
    i0000 = p0000
    i0001 = p0001
    i0002 = p0002
    i0007 = p0007
    i2001 = p2001
    i2002 = p2002
    i2003 = p2003.
    Thanks & Regards
    Reddy

    guessing will not help you much, check with SE30 to get a better insight
    SE30
    The ABAP Runtime Trace (SE30) -  Quick and Easy
    what is the total time, what are the Top 10 in the hitlist.
    Siegfried

  • Program for creating a model is locked by User

    Hi Guys,
    We have created a process chain to create the Integration Model and to activate the Integration Model using this prg RIMODGEN. So, This prg we have created variants for different location wise. This process chain contains 13 processes For each location, which is running in parallel. Some time we are getting the error message " Program for creating a model is locked by User
    Regards

    Dear  Pullaiah,
    Locking happens if there is any overlap of models or duplicate  scheduling of jobs with same variant.                                                                               
    See include LCIFIF01                                                                               
    CALL FUNCTION 'ENQUEUE_ECIF_IMOD'                                    
      EXPORTING                                                          
        mode_cif_imod  = 'E'                                             
        modelname      = i_modid                                         
        logsys         = i_logsys                                        
        apoapp         = i_appl                                          
      EXCEPTIONS                                                         
        foreign_lock   = 1                                               
        system_failure = 2                                               
        OTHERS         = 3.                                                                               
    So this means for you, you get the lockentry if the modelname, logsys and apoapp is the same. So please check again your variants if there is one with the same integrationmodels.            
    This can be the only reason we you get here this entry in your joblog.
    Regards,
    Tibor

Maybe you are looking for