Yeah that's a Derby bug with triggers, and I already spent one full
day trying to debug the internals of Derby without success.
As Derby is not a priority for us, this hasn't gone further.
Florent
On 26 Apr 2009, at 18:59, Stefan Dimov wrote:
Hi,
Actually I had a problem with H2, but it was stupid mistake by me
because in jboss lib dir I had an old version of
nuxeo-core-storage-sql-extensions.jar file (5.2-RC1 together with
5.2-SNAPSHOT, but RC1 is found first, so the older version was
active).
But with derby the problem still persists. I'm attaching the
server.log
from $JBOSS_DIR/server/default/log and derby.log from $JBOSS_DIR/bin/.
Hope this will help.
Regards,
Stefan
PS. I'm attaching part of server.log because of size of limitations.
[email protected] wrote:
Note that Derby has been less tested than H2, and fulltext indexing
with Derby is minimal and slow.
Could you post the stack trace please? We can't debug otherwise.
----------------------------------------------------------------
2009-04-26 16:30:18.470 GMT:
Booting Derby version The Apache Software Foundation - Apache Derby
- 10.4.1.3 - (648739): instance a816c00e-0120-e343-46cb-00000239da90
on database directory /home/stefan/nuxeo-sql/server/default/data/
derby/nuxeo
Database Class Loader started - derby.database.classpath=''
2009-04-26 16:31:08.580 GMT Thread[Nuxeo Async Events 1-4,5,jboss]
(XID = 2029), (SESSIONID = 2), (DATABASE = /home/stefan/nuxeo-sql/
server/default/data/derby/nuxeo), (DRDAID = null), Cleanup action
starting
2009-04-26 16:31:08.580 GMT Thread[Nuxeo Async Events 1-4,5,jboss]
(XID = 2029), (SESSIONID = 2), (DATABASE = /home/stefan/nuxeo-sql/
server/default/data/derby/nuxeo), (DRDAID = null), Failed Statement
is: UPDATE "FULLTEXT" SET "FULLTEXT" =
NX_PARSE_FULLTEXT(CAST("SIMPLETEXT" AS VARCHAR(10000)),
CAST("BINARYTEXT" AS VARCHAR(10000))) WHERE "ID" = CAST
(org
.apache
.derby
.iapi
.db.Factory::getTriggerExecutionContext().getNewRow().getObject(1)
AS VARCHAR(36))
java.lang.NullPointerException
at org.apache.derby.iapi.types.DataTypeDescriptor.getNull(Unknown
Source)
at org.apache.derby.iapi.types.DataTypeDescriptor.normalize(Unknown
Source)
at
org
.apache
.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(Unknown
Source)
at
org
.apache
.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown
Source)
at
org
.apache
.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown
Source)
at
org
.apache
.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(Unknown
Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown
Source)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
at
org
.apache
.derby.impl.sql.execute.GenericTriggerExecutor.executeSPS(Unknown
Source)
at
org
.apache
.derby.impl.sql.execute.RowTriggerExecutor.fireTrigger(Unknown Source)
at
org
.apache
.derby.impl.sql.execute.TriggerEventActivator.notifyEvent(Unknown
Source)
at
org
.apache
.derby.impl.sql.execute.UpdateResultSet.fireAfterTriggers(Unknown
Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown
Source)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org
.apache
.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org
.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown
Source)
at
org
.apache
.derby.iapi.jdbc.BrokeredPreparedStatement.executeUpdate(Unknown
Source)
at
org.nuxeo.ecm.core.storage.sql.Mapper.updateSingleRow(Mapper.java:
1250)
at org.nuxeo.ecm.core.storage.sql.Context.save(Context.java:381)
at
org
.nuxeo
.ecm
.core.storage.sql.PersistenceContext.save(PersistenceContext.java:269)
at
org.nuxeo.ecm.core.storage.sql.SessionImpl.flush(SessionImpl.java:181)
at org.nuxeo.ecm.core.storage.sql.SessionImpl.save(SessionImpl.java:
170)
at
org
.nuxeo
.ecm.core.storage.sql.ra.ConnectionImpl.save(ConnectionImpl.java:148)
at
org
.nuxeo
.ecm.core.storage.sql.coremodel.SQLSession.save(SQLSession.java:137)
at org.nuxeo.ecm.core.api.AbstractSession.save(AbstractSession.java:
1661)
at
org
.nuxeo
.ecm.core.api.ejb.DocumentManagerBean.save(DocumentManagerBean.java:
285)
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:585)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at
org
.jboss
.ejb3
.interceptor
.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at
org
.jboss
.ejb3
.interceptor
.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:
63)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.ejb3
.entity
.ExtendedPersistenceContextPropagationInterceptor
.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.ejb3
.entity
.TransactionScopedEntityManagerInterceptor
.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.nuxeo
.jboss
.interceptors
.NXSessionSynchronizationInterceptor
.invoke(NXSessionSynchronizationInterceptor.java:153)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.ejb3
.AllowedOperationsInterceptor
.invoke(AllowedOperationsInterceptor.java:47)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
at org.jboss.aspects.tx.TxInterceptor
$Required.invoke(TxInterceptor.java:195)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.aspects
.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.ejb3
.stateful
.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:
83)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.aspects
.security
.RoleBasedAuthorizationInterceptor
.invoke(RoleBasedAuthorizationInterceptor.java:166)
at
org
.jboss
.ejb3
.security
.RoleBasedAuthorizationInterceptor
.invoke(RoleBasedAuthorizationInterceptor.java:115)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.aspects
.security
.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
at
org
.jboss
.ejb3
.security
.Ejb3AuthenticationInterceptor
.invoke(Ejb3AuthenticationInterceptor.java:110)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.ejb3
.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.ejb3
.asynchronous
.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at
org
.jboss
.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org
.jboss
.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:
206)
at
org
.jboss
.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:119)
at $Proxy200.save(Unknown Source)
at
org
.nuxeo
.ecm
.core
.storage
.sql
.coremodel.BinaryTextListener.handleEvent(BinaryTextListener.java:128)
at org.nuxeo.ecm.core.event.impl.AsyncEventExecutor
$Job.run(AsyncEventExecutor.java:109)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Cleanup action completed
javax.transaction.xa.XAException
at org.apache.derby.jdbc.XATransactionState.cancel(Unknown Source)
at org.apache.derby.jdbc.XATransactionState.access$000(Unknown
Source)
at org.apache.derby.jdbc.XATransactionState
$CancelXATransactionTask.run(Unknown Source)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: java.sql.SQLException: No current connection.
at
org
.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.xa_rollback(Unknown
Source)
... 5 more
--
Florent Guillaume, Head of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm