Upgrade to 5.1 failed

Post any questions regarding Installing or Upgrading Ebase, including problems starting up the Ebase Xi Server or Designer

Moderators: Jon, Steve, Ian, Dave

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

Upgrade to 5.1 failed

#1

Postby Segi » Wed Apr 20, 2016 7:59 pm

I followed the procedure for upgrading an ran into an error after starting the server for the first time after setting upgrade=true.


The error that I received is:

Code: Select all

Wed Apr 20 12:42:21:  ************************************************************
Wed Apr 20 12:42:21:  ***  Starting Ebase Xi Server version 5.1.0, Build 20160331
Wed Apr 20 12:42:21:  ************************************************************
Wed Apr 20 12:42:22: ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wed Apr 20 12:42:22: ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wed Apr 20 12:42:22: ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wed Apr 20 12:42:22: ERROR Repository database is not same level as server software: - 
Wed Apr 20 12:42:22: ERROR   - Database: version 5.0.1, build 20151118
Wed Apr 20 12:42:22: ERROR   - Software: version 5.1.0, build 20160331
Wed Apr 20 12:42:22: ERROR Correct the above problem then restart the server
Wed Apr 20 12:42:22: ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wed Apr 20 12:42:22: ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wed Apr 20 12:42:22: ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wed Apr 20 12:42:24: WARN Warning loading form containing the NAME test. Entity /Form/test (Project test) is a duplicate with the entity /Forms/TEST (Project DELETED_STUFF)
Wed Apr 20 12:42:27:  
Wed Apr 20 12:42:27:     !!!Upgrade requested!!!
Wed Apr 20 12:42:27:     !!!Upgrade requested!!!
Wed Apr 20 12:42:27:     !!!Upgrade requested!!!
Wed Apr 20 12:42:27:  
Wed Apr 20 12:42:27:  *** UPGRADE DATABASE TO EBASE VERSION 5.1.0 STARTED ***
Wed Apr 20 12:42:27:  *** UPGRADE DATABASE TO EBASE VERSION 5.1.0 COMPLETED ***
Wed Apr 20 12:42:27:  *** UPGRADE TO EBASE VERSION 5.1.0 STARTED ***
Wed Apr 20 12:42:27:  Error updating upgrade_data - An SQL data change is not permitted for a read-only connection, user or database.
Wed Apr 20 12:42:27:  *** UPGRADE ABORTED ***
Wed Apr 20 12:42:27:  *** UPGRADE ABORTED ***
Wed Apr 20 12:42:27:  *** UPGRADE ABORTED ***
Wed Apr 20 12:42:27:  Ebase Xi Designer server component initialised successfully
Wed Apr 20 12:42:27:  Workflow servlet component initialised successfully
Wed Apr 20 12:42:27:  FormCacheLoader: start
Wed Apr 20 12:42:27:  FormCacheLoader: end
Wed Apr 20 12:42:27:  ******************************************************************
Wed Apr 20 12:42:27:  ***  Ebase Xi Server V5.1.0 successfully initialized in 5 seconds
Wed Apr 20 12:42:27:  ***  Using workspace C:\ebaseXi5\Workspace
Wed Apr 20 12:42:27:  ******************************************************************
I tried to see what would happen after commenting out upgrade=true and starting the server and ran into 2 errors.

I have this code in a shared script and has worked perfectly up until I tried to upgrade to 5.1:

Code: Select all

Date.prototype.yyyymmdd = function() {
     var yyyy = this.getFullYear().toString();
     var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
     var dd  = this.getDate().toString();
     
     return yyyy + (mm[1]?mm:"0"+mm[0]) + (dd[1]?dd:"0"+dd[0]); // padding
};
5.1 complained about overriding the date object (I will paste the exact error when I can duplicate the problem which I cannot seem to do now).

I commented out that code and my server wont run because of the error java.sql.SQLException: An SQL data change is not permitted for a read-only connection, user or database.

Code: Select all

