Cent OS 5 (64 bit) Service Center Install Failure

Cent OS 5 (64 bit) Service Center Install Failure

  
Trying to install outsystems platform server on my server.... I am using the instructions found in the "Checklist for OutSystems Platform Server Installation" available from the downloads page.

All goes fairly well right up until the very last step when I run the configuration tool and I get to the Serice Center Installation portion.... I get the following list of errors:


[root@198 platform]# ./scinstall.sh

Service Center Installer v9.0.0.2

 

Start installing Service Center v9.0.0.2...

This operation may take a few minutes to complete...

 

Publishing Extension(s)...

Message 1

  [Error] Uploading Error

An error occured while uploading the Extension: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

   at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

   at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)

   at com.mysql.jdbc.Util.getInstance(Util.java:383)

   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)

   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)

   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158)

   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)

   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)

   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2840)

   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2082)

   at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1302)

   at com.mysql.jdbc.CallableStatement.execute(CallableStatement.java:921)

   at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)

   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)

   at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:242)

   at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)

   at oracle.ucp.jdbc.proxy.CallableStatementProxyFactory.invoke(CallableStatementProxyFactory.java:101)

   at com.sun.proxy.$Proxy7.execute(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeStatement(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeQuery(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeScalar(Unknown Source)

   at outsystems.hubedition.extensibility.data.executionservice.BaseExecutionService.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.DBRuntimePlatformMySQL.executeNonQueryGetIdentity(Unknown Source)

   at outsystems.hubedition.servercommon.database.DBCommon.createExtensionVersion(Unknown Source)

   at outsystems.hubedition.deploymentcontroller.extensions.XIFPublisher.uploadExtension(Unknown Source)

   at outsystems.hubedition.deploymentcontroller.Compiler.uploadExtension(Unknown Source)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)

   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)

   at sun.rmi.transport.Transport$1.run(Transport.java:159)

   at java.security.AccessController.doPrivileged(Native Method)

   at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

   at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

   at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

   at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

   at java.lang.Thread.run(Thread.java:662)

 

Publishing Extension 'IntegrationStudio'...

Reading ServiceCenter.oml oml file information...

Adding ServiceCenter eSpace to database...

Message 2

  [Error] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

   at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

   at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)

   at com.mysql.jdbc.Util.getInstance(Util.java:383)

   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)

   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)

   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158)

   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)

   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)

   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2840)

   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2082)

   at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1302)

   at com.mysql.jdbc.CallableStatement.execute(CallableStatement.java:921)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)

   at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:242)

   at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)

   at oracle.ucp.jdbc.proxy.CallableStatementProxyFactory.invoke(CallableStatementProxyFactory.java:101)

   at com.sun.proxy.$Proxy7.execute(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeStatement(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeQuery(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeScalar(Unknown Source)

   at outsystems.hubedition.extensibility.data.executionservice.BaseExecutionService.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.DBRuntimePlatformMySQL.executeNonQueryGetIdentity(Unknown Source)

   at outsystems.hubedition.servercommon.database.DBCommon.createEspaceVersion(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$bdc(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$aqb(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$ztb(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$gnb(Unknown Source)

   at outsystems.hubedition.scinstaller.JavaServiceCenterInstaller.mainAux(Unknown Source)

   at outsystems.hubedition.scinstaller.JavaServiceCenterInstaller.main(Unknown Source)

   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

   at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

   at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)

   at com.mysql.jdbc.Util.getInstance(Util.java:383)

   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)

   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)

   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158)

   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)

   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)

   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2840)

   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2082)

   at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1302)

   at com.mysql.jdbc.CallableStatement.execute(CallableStatement.java:921)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)

   at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:242)

   at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)

   at oracle.ucp.jdbc.proxy.CallableStatementProxyFactory.invoke(CallableStatementProxyFactory.java:101)

   at com.sun.proxy.$Proxy7.execute(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeStatement(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeQuery(Unknown Source)

   at outsystems.hubedition.databaseabstractionlayer.adoadapters.ADOCommand.executeScalar(Unknown Source)

   at outsystems.hubedition.extensibility.data.executionservice.BaseExecutionService.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.db.Command.executeScalar(Unknown Source)

   at outsystems.hubedition.runtimeplatform.DBRuntimePlatformMySQL.executeNonQueryGetIdentity(Unknown Source)

   at outsystems.hubedition.servercommon.database.DBCommon.createEspaceVersion(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$bdc(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$aqb(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$ztb(Unknown Source)

   at outsystems.hubedition.scinstaller.IIIiiiiiIIIII.$gnb(Unknown Source)

   at outsystems.hubedition.scinstaller.JavaServiceCenterInstaller.mainAux(Unknown Source)

   at outsystems.hubedition.scinstaller.JavaServiceCenterInstaller.main(Unknown Source)


Anybody have any ideas?

Thanks in advance,
Zach

Hi Zach,

What is the version of MySql that you are using?
Also did you follow all the checklist instructions on configuring the database server?

From the checklist:

MySQL Database:
  • Ensure you use MySQL 5.6.5+
  • Make sure sql mode is set to "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  • Make sure default-storage-engine is set to INNODB
  • Make sure lower_case_table_names is set to 1
  • Make sure max_allowed_packet is set to 300M
  • Make sure log_bin_trust_function_creators is set to 1

Regards,
João Rosado
João,

Thanks for the quick response.

I was sure to follow the checklist on the database portion fairly thoroughly.
I updated the /etc/my.cnf file to make sure the settings that you mentioned were set and then restarted the mysqld service

But, just to double check... I pulled this info from doing a 'show variables' query in mysql:
  • version - 5.6.21
  • sql mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • default storage engine = InnoDB
  • lower_case_table_names = 1
  • max_allowed_packet = 314572800
  • log_bin_trust_function_creators = ON

I also ran the following db scripts (before running the OutSystems Configuration Tool).
  • runtime_mysql_creation.sql
  • session_mysql_creation.sql
  • runtimemodel_mysql.sql
  • sessionmodel_mysql.sql
(It should be noted that this was done the third time I tried installing the outsystems platform (each time starting from a clean install of CentOS5), the first two times I did not run these SQL scripts because the checklist does not have these items when you select MySQL as the database, I found these scripts from digging around a bit and then I found that if I select a different database in the checklist I get steps to run similar scripts before running the outsystems Config Tool)

But even though all of this was done before running the config tool, I still got the errors shown in the original post.

I'm not sure what the installer is trying to do at the point that it is failing, but I think it has something to do with the specific error:
 
An error occured while uploading the Extension: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large (> 8126)

I found some of the following resources on this problem:
Link 1
Link 2
Link 3

I have tried working through some of their solutions such as setting the innodb_file_format to barracuda, but this has not worked either.

Thanks again in advance for all your help,
Zach Lankton
Hi again,

Sorry that was not much help so far.
Can you also check the innodb_file_per_table setting? It should be set to ON.

If this doesn't help, I suggest you to contact OutSystems Support in order to help throubleshooting.

Regards,
João Rosado
João,

I checked and yes the innodb_file_per_table setting is on.

I will try to get in touch with OutSystems Support and report back here what they come up with, in the meantime anybody else who has any suggestions would be greatly appreciated.

Thanks Again,
Zach Lankton
Hi Zack,

Sorry for the late reply on this. There was a change on MySQL on 5.6.20 that makes us require an extra parameter : innodb_log_file_size=480M

The updated checklist item looks like this:

MySQL Database:
  • Ensure you use MySQL 5.6.5+
  • Make sure sql mode is set to "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  • Make sure innodb_file_per_table is set to 1
  • Make sure default-storage-engine is set to INNODB
  • Make sure lower_case_table_names is set to 1
  • Make sure max_allowed_packet is set to at least 300M
  • Make sure log_bin_trust_function_creators is set to 1
  • Make sure innodb_log_file_size is set to at least 480M
This can be done by editing the MySQL configuration file:
  • /usr/my.cnf

The file should look like this:
		[mysqld]
		sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
		lower_case_table_names=1
		max_allowed_packet=300M
		default-storage-engine=INNODB
		log_bin_trust_function_creators=1
		innodb_log_file_size=480M
		innodb_file_per_table=1
		
If you have extra configuration make sure there are no duplicate settings.

Hope it solves your issue. If you need further assistance please let me know.

Best Regards
David

Thanks a ton David. I was also facing exactly the same issue.

It got resolved by adding the two extra parameters that you mentioned. 

innodb_log_file_size=480M
innodb_file_per_table=1