Opened 14 years ago

Closed 14 years ago

#718 closed defect (fixed)

BioAssaySet tries to calculate number of spots and reporter on non-existing table

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: minor Milestone: BASE 2.4
Component: core Version:
Keywords: Cc:

Description

Stop with the following stack trace:

net.sf.basedb.core.BaseException: Table 'base2dynamic.D2Spot' doesn't 
exist
  at net.sf.basedb.core.AbstractSqlQuery.iterate(AbstractSqlQuery.java:193)
  at 
net.sf.basedb.core.BioAssaySet.countSpotsAndReporters(BioAssaySet.java:1096)
  at net.sf.basedb.core.BioAssaySet.onBeforeCommit(BioAssaySet.java:315)
  at net.sf.basedb.core.DbControl.commit(DbControl.java:365)
  at 
se.lu.thep.affymetrix.AbstractExternalBinaryPlugin.run(AbstractExternalBinaryPlugin.java:264)
  at 
net.sf.basedb.core.PluginExecutionRequest.invoke(PluginExecutionRequest.java:88)
  at 
net.sf.basedb.core.InternalJobQueue$JobRunner.run(InternalJobQueue.java:420)
  at java.lang.Thread.run(Unknown Source)

The BioAssaySet?.countSpotsAndReporters should check if the table exists before doing the count. I think the countBioAssaySpots will need to do the same. The result coult probably be cached.

It would be a good idea to first create a test program to reproduce the error.

Change History (2)

comment:1 Changed 14 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 Changed 14 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed

(In [3647]) Fixes #718: BioAssaySet? tries to calculate number of spots and reporter on non-existing table

Note: See TracTickets for help on using tickets.