BUILD SUCCESSFUL - thanks a lot! :)
-------- Original-Nachricht -------- > Datum: Wed, 21 Jul 2010 15:16:39 +0200 > Von: [email protected] > An: [email protected] > Betreff: RE: Beginner\'s question > Code has just been checked in which fixes this subtle but nasty bug. > > Let me know what happens now. ;-) > Karl > > > -----Original Message----- > From: Wright Karl (Nokia-MS/Cambridge) > Sent: Wednesday, July 21, 2010 8:50 AM > To: [email protected] > Subject: RE: Beginner's question > > Well, that explains why your test isn't succeeding. > > I think I've found the cause of the problem, however. It is *indeed* the > language default used by Derby. The following code is the problem: > > >>>>>> > protected LCFException reinterpretException(LCFException theException) > { > if (Logging.db.isDebugEnabled()) > Logging.db.debug("Reinterpreting exception > '"+theException.getMessage()+"'. The exception type is > "+Integer.toString(theException.getErrorCode())); > if (theException.getErrorCode() != > LCFException.DATABASE_CONNECTION_ERROR) > return theException; > Throwable e = theException.getCause(); > if (!(e instanceof java.sql.SQLException)) > return theException; > if (Logging.db.isDebugEnabled()) > Logging.db.debug("Exception "+theException.getMessage()+" is > possibly a transaction abort signal"); > String message = e.getMessage(); > if (message.indexOf("due to a deadlock") != -1) > return new > LCFException(message,e,LCFException.DATABASE_TRANSACTION_ABORT); > // Note well: We also have to treat 'duplicate key' as a transaction > abort, since this is what you get when two threads attempt to > // insert the same row. (Everything only works, then, as long as > there is a unique constraint corresponding to every bad insert that > // one could make.) > if (message.indexOf("duplicate key") != -1) > return new > LCFException(message,e,LCFException.DATABASE_TRANSACTION_ABORT); > if (Logging.db.isDebugEnabled()) > Logging.db.debug("Exception "+theException.getMessage()+" is NOT a > transaction abort signal"); > return theException; > } > <<<<<< > > It looks like Derby has a specific exception class instead for these kinds > of exceptions, so I will be able to test them directly rather than look at > text. Stay tuned. > > Karl > > > > > -----Original Message----- > From: ext [email protected] [mailto:[email protected]] > Sent: Wednesday, July 21, 2010 8:25 AM > To: [email protected] > Subject: Re: Beginner's question > > Hi, > > I'm getting the same exception as Marc except that on my machine it's > German text ;o) > I tried it first with jdk 1.6_13, then updated to 1.6_21 based on a new > SVN Update. But I haven't been successful yet. > > Carina > > > -------- Original-Nachricht -------- > > Datum: Wed, 21 Jul 2010 12:13:22 +0200 > > Von: [email protected] > > An: [email protected] > > Betreff: Re: Beginner\'s question > > > I'm definitely not seeing this behavior here, with sun jdk 1.6. It's > > worth getting to the bottom of. > > > > Can you do the following: > > > > (1) Svn co a completely fresh version of LCF > > (2) Ant, making sure ant is actually using jdk 1.6 > > > > If you *still* get this problem, please let me know. It's not clear > what > > the difference is, but there's got to be a difference somewhere. I hope > it > > is not how Derby works on French machines. ;-) > > > > Karl > > > > > > >>>>>> > > Worker thread aborting and restarting due to database connection reset: > > Database exception: Exception doing query: L'instruction a été > abandonnée > > parce qu'elle aurait entraîné la duplication d'une valeur de clé dans > > une contrainte de clé ou d'index unique identifié par 'I1279701064805' > > définie sur 'INGESTSTATUS'. > > org.apache.lcf.core.interfaces.LCFException: Database exception: > Exception > > doing query: L'instruction a été abandonnée parce qu'elle aurait > > entraîné la duplication d'une valeur de clé dans une contrainte de > clé ou > > d'index unique identifié par 'I1279701064805' définie sur > 'INGESTSTATUS'. > > at > > > org.apache.lcf.core.database.Database.executeViaThread(Database.java:421) > > at > > > org.apache.lcf.core.database.Database.executeUncachedQuery(Database.java:449) > > at > > > org.apache.lcf.core.database.Database$QueryCacheExecutor.create(Database.java:1072) > > at > > > org.apache.lcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:144) > > at > > org.apache.lcf.core.database.Database.executeQuery(Database.java:167) > > at > > > org.apache.lcf.core.database.DBInterfaceDerby.performModification(DBInterfaceDerby.java:615) > > at > > > org.apache.lcf.core.database.DBInterfaceDerby.performInsert(DBInterfaceDerby.java:177) > > at > > org.apache.lcf.core.database.BaseTable.performInsert(BaseTable.java:76) > > at > > > org.apache.lcf.agents.incrementalingest.IncrementalIngester.noteDocumentIngest(IncrementalIngester.java:1267) > > at > > > org.apache.lcf.agents.incrementalingest.IncrementalIngester.performIngestion(IncrementalIngester.java:410) > > at > > > org.apache.lcf.agents.incrementalingest.IncrementalIngester.documentIngest(IncrementalIngester.java:304) > > at > > > org.apache.lcf.crawler.system.WorkerThread$ProcessActivity.ingestDocument(WorkerThread.java:1586) > > at > > > org.apache.lcf.crawler.connectors.filesystem.FileConnector.processDocuments(FileConnector.java:275) > > at > > > org.apache.lcf.crawler.connectors.BaseRepositoryConnector.processDocuments(BaseRepositoryConnector.java:516) > > at > > org.apache.lcf.crawler.system.WorkerThread.run(WorkerThread.java:585) > > Caused by: java.sql.SQLIntegrityConstraintViolationException: > > L'instruction a été abandonnée parce qu'elle aurait entraîné la > duplication d'une > > valeur de clé dans une contrainte de clé ou d'index unique identifié > par > > 'I1279701064805' définie sur 'INGESTSTATUS'. > > at > > org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown > Source) > > at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown > > Source) > > at > > > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown > Source) > > at > > > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown > Source) > > at > org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown > > Source) > > at > org.apache.derby.impl.jdbc.ConnectionChild.handleException(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.lcf.core.database.Database.execute(Database.java:566) > > at > > > org.apache.lcf.core.database.Database$ExecuteQueryThread.run(Database.java:381) > > Caused by: java.sql.SQLException: L'instruction a été abandonnée > parce > > qu'elle aurait entraîné la duplication d'une valeur de clé dans une > > contrainte de clé ou d'index unique identifié par 'I1279701064805' > définie > > sur 'INGESTSTATUS'. > > at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown > Source) > > at > > > org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown > Source) > > ... 11 more > > > > However i can start jetty and get the ui working. > > > > Thanks > > marc > > <<<<<< > > > > > > -- > GMX DSL: Internet-, Telefon- und Handy-Flat ab 19,99 EUR/mtl. > Bis zu 150 EUR Startguthaben inklusive! http://portal.gmx.net/de/go/dsl -- Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief! Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail
