Hi Nicklas,

Nicklas Nordborg writes:
 > I think the 'table exists' problem can happen in rare cases if two jobs 
 > are executed at the same time, the time window between checking if a 
 > table exists and creating it if it doesn't is small but not zero. This 
 > means that two different jobs may not see the table and both will try to 
 > create it... The last one will fail. I guess it is possible to make the 
 > code more robust in this case, but figured it would maybe not happen 
 > very often (if at all) since the tables are usually created at the same 
 > time as the first root bioassay set in an experiment is created. In any 
 > case, you don't need to worry about database being corrupted.

thanks for the explanation/reassurance (and also for the reply to
the other mail)

 > The duplication is a bit more surprising. Are the bioassay sets created 
 > by the same or different jobs? You can check the jobs table (View -> 
 > Jobs) if you can't find it out from the experiment analysis page. The 

well I stupidly deleted them and emptied the trash, so can't check again,
sorry!

but... I just made a filtered bioassayset (raw('flags') == 0) and get this
duplication again!  (no errors reported).

so to answer your question above about the jobs: 

View->Jobs says that one JEP Filter Plugin job was completed at 12:07:32

And the two duplicate bioassaysets have exactly the same timestamp.


 > one thing that comes to my mind and that could explain both the 'table 
 > exists' error and the duplication issue is that each job is for some 
 > reason executed twice (and at the same time). It shouldn't happen, but I 
 > remember that we had some problems when running test programs and still 
 > having the web server's job queue active. Every now and then the web 
 > server would start executing a job that was also started by our test 
 > program. Some times the one executing on the web server would fail and 
 > some times the test program. So, do you have any job agents installed, 
 > or multiple web applications, or anything else that is executing jobs 
 > from the job queue?

yes we do have some prototype web apps run from separate tomcats which use
instances of the BASE application.  I have killed them and did another
filtering and got only one result - no more duplication!

On starting one tomcat and BASE-related webapp again I still don't get
duplication.

I'll post back here again if we see duplication again and can recreate the
conditions.  In the meantime, all seems OK again.

cheers,
Bob.

 > 
 > /Nicklas
 > 
 > 
 > Bob MacCallum wrote:
 > > Dear BASE team,
 > > 
 > > I just got the following error while creating a root bioassayset for a 
 > > small
 > > test experiment.  My hunch is that it's something bad like a corrupted 
 > > db...
 > > 
 > > I plan to get 2.5 installed ASAP, but was hoping to do a demo with 2.4.5 to
 > > my colleagues later this week. 
 > > 
 > > Well I am in luck, I just repeated exactly the same thing and it worked 
 > > fine.
 > > 
 > > But the odd thing is that I now see that there are three identical-looking
 > > bioassaysets in the experiment, even though I only ran the Formula 
 > > intensity
 > > calculator plugin twice.  From the "Date" column it is the latter analysis
 > > which got duplicated (and the original one seems to work ok).  I am not
 > > usually a double-clicker, but that might be one explanation.
 > > 
 > > Strange indeed.
 > > 
 > > Here's the stack trace in any case.
 > > 
 > > cheers,
 > > Bob.
 > > 
 > > net.sf.basedb.core.BaseException: Table 'D13Pos' already exists
 > > at 
 > > net.sf.basedb.core.HibernateUtil.createVirtualTable(HibernateUtil.java:605)
 > > at net.sf.basedb.core.VirtualDb.createTables(VirtualDb.java:290)
 > > at 
 > > net.sf.basedb.core.PositionBatcher.buildInsertSelectSql(PositionBatcher.java:303)
 > > at net.sf.basedb.core.PositionBatcher.insert(PositionBatcher.java:246)
 > > at 
 > > net.sf.basedb.util.IntensityCalculatorUtil.createRootBioAssaySet(IntensityCalculatorUtil.java:204)
 > > at 
 > > net.sf.basedb.plugins.IntensityCalculatorPlugin.run(IntensityCalculatorPlugin.java:249)
 > > at 
 > > net.sf.basedb.core.PluginExecutionRequest.invoke(PluginExecutionRequest.java:89)
 > > at 
 > > net.sf.basedb.core.InternalJobQueue$JobRunner.run(InternalJobQueue.java:421)
 > > at java.lang.Thread.run(Thread.java:619)
 > > Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
 > > 'D13Pos' already exists
 > > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
 > > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2934)
 > > at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616)
 > > at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708)
 > > at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
 > > at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1350)
 > > at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1266)
 > > at 
 > > com.mchange.v2.c3p0.impl.NewProxyStatement.executeUpdate(NewProxyStatement.java:64)
 > > at 
 > > net.sf.basedb.core.HibernateUtil.createVirtualTable(HibernateUtil.java:581)
 > > ... 8 more
 > > 
 > > 
 > > 
 > > 
 > > Version    BASE 2.4.6pre (build #3938; schema #40)
 > > Web server         Apache Tomcat/5.5.20
 > > Database Server    MySQL 5.0.21-max-log
 > > Database Dialect   org.hibernate.dialect.MySQLInnoDBDialect
 > > JDBC Driver        com.mysql.jdbc.Driver (version 5.0)
 > > Java runtime       Java(TM) SE Runtime Environment (1.6.0-b105), Sun 
 > > Microsystems Inc.
 > > Operating system   Linux amd64 2.6.16.53-0.16-smp
 > > Memory     Total: 474.6 MB
 > > Free: 238.2 MB
 > > Max: 910.3 MB
 > > 
 > 
 > 
 > -------------------------------------------------------------------------
 > Check out the new SourceForge.net Marketplace.
 > It's the best place to buy or sell services for
 > just about anything Open Source.
 > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
 > _______________________________________________
 > The BASE general discussion mailing list
 > basedb-users@lists.sourceforge.net
 > unsubscribe: send a mail with subject "unsubscribe" to
 > [EMAIL PROTECTED]

-- 
Bob MacCallum | VectorBase Developer | Kafatos/Christophides Groups |
Division of Cell and Molecular Biology | Imperial College London |
Phone +442075941945 | Email [EMAIL PROTECTED]

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]

Reply via email to