Wed Apr 20 12:40:40: ERROR Unexpected exception initialising form
com.ebasetech.xi.exceptions.FormRuntimeException: java.sql.SQLException: An SQL data change is not permitted for a read-only connection, user or database.
	at com.ebasetech.ufs.kernel.workspace.ServerRuntimePersist.writeZipToDB(ServerRuntimePersist.java:421)
	at com.ebasetech.ufs.kernel.workspace.ServerRuntimePersist.save(ServerRuntimePersist.java:254)
	at com.ebasetech.ufs.runtime.rtLoaders.DBRuntimeLoader.persist(DBRuntimeLoader.java:174)
	at com.ebasetech.ufs.kernel.workspace.ServerRuntimeLoader.persistRuntime(ServerRuntimeLoader.java:354)
	at com.ebasetech.ufs.runtime.rtLoaders.ServerCachingRuntimeLoader.storeRuntime(ServerCachingRuntimeLoader.java:118)
	at com.ebasetech.ufs.runtime.rtLoaders.ServerCachingRuntimeLoader.storeRuntime(ServerCachingRuntimeLoader.java:111)
	at com.ebasetech.ufs.runtime.rtLoaders.CachingRuntimeLoader.getRuntime(CachingRuntimeLoader.java:109)
	at com.ebasetech.ufs.kernel.workspace.ServerRuntimeLoader.getRuntime(ServerRuntimeLoader.java:126)
	at com.ebasetech.ufs.runtime.FormEngine.getRuntimeHeadless(FormEngine.java:447)
	at com.ebasetech.ufs.runtime.FormEngine.getRuntimeHeadless(FormEngine.java:439)
	at com.ebasetech.ufs.runtime.FormEngine.getRuntimeHeadless(FormEngine.java:426)
	at com.ebasetech.ufs.runtime.HeadlessUserState.hookupRuntime(HeadlessUserState.java:509)
	at com.ebasetech.ufs.runtime.FormEngineSession.setCurrentUserState(FormEngineSession.java:114)
	at com.ebasetech.ufs.runtime.FormEngineSession.changeCurrentUserState(FormEngineSession.java:102)
	at com.ebasetech.ufs.runtime.UserState.setInFormSession(UserState.java:186)
	at com.ebasetech.ufs.runtime.UserState.setUserForm(UserState.java:145)
	at com.ebasetech.ufs.runtime.UserState.setUserForm(UserState.java:119)
	at formservlets.FormProcessingUtil.initialiseForm(FormProcessingUtil.java:406)
	at formservlets.FormProcessor.initialiseForm(FormProcessor.java:116)
	at formservlets.FormProcessor.prepareForm(FormProcessor.java:102)
	at formservlets.FormProcessor.runForm(FormProcessor.java:45)
	at formservlets.FormClient.process(FormClient.java:116)
	at formservlets.FormClient.doGet(FormClient.java:48)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at formservlets.EbaseFilter.processHtmlRequest(EbaseFilter.java:355)
	at formservlets.EbaseFilter.processRequest(EbaseFilter.java:258)
	at formservlets.EbaseFilter.performFilter(EbaseFilter.java:180)
	at formservlets.EbaseFilter.doFilter(EbaseFilter.java:100)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
0 x

Jon
Moderator
Moderator
Posts: 1342
Joined: Wed Sep 12, 2007 12:49 pm

#2

Postby Jon » Thu Apr 21, 2016 8:45 am

Segi,

Two problems here:

1. Your Derby repository database seems to be read only - the system won't work in this state. I've no idea why this might have happened - it's not coming from the Ebase code. I found a previous log with this problem which suggested following these steps to resolve the problem:

a. Stop the server
b. Change all file/folder permissions to full read/write
c. Change the UfsServer/DB/UFS/db.lck file ownership to the 'ebase' user
d. Start the server

The update of the upgrade_data table is the last thing that happens in an upgrade so the process has pretty much finished. Once you've fixed the database, I think you should be able to just restart with upgrade=true to complete the process.

2. There is a problem with V5.1 that prototypes of Javascript native objects can't be modified. This problem has been introduced by some changes we have made to improve performance of script execution. There will be a V5.1.1 release shortly to fix this specific issue. There is no bypass for this other than not modifying a prototype - looking at your code you could use services.date.formatDate() instead.

Regards
Jon
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#3

Postby Segi » Thu Apr 21, 2016 7:16 pm

I will check why the Derby repo is read only. This is our production server. Wouldn't the file system for the repo being in read only prevent the server from even starting correctly under normal circumstance on 5.0.1 which is what we are on now ?

When 5.1.1 is released, will the Date object be mutable again ? Do you guys know more or less when you will release the 5.1.1 ?
0 x

Jon
Moderator
Moderator
Posts: 1342
Joined: Wed Sep 12, 2007 12:49 pm

#4

Postby Jon » Fri Apr 22, 2016 8:55 am

Wouldn't the file system for the repo being in read only prevent the server from even starting correctly under normal circumstance on 5.0.1 which is what we are on now ?
Yes it would. It looks like it changed somehow during the upgrade, but the upgrade procedure itself doesn't do this. Was it copied?
When 5.1.1 is released, will the Date object be mutable again ?
Yes.
Do you guys know more or less when you will release the 5.1.1 ?
ASAP, in the next few days.
0 x


Who is online

Users browsing this forum: No registered users and 7 guests