mirrored databases.. different OS and mysql versions
successful update from 2.1.2 -> 2.2.0 using mysql 5.0.18-standard on MacOSX
[86%] --Updating schema version: 25 -> 27...
[87%] --Updating schema version: 27 -> 28...
[87%] --Updating schema version: 28 -> 29...
[90%] Database updated successfully.
[95%] Installing web application...
[100%] Web application installed successfully.
arrghh.. failed update from 2.1.2 -> 2.2.0 using mysql 5.0.27-standard
on RHEL4
[0%] Building database..........
[30%] Database built successfully.
[35%] Initialising database...
[36%] --Creating quota types...
[37%] --Creating quota...
[39%] --Creating roles...
[40%] --Creating users...
[42%] --Creating groups...
[43%] --Creating keys...
[44%] --Creating protocol types...
[46%] --Creating hardware types...
[47%] --Creating hardware...
[49%] --Creating software types...
[50%] --Creating software...
[51%] --Creating directories...
[53%] --Creating file types...
[54%] --Creating MIME types...
[56%] --Creating plate geometries...
[57%] --Creating plate mappings...
[58%] --Creating labels...
[60%] --Creating annotation types...
[61%] --Creating clients...
[63%] --Creating news...
[64%] --Creating plugin definitions...
[67%] --Creating formulas...
[68%] --Creating job agents...
[70%] Database initialised successfully.
[75%] Updating database...
[83%] --Updating schema version: 20 -> 23...
[85%] --Updating schema version: 23 -> 24...
[85%] --NOTE! The "FileValues" table is no longer used by BASE. It may
be removed from the database.
[85%] --Updating schema version: 24 -> 25...
[86%] --Updating schema version: 25 -> 27...
[87%] --Updating schema version: 27 -> 28...
[87%] --Updating schema version: 28 -> 29...17:05:23,535 ERROR
Update:1150 - updateToSchemaVersion29: FAILED
net.sf.basedb.core.BaseException: Object with id: 2 was not of the
specified subclass: net.sf.basedb.core.data.MeasuredBioMaterialData
(Discriminator: 1914725632)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1355)
at
net.sf.basedb.core.Update.updateToSchemaVersion29(Update.java:1105)
at net.sf.basedb.core.Update.updateDatabase(Update.java:504)
at net.sf.basedb.install.InitDB.main(InitDB.java:69)
Caused by: org.hibernate.WrongClassException: Object with id: 2 was not
of the specified subclass:
net.sf.basedb.core.data.MeasuredBioMaterialData (Discriminator: 1914725632)
at org.hibernate.loader.Loader.getInstanceClass(Loader.java:1444)
at
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1275)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2211)
at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
at org.hibernate.loader.Loader.list(Loader.java:2090)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1351)
... 3 more
[90%] Database update failed: Object with id: 2 was not of the
specified subclass: net.sf.basedb.core.data.MeasuredBioMaterialData
(Discriminator: 1914725632)
net.sf.basedb.core.BaseException: Object with id: 2 was not of the
specified subclass: net.sf.basedb.core.data.MeasuredBioMaterialData
(Discriminator: 1914725632)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1355)
at
net.sf.basedb.core.Update.updateToSchemaVersion29(Update.java:1105)
at net.sf.basedb.core.Update.updateDatabase(Update.java:504)
at net.sf.basedb.install.InitDB.main(InitDB.java:69)
Caused by: org.hibernate.WrongClassException: Object with id: 2 was not
of the specified subclass:
net.sf.basedb.core.data.MeasuredBioMaterialData (Discriminator: 1914725632)
at org.hibernate.loader.Loader.getInstanceClass(Loader.java:1444)
at
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1275)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2211)
at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
at org.hibernate.loader.Loader.list(Loader.java:2090)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1351)
... 3 more
-keith
Jari Häkkinen wrote:
I have successfully upgraded from 2.1.2 to 2.2. This is of course not
exactly the same upgrade as Chris.
Jari
Nicklas Nordborg wrote:
Chris Wiita wrote:
I attempted a update to Base2.2 from a 2.1.1 installation. Executing
updatedb.sh worked until the "Updating database" step:
I really don't know why this is happening. The error message says
something about "Discriminator: 0" but we never use a 0, only the values
1, 2, 3 and 4, which have the following meaning:
1 = Biosource
2 = Sample
3 = Extract
4 = Labeled extract
Can you check the "BioMaterials" table and check if any row have a value
in the "discriminator" column that is not in the 1-4 range?
If there are such values they must be changed to one of the above. Then
we have to ask the question how they got there in the first place.
If there are only 1-4 the error message complaining about
"Discriminator: 0" is a bit confusing and is something that we need to
investigate further to see if we can reproduce the error.
Another option is to manually change the schema version to 29, but then
you will not get the changes between 28 and 29. Luckily, this change
doesn't involve any changes to the database. It only recalculates the
remaining quantity of all biomaterials since a bug may have caused them
to be incorrect. See ticket #466: http://base.thep.lu.se/ticket/466
I don't think it was a good idea to run the update script from an
earlier version. I really don't know if that might have messed things up
more or not. I'll add a ticket to make sure that the update script
checks the schema version and doesn't execute if it is too high. In any
case it is good that the main program does the check and refuses to
start since it can lead to incorrect data beeing inserted into the
database.
It is not possible to revert back to an earlier version. You can only do
this if you have made a backup of the database.
/Nicklas
----------
[75%] Updating database...
[87%] --Updating schema version: 28 -> 29...12:06:13,579 ERROR
Update:1150 - updateToSchemaVersion29: FAILED
net.sf.basedb.core.BaseException: Object with id: 1 was not of the
specified subclass: net.sf.basedb.core.data.MeasuredBioMaterialData
(Discriminator: 0)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1355)
at
net.sf.basedb.core.Update.updateToSchemaVersion29(Update.java:1105)
at net.sf.basedb.core.Update.updateDatabase(Update.java:504)
at net.sf.basedb.install.InitDB.main(InitDB.java:69)
Caused by: org.hibernate.WrongClassException: Object with id: 1 was not
of the specified subclass:
net.sf.basedb.core.data.MeasuredBioMaterialData (Discriminator: 0)
at org.hibernate.loader.Loader.getInstanceClass(Loader.java:1444)
at
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1275)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2211)
at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
at org.hibernate.loader.Loader.list(Loader.java:2090)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1351)
... 3 more
[90%] Database update failed: Object with id: 1 was not of the
specified subclass: net.sf.basedb.core.data.MeasuredBioMaterialData
(Discriminator: 0)
net.sf.basedb.core.BaseException: Object with id: 1 was not of the
specified subclass: net.sf.basedb.core.data.MeasuredBioMaterialData
(Discriminator: 0)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1355)
at
net.sf.basedb.core.Update.updateToSchemaVersion29(Update.java:1105)
at net.sf.basedb.core.Update.updateDatabase(Update.java:504)
at net.sf.basedb.install.InitDB.main(InitDB.java:69)
Caused by: org.hibernate.WrongClassException: Object with id: 1 was not
of the specified subclass:
net.sf.basedb.core.data.MeasuredBioMaterialData (Discriminator: 0)
at org.hibernate.loader.Loader.getInstanceClass(Loader.java:1444)
at
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1275)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2211)
at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
at org.hibernate.loader.Loader.list(Loader.java:2090)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at
net.sf.basedb.core.HibernateUtil.loadList(HibernateUtil.java:1351)
... 3 more
----------
First, what could this be? I'm running a mysql database, the
base.config is set up properly, and no BASE files have ever been
modified--it's a very vanilla installation. It seemed like a minor
error, so I just switched back to my old 2.1.1 installation (switching
folders, ensuring the www link in my tomcat webapp directory was
correct). I ran updatedb.sh on that install (perhaps mistakenly), and
got a error from it, as follows.
----------
[75%] Updating database...
[90%] Database updated successfully.
[95%] Installing web application...12:15:20,332 ERROR Application:401
- Schema version mismatch: database schema version=28; expected=20;
Please update the BASE code before starting.
net.sf.basedb.core.BaseException: Schema version mismatch: database
schema version=28; expected=20; Please update the BASE code before starting.
at net.sf.basedb.core.Application.start(Application.java:402)
at net.sf.basedb.core.Application.start(Application.java:317)
at net.sf.basedb.install.Webclient.install(Webclient.java:92)
at net.sf.basedb.install.InitDB.main(InitDB.java:72)
----------
If it's reporting a successful database update, I would think the schema
version would have to be consistent, so the mismatch at the last step
doesn't make sense. Ignoring the error and attempting to load the BASE
interface returns the following 500 server error:
----------
type Exception report
message
description The server encountered an internal error () that prevented
it from fulfilling this request.
exception
net.sf.basedb.core.BaseException: Schema version mismatch: database
schema version=28; expected=20; Please update the BASE code before starting.
net.sf.basedb.core.Application.start(Application.java:402)
net.sf.basedb.core.Application.start(Application.java:301)
net.sf.basedb.core.Application.getSessionControl(Application.java:736)
net.sf.basedb.clients.web.Base.getSessionControl(Base.java:111)
org.apache.jsp.index_jsp._jspService(index_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
net.sf.basedb.clients.web.servlet.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:71)
----------
So 2.2's update script will update the version 28 to 29 (by the looks of
it) except it isn't working on my install--did it update the schema
earlier in the script (to 28), so that the database is no longer
compatible with the 2.1.1 version (which appears to want version 20)?
If the 2.2 update isn't an obvious fix, is there a way to revert to the
2.1 schema? Thanks.
--Chris Wiita
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]
--
Keith Ching, Ph.D.
Bioinformatics, Laboratory of Gene Regulation
Ludwig Institute for Cancer Research
9500 Gilman Drive, #0653
CMM East, Room 3020
La Jolla, CA 92093-0653
[EMAIL PROTECTED]
858-822-5767
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]