Optimistic transaction - Recovering after exception
I'm looking for a usage pattern / hint for following problem:
We are using long-running optimistic transactions, where a large number of
JDO objects is modified during a transaction. Since multiple end users can
modify the same JDO objects, we can get OptimisticVerificationExceptions.
Following recovering strategies are trivial to implement:
- accept changes of the user who committed first by calling refresh() on the
conflicting JDO objects, discarding all changes made during the transaction
- step back to the state where the transaction began (with restoreValues set
to true), discarding all changes made during the transaction
However, we did not find a simple solution for recovering the following way:
- commit the changes of the user who received the exception, thus
overwriting the changes of the user who committed first
After retrieving a conflicting JDO object via getFailedObject(), it is
either in hollow or persistent-nontransactional state (depending on the
restoreValue property), so all changes that were made during the
transaction are lost. The only way I can think of is to copy/clone mapped
fields in preStore/preDelete instance callbacks and storing them in
transient fields within the JDO object. After receiving the exception, the
mapped fields could be set back to the values stored in the transient
fields. This approach appears somewhat clumsy, however. Are there better
ideas / proven usage patterns around?
Thanks,
Contus
Hi,
The JDO specification mandates that an OptimisticVerificationException is a
fatal exception and thus any transaction is implicitly rolled back and there
will no longer be an active optimistic transaction (hence why you are seeing
objects as hollow or PNT depending on RestoreValues).
The only thing that I can think of is to maybe use the detach() API to take
a copy of the objects you've changed prior to trying the commit. Then if
there is a failure you can begin a new tx and attach the detached
copies...not something I've tried but might work?
Cheers
- Keiron
"contus" <[email protected]> wrote in message
news:[email protected]...
I'm looking for a usage pattern / hint for following problem:
We are using long-running optimistic transactions, where a large number of
JDO objects is modified during a transaction. Since multiple end users can
modify the same JDO objects, we can get OptimisticVerificationExceptions.
Following recovering strategies are trivial to implement:
- accept changes of the user who committed first by calling refresh() onthe
conflicting JDO objects, discarding all changes made during thetransaction
- step back to the state where the transaction began (with restoreValuesset
to true), discarding all changes made during the transaction
However, we did not find a simple solution for recovering the followingway:
- commit the changes of the user who received the exception, thus
overwriting the changes of the user who committed first
After retrieving a conflicting JDO object via getFailedObject(), it is
either in hollow or persistent-nontransactional state (depending on the
restoreValue property), so all changes that were made during the
transaction are lost. The only way I can think of is to copy/clone mapped
fields in preStore/preDelete instance callbacks and storing them in
transient fields within the JDO object. After receiving the exception, the
mapped fields could be set back to the values stored in the transient
fields. This approach appears somewhat clumsy, however. Are there better
ideas / proven usage patterns around?
Thanks,
Contus
Similar Messages
-
I'm catching JDOUserException in an optimistic transaction environment.
My first question is why do I get this Exception when my process is the
only user of the database?
My second question is why, when I retry the transaction (after a
rollback() and a begin() ), do I get the same Exception? What should I
do prior to repeating the transaction?
I'm using two different PMs, one for a read-only database and the other
for the database I'm updating.
Thanks
# Kodo JDO Properties configuration
# for 2.4.0:
com.solarmetric.kodo.LicenseKey=[[LICENSE KEY CENSORED]]
com.solarmetric.kodo.Logger=sql.txt
com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
javax.jdo.option.ConnectionURL=jdbc\:microsoft\:sqlserver\://SERVER1\:1433;DatabaseName=AML;SelectMethod=cursor
#javax.jdo.option.ConnectionURL=jdbc\:JSQLConnect\://SERVER1\:1433/database=AML
javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServerDriver
#javax.jdo.option.ConnectionDriverName=com.jnetdirect.jsql.JSQLDriver
# new 12/4/02:
com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=true
javax.jdo.option.ConnectionUserName=sa
javax.jdo.option.ConnectionPassword=
#problems w/ SQLServerDriver and long-lived connections: need to set
pool sizes to zero for Thomson database load
javax.jdo.option.MinPool=1
#javax.jdo.option.MinPool=0
javax.jdo.option.MaxPool=80
#javax.jdo.option.MaxPool=0
javax.jdo.option.Optimistic=true
javax.jdo.option.RetainValues=true
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.RestoreValues=true
javax.jdo.option.NontransactionalWrite=false
javax.jdo.option.Multithreaded=true
javax.jdo.option.MsWait=5000
javax.jdo.option.IgnoreCache=false
com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory
com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
com.solarmetric.kodo.EnableQueryExtensions=false
com.solarmetric.kodo.DefaultFetchThreshold=30
com.solarmetric.kodo.DefaultFetchBatchSize=10I was getting the JDOUserException for concurrnecy problems before I
started catching that exception. After I modified the code, I started
catching the same exception (the e.getMessage() was the same as the
uncaught exceptions.)
The process is attempting a database load from a read-only database into
the active database. I have a separate PM (and properties file) for
each database. The point at which it starts throwing the
JDOUserException seems to be random (but after substantial records have
been processed.)
Seems the only way to recover from the exception is to call evictAll()
on the PM. This takes considerable time--is there a better way to recover?
I'll try to research whether the jdolockx fields are changing. I know
it's not happening in my code, but I'll check.
Thanks,
Mike
Petr Bulanek wrote:
Hi Michael,
Just a thought:
Have you tried to check if the value in jdolockX column changes during
your transaction? I thought that this column is pretty much a version of
the record and should always change when the record is updated.
Consequently, I would expect Kodo to store its value when tx.begin() is
called and compare this value to the curent one in that database prior to
commit.
How do you actually distinguish between JDOUserTransaction thrown as a
result of optimistic transaction and JDOUserException thrown for some
other reason?
It may be just that I am new to JDO, but I really thought it would not
hurt to have a special exception (maybe subclass of JDOUserException)
dedicated to this purpose.
Having said that, I would love to know how do you do it now.
Thank you,
Petr
Michael Welter wrote:
I\'m not doing any updates, begin(), or commit() in the read-only database.
What can I do to recover from a JDOUserException? I can\'t seem to
preceed once I catch the exception.
Thanks.
This are the properties for the read-only db:
com.solarmetric.kodo.LicenseKey=[[LICENSE KEY CENSORED]]
com.solarmetric.kodo.Logger=sql.txt
com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
javax.jdo.option.ConnectionURL=jdbc\\:microsoft\\:sqlserver\\://SERVER1\\:1433;DatabaseName=ScottWekly;SelectMethod=cursor
javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServerDriver
com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=false
javax.jdo.option.ConnectionUserName=sa
javax.jdo.option.ConnectionPassword=
javax.jdo.option.MinPool=1
javax.jdo.option.MaxPool=20
javax.jdo.option.Optimistic=true
javax.jdo.option.RetainValues=true
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.RestoreValues=true
javax.jdo.option.NontransactionalWrite=false
javax.jdo.option.Multithreaded=true
javax.jdo.option.MsWait=5000
javax.jdo.option.IgnoreCache=false
com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory
com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
com.solarmetric.kodo.EnableQueryExtensions=false
com.solarmetric.kodo.DefaultFetchThreshold=30
com.solarmetric.kodo.DefaultFetchBatchSize=10
Properties for the db being updates:
# Kodo JDO Properties configuration
com.solarmetric.kodo.LicenseKey=[[LICENSE KEY CENSORED]]
com.solarmetric.kodo.Logger=sql.txt
com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
javax.jdo.option.ConnectionURL=jdbc\\:microsoft\\:sqlserver\\://SERVER1\\:1433;DatabaseName=AML;SelectMethod=cursor
javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServerDriver
com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=true
javax.jdo.option.ConnectionUserName=sa
javax.jdo.option.ConnectionPassword=
javax.jdo.option.MinPool=1
#javax.jdo.option.MinPool=0
javax.jdo.option.MaxPool=20
#javax.jdo.option.MaxPool=0
javax.jdo.option.Optimistic=true
javax.jdo.option.RetainValues=true
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.RestoreValues=true
javax.jdo.option.NontransactionalWrite=false
javax.jdo.option.Multithreaded=true
javax.jdo.option.MsWait=5000
javax.jdo.option.IgnoreCache=false
com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory
com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
com.solarmetric.kodo.EnableQueryExtensions=false
com.solarmetric.kodo.DefaultFetchThreshold=30
com.solarmetric.kodo.DefaultFetchBatchSize=10
Stephen Kim wrote:
You can still can an optimistic exception if you do concurrent
modifiactions across different pms. Be sure that your read-only pm is not
doing any transactional work (e.g. currenTransaction ().commit ()).
On Wed, 08 Jan 2003 11:20:25 +0000, Michael Welter wrote:
I\'m catching JDOUserException in an optimistic transaction environment.
My first question is why do I get this Exception when my process is the
only user of the database?
My second question is why, when I retry the transaction (after a
rollback() and a begin() ), do I get the same Exception? What should I
do prior to repeating the transaction?
I\'m using two different PMs, one for a read-only database and the other
for the database I\'m updating.
Thanks
# Kodo JDO Properties configuration
# for 2.4.0:
com.solarmetric.kodo.LicenseKey=[[LICENSE KEY CENSORED]]
com.solarmetric.kodo.Logger=sql.txt
com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
javax.jdo.option.ConnectionURL=jdbc\\:microsoft\\:sqlserver\\://SERVER1\\:1433;DatabaseName=AML;SelectMethod=cursor
#javax.jdo.option.ConnectionURL=jdbc\\:JSQLConnect\\://SERVER1\\:1433/database=AML
javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServerDriver
#javax.jdo.option.ConnectionDriverName=com.jnetdirect.jsql.JSQLDriver
# new 12/4/02:
com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=true
javax.jdo.option.ConnectionUserName=sa
javax.jdo.option.ConnectionPassword=
#problems w/ SQLServerDriver and long-lived connections: need to set
pool sizes to zero for Thomson database load
javax.jdo.option.MinPool=1
#javax.jdo.option.MinPool=0
javax.jdo.option.MaxPool=80
#javax.jdo.option.MaxPool=0
javax.jdo.option.Optimistic=true
javax.jdo.option.RetainValues=true
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.RestoreValues=true
javax.jdo.option.NontransactionalWrite=false
javax.jdo.option.Multithreaded=true
javax.jdo.option.MsWait=5000
javax.jdo.option.IgnoreCache=false
com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory
com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
com.solarmetric.kodo.EnableQueryExtensions=false
com.solarmetric.kodo.DefaultFetchThreshold=30
com.solarmetric.kodo.DefaultFetchBatchSize=10 -
Parallel Transaction recovery caught exception 30319
Hi,
Database - Oracle 11.1.0.7
Server - RHEL 5.2
A load process which was to load 7 milllion records was killed after 4 hours because it had several errors in the alert log -
22238:ORA-04030: out of process memory when trying to allocate 10504 bytes (pga heap,kgh stack)
After the process was killed, even after 3 hours, there were several trc files being generated with the error -
Dead transaction 0x0001.04a.00005b78 recovered by 32 server(s)
SMON: Parallel transaction recovery tried
Parallel Transaction recovery caught exception 30319
and
Parallel Transaction recovery server caught exception 10388
*** 2010-10-07 20:40:01.124
*** SESSION ID:(2993.32762) 2010-10-07 20:40:01.124
*** SERVICE NAME:(SYS$BACKGROUND) 2010-10-07 20:40:01.124
Does this means that the smon recovery failed? If so, what can I do for this? I need to kick off the load process again.
these are some other queries I ran -
select l.message,l.sql_id,l.totalwork,l.sofar,l.*
from v$session_longops l
where time_remaining is not null and time_remaining > 0
Row# MESSAGE SQL_ID TOTALWORK SOFAR SID TIME_REMAINING ELAPSED_SECONDS
1 Table Scan: prdb.prpeet: 156648 out of 843440 Blocks done 3w1cxu6vbz4jn 843440 156648 2956 8707 1986
2 Index Fast Full Scan: prdb.prpeet: 15 out of 216076 Blocks done 7cacc3d07d041 216076 15 2953 3442572 239
3 Index Fast Full Scan: prdb.prpeet: 192281 out of 206419 Blocks done d2cu3p7tmuz0z 206419 192281 2953 37 509
4 Index Fast Full Scan: prdb.prpeet: 198899 out of 216076 Blocks done f7whmwp813kf8 216076 198899 2953 46 531
5 Index Fast Full Scan: prdb.prpeet: 5 out of 216076 Blocks done dwf4gghk4mq0z 216076 5 2953 604999 14
6 Index Fast Full Scan: prdb.prpeet: 7 out of 216076 Blocks done dwf4gghk4mq0z 216076 7 2953 864276 28
7 Index Fast Full Scan: prdb.prpeet: 6 out of 216076 Blocks done 7cacc3d07d041 216076 6 2953 504163 14
8 Index Fast Full Scan: prdb.prpeet: 9 out of 216076 Blocks done 7cacc3d07d041 216076 9 2953 1128350 47
9 Index Fast Full Scan: prdb.prpeet: 13 out of 216076 Blocks done 7cacc3d07d041 216076 13 2953 1961187 118
Can someone please tell me what I need to do so that I can restart the load?
Thanks.I do -
OPEN cur_n1_C1 ;
LOOP
FETCH cur_n1_C1 BULK COLLECT INTO vt_C1 LIMIT 1000000;
FOR i IN vt_C1.FIRST .. vt_C1.LAST LOOP
INSERT /*+ APPEND */ INTO prpeet
VALUES
END LOOP ;
COMMIT;
END IF ;
END LOOP;
CLOSE cur_n1_C1 ;
EXCEPTION
So, will this commit be a problem? I am loading around 7 million records.
Also,
I ran the v$session_longops query again now and this is what it says -
select l.message,l.sql_id,l.totalwork,l.sofar,l.sid, l.time_remaining, elapsed_seconds
from v$session_longops l
where time_remaining is not null and time_remaining > 0
Row# MESSAGE SQL_ID TOTALWORK SOFAR SID TIME_REMAINING ELAPSED_SECONDS
1 Sort Output: : 55613 out of 122712 Blocks done 122712 55613 2987 490 406
3 Table Scan: prdb.prpeet: 160239 out of 843440 Blocks done 3w1cxu6vbz4jn 843440 160239 2956 21071 4942
Does this mean it will finish in 21071 seconds?
Edited by: user12158503 on Oct 7, 2010 9:41 PM -
Remote or transactional roll back exception
Hi All,
I have deployed CMP2 entity bean to SUN ONE with Oracle as DB. There is no problem while retrieving/updating values to the table. But throws following
exception while adding values to the table.
Exception from the server log is below:
SEVERE: EJB5071: Some remote or transactional roll back exception occurred
com.sun.jdo.api.persistence.support.JDOFatalInternalException: Got an unknown ex
ception.
NestedException: java.lang.NullPointerException
at com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager.updatePe
rsistent(Unknown Source)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerI
mpl.beforeCompletion(Unknown Source)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.not
ifyBeforeCompletion(Unknown Source)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.com
mitBefore(Unknown Source)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.bef
oreCompletion(Unknown Source)
at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(Unkn
own Source)
at com.sun.enterprise.distributedtx.J2EETransaction.commit(Unknown Sourc
e)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(Unk
nown Source)
at com.sun.ejb.containers.BaseContainer.completeNewTx(Unknown Source)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(Unknown Source)
at com.sun.ejb.containers.BaseContainer.postInvoke(Unknown Source)
at com.siptech.pdf.ejb.config.session.ConfigSessionBean_EJBObjectImpl.se
tCountry(ConfigSessionBean_EJBObjectImpl.java:558)
at com.siptech.pdf.ejb.config.session._ConfigSessionBean_EJBObjectImpl_T
ie._invoke(Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Un
known Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Unk
nown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(Unknown Sou
rce)
at com.sun.corba.ee.internal.iiop.ORB.process(Unknown Source)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process(Unknown Sourc
e)
at com.iplanet.ias.corba.ee.internal.iiop.ServicableWrapper.service(Unkn
own Source)
at com.iplanet.ias.util.threadpool.FastThreadPool$ThreadPoolThread.run(U
nknown Source)
at java.lang.Thread.run(Thread.java:536)
WARNING: CORE3283: stderr: java.lang.NullPointerException
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
sql.generator.UpdateQueryPlan.addConstraint(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
sql.generator.UpdateQueryPlan.addBasetableConstraint(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
sql.generator.UpdateQueryPlan.processStatements(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
sql.generator.UpdateQueryPlan.build(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
model.ClassDesc.getUpdateQueryPlanForUpdate(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
model.ClassDesc.getUpdateQueryPlan(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
SQLStoreManager.executeBatch(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
SQLStateManager.updatePersistent(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
impl.PersistenceManagerImpl.beforeCompletion(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
impl.TransactionImpl.notifyBeforeCompletion(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
impl.TransactionImpl.commitBefore(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.jdo.spi.persistence.support.sqlstore.
impl.TransactionImpl.beforeCompletion(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.ejb.containers.ContainerSynchronizati
on.beforeCompletion(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.enterprise.distributedtx.J2EETransact
ion.commit(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.enterprise.distributedtx.J2EETransact
ionManagerOpt.commit(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.ejb.containers.BaseContainer.complete
NewTx(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.ejb.containers.BaseContainer.postInvo
keTx(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.ejb.containers.BaseContainer.postInvo
ke(Unknown Source)
WARNING: CORE3283: stderr: at com.siptech.pdf.ejb.config.session.ConfigSess
ionBean_EJBObjectImpl.setCountry(ConfigSessionBean_EJBObjectImpl.java:558)
WARNING: CORE3283: stderr: at com.siptech.pdf.ejb.config.session._ConfigSes
sionBean_EJBObjectImpl_Tie._invoke(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.corba.ee.internal.POA.GenericPOAServe
rSC.dispatchToServant(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.corba.ee.internal.POA.GenericPOAServe
rSC.internalDispatch(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.corba.ee.internal.POA.GenericPOAServe
rSC.dispatch(Unknown Source)
WARNING: CORE3283: stderr: at com.sun.corba.ee.internal.iiop.ORB.process(Un
known Source)
WARNING: CORE3283: stderr: at com.sun.corba.ee.internal.iiop.RequestProcess
or.process(Unknown Source)
WARNING: CORE3283: stderr: at com.iplanet.ias.corba.ee.internal.iiop.Servic
ableWrapper.service(Unknown Source)
WARNING: CORE3283: stderr: at com.iplanet.ias.util.threadpool.FastThreadPoo
l$ThreadPoolThread.run(Unknown Source)
WARNING: CORE3283: stderr: at java.lang.Thread.run(Thread.java:536)
Thanks,
Muthu.Hi Muthu,
from looking into SQLStateManager.updatePersistent, I doubt that we can run into an NPE here.
Can you please send us the entire log file? BTW: It would be much easier for me to help you, if I could see line the numbers in the stack trace. Would it be possible for you to get an non
optimized build and rerun your application?
Thank you,
-- markus. -
In Mac Firefox 10.0.2, is there a way to import/merge Mac Firefox 3.6.13 and 3.6.15 history (not just bookmarks), and history recovered after crashes, and if so, how? Thank you!
You can find the Import menu entry in the Bookmarks Manager (Library)
*Bookmarks > Show All Bookmarks > Import & Backup > Import Data from Another Browser
*http://kb.mozillazine.org/Import_bookmarks
Import & Backup is the third button on the toolbar in the Library that looks like a star.
You should be able to export the bookmarks via that button.
See also:
*https://support.mozilla.org/kb/how-do-i-use-bookmarks -
Remote or transactional roll back exception occurred
Hi,
I am getting this message, anybody could help me?
SEVERE ( 1166): EJB5071: Some remote or transactional roll back exception occurred
com.sun.jdo.api.persistence.support.JDOFatalInternalException: Got an unknown exception.
NestedException: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager.updatePersistent(SQLStateManager.java:1012)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:1251)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.notifyBeforeCompletion(TransactionImpl.java:1115)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.commitBefore(TransactionImpl.java:743)
at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.beforeCompletion(TransactionImpl.java:646)
at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:105)
at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction.java:183)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:310)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:1786)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:1585)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:510)
at br.com.inttegra.infra.businesslayer.ejb.ControllerBean_EJBObjectImpl.insert(ControllerBean_EJBObjectImpl.java:136)
at br.com.inttegra.infra.businesslayer.ejb._ControllerBean_EJBObjectImpl_Tie._invoke(Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:569)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:211)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:113)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:275)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:83)
at com.iplanet.ias.corba.ee.internal.iiop.ServicableWrapper.service(ServicableWrapper.java:25)
at com.iplanet.ias.util.threadpool.FastThreadPool$ThreadPoolThread.run(FastThreadPool.java:283)
at java.lang.Thread.run(Thread.java:536)Hi,
Please make shure, that your sun-cmp-mappings.xml is correct. The exception in your message just indicates a problem executing a sql statement. Please look into your log file again if you could find another exception trace showing where the IndexOutOfBoundsException happens.
Thanks,
-- markus. -
Returns PO appearing in VL10B transaction even after delivery is created with full PO qty
Hi All,
Returns PO is appearing in VL10B transaction even after delivery is created with full PO qty /
Regards
abHi Ayub,
Please go to the Return PO item details, and check the Delivery tab and make sure the delivery completed check box is selected. If not please select the check box and save the line items.
If there are multiple line items, then do the same for all the line items.
Then check in VL10B and confirm me. -
How do I access files that have been recovered (after a Mavericks problem) with the .cca file extension
First, to access documents you must use an app designed for that specific Document type. So Pages will not be able to open PDFs. The Documents app by Readdle can handle PDFs though. In the latter case, you'd open the app, click the menu icon at its top left, and click Open to go to your iCloud Drive. With Pages, if you had files outside the main Pages folder, click + then iCloud and navigate to the file's location.
Matt -
Urgent : update of table QALS through transaction QA12 after save
Hello Experts ,
I need to update the table field SELHERST of standard table QALS through transaction QA12 after the save button is clicked .
I have implemented the exit QEVA0010 which is triggered after clicking the save button , and have put the update command there , followed by commit work statement .
But it is not updating the table QALS .
Thanks in advance ....When the SAVE button is pressed, SAP execute some checks and launch the update task, if you want that your changes are not overwritten by SAP you need to submit those for execution during update task.
So you need to use instructions like
- PERFORM ON COMMIT
- CALL FUNCTION IN UPDATE TASK
and execute the update in one of these. (Reference [Updates in the R/3 System (BC-CST-UP)|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCSTUP/BCCSTUP_PT.pdf])
You may also try to force the update in the main program, declaring a pointer (field symbol) in the calling program data '(SAPMQEVA)QALS' (But that's not very correct)
Regards -
Transaction recovery caught exception
i see my .trc file
*** 2009-05-17 15:57:03.492
Parallel Transaction recovery caught exception 30319
Parallel Transaction recovery caught error 30319
*** 2009-05-17 16:01:04.040
Parallel Transaction recovery caught exception 30319
Parallel Transaction recovery caught error 30319
what it is and what must do i for this?have a look at this article and see if it helps.
http://el-caro.blogspot.com/2008/11/parallel-rollback.html -
Terminating Optimistic due to unhandled exception: WrapperException
Anyone know why I'm seeing this?
Thanks!
Andrew
2010-02-16 13:50:34.474/4.078 Oracle Coherence GE 3.5.3/465 <Error> (thread=OptimisticCache:ReplicatedStatsCacheService.Optimistic, member=47): Terminating Optimistic due to unhandled exception: com.tangosol.util.W
2010-02-16 13:50:34.474/4.078 Oracle Coherence GE 3.5.3/465 <Error> (thread=OptimisticCache:ReplicatedStatsCacheService.Optimistic, member=47):
(Wrapped) java.io.NotSerializableException: com.tangosol.util.internal.ConcurrentCounter
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.util.Base.ensureRuntimeException(Base.java:269)
at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.packetizeMessage(PacketPublisher.CDB:142)
at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher$InQueue.add(PacketPublisher.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.dispatchMessage(Grid.CDB:50)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.post(Grid.CDB:53)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ReplicatedCache.performUpdate(ReplicatedCache.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ReplicatedCache.onLeaseUpdateRequest(ReplicatedCache.CDB:22)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ReplicatedCache$LeaseUpdateRequest.onReceived(ReplicatedCache.CDB:5)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ReplicatedCache.onNotify(ReplicatedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.NotSerializableException: com.tangosol.util.internal.ConcurrentCounter
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.Hashtable.writeObject(Hashtable.java:824)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
at com.tangosol.coherence.Component.writeObject(Component.CDB:1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.Hashtable.writeObject(Hashtable.java:824)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
at com.tangosol.coherence.Component.writeObject(Component.CDB:1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
at com.tangosol.coherence.Component.writeObject(Component.CDB:1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
at com.tangosol.coherence.Component.writeObject(Component.CDB:1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
at com.tangosol.coherence.Component.writeObject(Component.CDB:1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at com.tangosol.util.ExternalizableHelper.writeSerializable(ExternalizableHelper.java:2181)
at com.tangosol.util.ExternalizableHelper.writeObject(ExternalizableHelper.java:2368)
at com.tangosol.io.DefaultSerializer.serialize(DefaultSerializer.java:51)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.writeObject(Service.CDB:4)
at com.tangosol.coherence.component.net.Message.writeObject(Message.CDB:1)
at com.tangosol.coherence.component.net.message.LeaseMessage.write(LeaseMessage.CDB:10)
at com.tangosol.coherence.component.net.message.leaseMessage.ResourceMessage.write(ResourceMessage.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.packetizeMessage(PacketPublisher.CDB:137)
... 11 more
2010-02-16 13:50:34.475/4.079 Oracle Coherence GE 3.5.3/465 <Info> (thread=main, member=47): Restarting NamedCache: stats.POSTMARKET_HIGH
2010-02-16 13:50:34.475/4.079 Oracle Coherence GE 3.5.3/465 <Info> (thread=main, member=47): Restarting Service: ReplicatedStatsCacheService.OptimisticHi Andrew,
From the exception stacktrace it looks like an object you are putting into the cache contains a reference to NamedCache or something like that.
Regards,
Dimitri -
XSERVE RAID Disk Failed to Recover After Reset...
Greetings,
I've got an PATA XSERVE RAID with 14x250GB Dries setup as RAID 5.
Last week event monitor reported that Disk 14 Reported An Error Command 0x35 ERROR 0x10 STATUS 0x51 LBA 0X3978B80.
Not having a spare Drive available, I ordered one and Reconditioned the Raid Using the RAID Admin Tool. 3 days later it reported all as well. This morning my new ADM arrived and before I could replace Drive 14, it started generating basically the same Error.
So I swapped in the New Drive, and it began to rebuild, now here's the kicker...
After a few minutes it started giving me this ERROR:
DISK 14 FAILED TO RECOVER AFTER RESET. RETRYING
then...
DATA WAS LOST DURING A REBUILD.
It continued to repeat these messages until it Finally reported:
DISK 14 OFFLINE
So, I thought it must be a bad Drive, So I figured let me kill 2 birds with 1 stone and swap out a drive I had working fine in an XSERVE. So I ejected the new drive from the XSERVE RAID and Replaced it directly with the Drive from the XSERVE (Also 250GB) And...
It did the Same exact thing, same errors, etc.
So what's going on?
RAID ADMIN reports all Components OK
Any help is appreciated.
Thanks
LJSOK, So replying to my own issues here...
So I've replaced the Lower Controller and updated the firmware on that Controller.
The I ejected disk 14, waited a minute or 2, then re-inserted the Disk, then made it available for use.
It attempted to add to the existing RAID and the errors started all over again (See 1st post)
So apparently it wasn't the controller.
So I figured it must be the RAID Set itself, so to be sure, I swapped Drive 8 with Drive 14.
Deleted the ARRAY and Re-Created it, it's building now and Now Drive 8 is offline, So it would appear to be the drive, but I already replaced it with a known working drive, a new one from Apple, and then one directly from my XServe (See 1st post)
So I'm just baffled at this point.
LJS -
Kodo 3.0 Bug with simple optimistic transaction
Hi guys,
Using the attached code, I find that a very simple situation that should result in an optimistic
verification exception is not occurring because Kodo 3.0 is reloading the persistent fields of the
data object when it becomes transactional. It doesn't always do this, just usually for this
example. For other more complicated data classes, this apparently does not happen. This bug
appears when using MySQL with InnoDB and isolation = read-committed. It also occurs when using
Oracle 8i.
The output within the zip shows just one TestToggles run. But because of the reloading, the
exception does not occur when the PNT version is stale prior to applying the modification.
So far as I can tell, the only difference between this case that is failing and the case that is not
failing is that the non-failing case has more fields including relations in the data class.
DavidThanks. Setting the "kodo.RetainValuesInOptimistic: true" appears to provide a workaround until it
is fixed.
Abe White wrote:
>
Thanks for the heads-up David. Believe it or not, I thought I was
correcting a bug when I changed this for 3.0. Silly me.I think there is a quantum law in software development that goes something like this:
There is a minimum number of bugs that a piece of software can have. For any software
of significant size, the minimum is greater than zero. Of course, this law is counter-
intuitive, but experience verifies it again and again.
See the
following bug report for the whole story:
http://bugzilla.solarmetric.com/show_bug.cgi?id=512
We'll have it go back to the previous behavior in 3.0.1. -
Sharing -my iPhone 5 was recovered after 6 months! And one strange question
Just wanted to share with everyone that my iPhone 5 was recovered 6 months after it was stolen, thanks to both FindMyiPhone and a company called ecoATM. It was stolen from my car on 03/05/14. someone (who says that they bought from a friend, didn't steal it) put it in a kiosk at my local mall in GA and got money for it - he also had to provide a photo ID and thumbprint when he made the transaction.... The company ecoATM notified me on 08/12/14 that the phone was at their processing center in California. They communicated with local law enforcement and not only returned my phone to me, but made an arrest. I gave up hope long ago. I had been using an older phone I had and was waiting for upgrade time.
Strange thing though, when I restored it, my Phone number is showing up incorrectly. I don't know how anyone would have used it with activation lock on. But a little rock number is showing up. Do you think that is just because perhaps it was sold to someone in that area and they tried to activate?My guess would be that they put a different sim card in it and that you could resolve that by taking it into your cellular provider and have them put in a new sim card.
-
Please help: fail to recover after system crash
Hi all,
I tried to start our directory server after system crash due to hardware failure. Error log shows:
[17/Apr/2010:01:35:15 +0800] - WARNING<20488> - Backend Database - conn=-1 op=-1 msgId=-1 - Detected Disorderly Shutdown last time Directory Server was running, recovering database.
However, the recover process seems never ends (I waited overnight...). While CPU usage of ns-slapd grows continuously, the server has no response (e.g. ldapsearch waits forever). I make copies of db before starting ns-slapd and thus I tried several attempts:
1. start as it is.
2. remove db/log* and start
3. remove db/log* and db/__db* and start
4. remove db/* except db/NetscapeRoot and start
All attempts have the same result - recovery goes on continuously.
Then I tried to remove db/* and run restoreconfig with an old configuration backup. Then ns-slapd can be started. However, when I do ldapsearch testing:
ldapsearch -h localhost -v -D"cn=directory manager" -b "" -s base objectclass= namingContexts
ldap_init( localhost, 389 )
Bind Password:
ldap_simple_bind_s: Invalid credentials
I'm sure the password is correct, and also tried modifying nsslapd-rootpw in config/dse.ldif and corresponding userPassword in configuration file created by saveconfig before restoreconfig.
Again, all attempts have the same result - invalid credentials. I can see BIND cn=directory manager attempts in logs/access, but also see following line in logs/errors:
[17/Apr/2010:21:59:08 +0800] - INFORMATION - conn=-1 op=-1 msgId=-1 - get_entry: entry cn=directory manager not found (error 32)
I'd like to know:
* if there any other method to make recovery process complete successfully?
* if there is anything missed/wrong in the restoreconfig process?
I tried several days but can't make it. Would anyone please help?
Sorry that we're still using old versions 5.2 patch 5 on Solaris 5.9 on v440 machines...
Thank you very much.
/ST Wong ([email protected])I hope you have a export of LDAP data backup in LDIF format, if so, please stop the instance and remove all the files from your db directory which includes .db3 and log.* and __db* and then do a ldif2db.
Once import is complete, start the slapd process.
Maybe you are looking for
-
Object instance not getting created
Hi all, I have created a report using local classes entirely, I created the object reference and instantiating it in INITIALIZATION event then i'm using one method of the class in AT SELECTION-SCREEN ON event. now everything is fine except that in so
-
Hello, Everything is on subject I try to uninstall a program that previous owner of my macbook has installed.. I've tried many things without success (uApp, longclick on app on lanchpad, etc..) if someone has an idea... Thanks for your help.
-
please describe the characteristics of mics that will (or will not) function with this port. (e.g self powered ?)
-
Garageband quit unexpectedly - Core audio driver loads
The last time I used Garageband 2 I was at home connected to my DIGI002. This week I am on the other side of the country and I attempted to open Garageband 2 so that I could work on a recording. I received the message "The Application Garageband 2 qu
-
How to combine a number of tracks to one track (song)?
Songs on a CD are sometimes separated in several tracks. When copying these tracks to the iPod, the song is splitted in the different tracks which will not be played as one complete song. So, when playing track one, track 2 is not necessarily the nex