Servoy 2019.6 rc Could not upgrade repository

Questions and Answers on installation, deployment, management, locking, tranasactions of Servoy Application Server

Servoy 2019.6 rc Could not upgrade repository

Postby rioba1401913570 » Thu Jun 20, 2019 8:48 pm

After a crash I had to reinstall Servoy developer and server on Mac OSX 10.14.5 using the latest rc Servoy 2019.6. All previous installations had to be erased so I started from scratch but I encountered problems with the stand alone application server (not the one in developer). This is what I did:
a) started the MySQL 8.0.16 server;
a) created an empty db on MySQL 8.0.16 called repository_server;
b) installed the Application Server from Servoy installer;
c) copied mysql-connector-java-8.0.16.jar in the drivers folder;
d) copied the servoy.properties file from the Developer server installation and replaced the one created by the installer in the Application server folder so to have a named connection to Servoy repository;
This is the content of servoy.properties file
Code: Select all
#servoy
#Thu Jun 20 15:07:36 CEST 2019
server.0.maxPreparedStatementsIdle=100
ServerManager.numberOfServers=1
server.0.enabled=true
server.0.userName=root
server.0.prefixTables=false
servoy.objectPoolSize=50000
server.0.queryProcedures=false
server.0.connectionValidationType=0
ApplicationServer.pingDelay=300
server.0.driver=com.mysql.cj.jdbc.Driver
server.0.maxConnectionsIdle=10
server.0.maxConnectionsActive=30
server.0.password=encrypted\:##########################
SocketFactory.useTwoWaySocket=true
server.0.schema=<none>
server.0.skipSysTables=false
java.rmi.server.hostname=127.0.0.1
pdf_forms_plugin_servername=pdf_forms
servoy.FileServerService.defaultFolder=/Users/#########/.servoy/uploads/7782d384-2757-43e9-ae62-c0b22633f066
server.0.catalog=<none>
server.0.URL=jdbc\:mysql\://localhost/repository_server?useTimezone\=true&serverTimezone\=Europe/Rome
server.0.serverName=repository_server
SocketFactory.useSSL=true

e) I then executed
Code: Select all
./servoy_server.sh -upgradeRepository
.
However the repository_server was not upgraded and the log reported these errors
Code: Select all
Creating repository.
Error creating repository: com.servoy.j2db.persistence.RepositoryException: com.servoy.j2db.persistence.RepositoryException: java.sql.SQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
com.servoy.j2db.persistence.RepositoryException: Error creating repository
   at com.servoy.j2db.server.main.ApplicationServer.Zb(ApplicationServer.java:43)
   at com.servoy.j2db.server.main.Zap.Za(Zap.java:34)
   at com.servoy.j2db.server.main.Zap.start(Zap.java:31)
   at com.servoy.j2db.server.main.ApplicationServer.main(ApplicationServer.java:502)
Caused by: com.servoy.j2db.persistence.RepositoryException: com.servoy.j2db.persistence.RepositoryException: java.sql.SQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
   at com.servoy.j2db.server.Za.Zn.createRepositoryTables(Zn.java:672)
   at com.servoy.j2db.server.Za.Zo.Zc(Zo.java:385)
   at com.servoy.j2db.server.Za.Zo.Zb(Zo.java:1683)
   at com.servoy.j2db.server.main.ApplicationServer.Zb(ApplicationServer.java:82)
   ... 3 more
Caused by: com.servoy.j2db.persistence.RepositoryException: java.sql.SQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
   at com.servoy.j2db.server.Za.Zo.Za(Zo.java:730)
   at com.servoy.j2db.server.Za.Zn.recreateServoyColumnInfo(Zn.java:464)
   at com.servoy.j2db.server.Za.Zn.createRepositoryTables(Zn.java:459)
   ... 6 more
Caused by: java.sql.SQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
   at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
   at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
   at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
   at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:782)
   at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:666)
   at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
   at com.servoy.j2db.datasource.Zf.invoke(Zf.java:11)
   at com.sun.proxy.$Proxy19.execute(Unknown Source)
   at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)
   at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)
   at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)
   at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)
   at com.servoy.j2db.server.Za.Zo.Za(Zo.java:1480)
   ... 8 more

Any help greatly appreciated
rioba1401913570
 
Posts: 28
Joined: Wed Jun 04, 2014 10:26 pm

Re: Servoy 2019.6 rc Could not upgrade repository

Postby mboegem » Fri Jun 21, 2019 12:31 am

Hi,

While creating tables, Servoy hits the limits of your mySQL database.
https://dev.mysql.com/doc/refman/8.0/en ... ize-limits

Best would be to open an issue on this so Servoy can investigate what has changed compared to previous versions.
They might have added a new column to some table resulting in this row-size issue.
_____________________
Marc Boegem
Solutiative / JBS Group, Partner
• Servoy Certified Developer
• Servoy Valued Professional
• Freelance SAN Developer

Image
User avatar
mboegem
 
Posts: 1505
Joined: Sun Oct 14, 2007 1:34 pm
Location: Hoofddorp, The Netherlands

Re: Servoy 2019.6 rc Could not upgrade repository

Postby rgansevles » Fri Jun 21, 2019 12:31 pm

Thanks for reporting this.

We will fix this for next 2019.06 build, see https://support.servoy.com/browse/SVY-13869

Rob
Rob Gansevles
Servoy
User avatar
rgansevles
 
Posts: 1894
Joined: Wed Nov 15, 2006 6:17 pm
Location: Amersfoort, NL

Re: Servoy 2019.6 rc Could not upgrade repository

Postby rioba1401913570 » Fri Jun 21, 2019 1:33 pm

Thanks to both. I have done some testing by downgrading MySQL server and jdbc driver from 8 to 5.7 and the problem persisted. So the culprit is undoubtedly Servoy 2019.
rioba1401913570
 
Posts: 28
Joined: Wed Jun 04, 2014 10:26 pm

Re: Servoy 2019.6 rc Could not upgrade repository

Postby rgansevles » Fri Jun 21, 2019 1:41 pm

The problem is that mysql default charset is changed some time ago from utf8 which uses 3 bytes per character to utf8mb4 which uses 4 bytes per character.
One of the repository tables went over the limit with that.
Rob Gansevles
Servoy
User avatar
rgansevles
 
Posts: 1894
Joined: Wed Nov 15, 2006 6:17 pm
Location: Amersfoort, NL

Re: Servoy 2019.6 rc Could not upgrade repository

Postby rgansevles » Fri Jul 05, 2019 9:27 am

This has been fixed for release 2019.06.

Rob
Rob Gansevles
Servoy
User avatar
rgansevles
 
Posts: 1894
Joined: Wed Nov 15, 2006 6:17 pm
Location: Amersfoort, NL

Re: Servoy 2019.6 rc Could not upgrade repository

Postby rioba1401913570 » Fri Jul 05, 2019 9:31 am

Thank you very much, now everything is ok
rioba1401913570
 
Posts: 28
Joined: Wed Jun 04, 2014 10:26 pm


Return to Servoy Server

Who is online

Users browsing this forum: No registered users and 2 guests