manifoldcf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Emery <marco.em...@gmail.com>
Subject Re: Beginner's question
Date Wed, 21 Jul 2010 14:04:10 GMT
Hi,
It works, thanks a lot.

Cheers

2010/7/21 <karl.wright@nokia.com>

> 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: connectors-user@incubator.apache.org
> 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 c.a.r.e@gmx.de [mailto:c.a.r.e@gmx.de]
> Sent: Wednesday, July 21, 2010 8:25 AM
> To: connectors-user@incubator.apache.org
> 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: karl.wright@nokia.com
> > An: connectors-user@incubator.apache.org
> > 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
>

Mime
View raw message