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.
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 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? /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]