Support? Data corruption around the time that Mendix.com was unreachable.

0
Hi, I am evaluating Mendix for my company and just had something happen that really worries me.  The Mendix.com site was unreachable and at the same time the application database became corrupted. (Mendix.com was unreachable – no dns – for about an hour in Northern California).  This is clearly troubling if my company is thinking of moving mission critical infrastructure to Mendix. I have included the error messages and the stack trace below. Clearly something is wrong with the database. I guess this is a good test of support and seeing if my project can be recovered or has to be rebuilt from scratch. I am running 8.11.0       An error occurred while executing action 'Execute DDL commands'. -------- com.mendix.m2ee.api.AdminException: Executing DDL commands failed.     at com.mendix.basis.component.internal.LocalComponentImpl.executeDDLCommands(LocalComponentImpl.scala:119) Caused by: com.mendix.basis.connectionbus.ConnectionBusException: Error (SQL State: 42501, Error Code: -5501) on executing: ALTER TABLE "dataadmin$user" DROP CONSTRAINT "uniq_dataadmin$user_userid" All changes are rolled back.     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.handleCommandExecutionException(DdlCommandExecutor.scala:158) Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: uniq_dataadmin$user_userid     at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)     at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)     at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)     at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)     at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)     at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$executeCommandWithConnection$2(DdlCommandExecutor.scala:106)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$executeCommandWithConnection$2$adapted(DdlCommandExecutor.scala:105)     at com.mendix.connectionbus.util.Using$.using(Using.scala:6)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.executeCommandWithConnection(DdlCommandExecutor.scala:105)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$execute$4(DdlCommandExecutor.scala:49)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$execute$4$adapted(DdlCommandExecutor.scala:27)     at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:877)     at scala.collection.immutable.List.foreach(List.scala:392)     at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:876)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.execute(DdlCommandExecutor.scala:27)     at com.mendix.connectionbus.modelsynchronization.SynchronizationManager.synchronizeModel(SynchronizationManager.scala:207)     at com.mendix.connectionbus.modelsynchronization.SynchronizationManager.execute(SynchronizationManager.scala:142)     at com.mendix.connectionbus.ConnectionBusImpl.executeDDLCommands(ConnectionBusImpl.java:454)     at com.mendix.basis.component.internal.LocalComponentImpl.executeDDLCommands(LocalComponentImpl.scala:111)     at com.mendix.basis.impl.MxRuntimeImplBase.executeDDLCommands(MxRuntimeImplBase.java:1039)     at com.mendix.basis.action.admin.ExecuteDDLCommandsAction.call(ExecuteDDLCommandsAction.java:31)     at com.mendix.basis.action.admin.RuntimeAdminAction.execute(RuntimeAdminAction.java:24)     at com.mendix.m2ee.appcontainer.server.handler.HttpAdminHandler.handle(HttpAdminHandler.java:129)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)     at org.eclipse.jetty.server.Server.handle(Server.java:500)     at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)     at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)     at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)     at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)     at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: uniq_dataadmin$user_userid     at org.hsqldb.error.Error.error(Unknown Source)     at org.hsqldb.error.Error.error(Unknown Source)     at org.hsqldb.SchemaManager.getSchemaObject(Unknown Source)     at org.hsqldb.ParserDQL.readSchemaObjectName(Unknown Source)     at org.hsqldb.ParserDDL.compileAlterTableDropConstraint(Unknown Source)     at org.hsqldb.ParserDDL.compileAlterTable(Unknown Source)     at org.hsqldb.ParserDDL.compileAlter(Unknown Source)     at org.hsqldb.ParserCommand.compilePart(Unknown Source)     at org.hsqldb.ParserCommand.compileStatements(Unknown Source)     at org.hsqldb.Session.executeDirectStatement(Unknown Source)     at org.hsqldb.Session.execute(Unknown Source)     at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)     at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)     at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)     at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$executeCommandWithConnection$2(DdlCommandExecutor.scala:106)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$executeCommandWithConnection$2$adapted(DdlCommandExecutor.scala:105)     at com.mendix.connectionbus.util.Using$.using(Using.scala:6)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.executeCommandWithConnection(DdlCommandExecutor.scala:105)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$execute$4(DdlCommandExecutor.scala:49)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.$anonfun$execute$4$adapted(DdlCommandExecutor.scala:27)     at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:877)     at scala.collection.immutable.List.foreach(List.scala:392)     at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:876)     at com.mendix.connectionbus.modelsynchronization.DdlCommandExecutor.execute(DdlCommandExecutor.scala:27)     at com.mendix.connectionbus.modelsynchronization.SynchronizationManager.synchronizeModel(SynchronizationManager.scala:207)     at com.mendix.connectionbus.modelsynchronization.SynchronizationManager.execute(SynchronizationManager.scala:142)     at com.mendix.connectionbus.ConnectionBusImpl.executeDDLCommands(ConnectionBusImpl.java:454)     at com.mendix.basis.component.internal.LocalComponentImpl.executeDDLCommands(LocalComponentImpl.scala:111)     at com.mendix.basis.impl.MxRuntimeImplBase.executeDDLCommands(MxRuntimeImplBase.java:1039)     at com.mendix.basis.action.admin.ExecuteDDLCommandsAction.call(ExecuteDDLCommandsAction.java:31)     at com.mendix.basis.action.admin.RuntimeAdminAction.execute(RuntimeAdminAction.java:24)     at com.mendix.m2ee.appcontainer.server.handler.HttpAdminHandler.handle(HttpAdminHandler.java:129)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)     at org.eclipse.jetty.server.Server.handle(Server.java:500)     at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)     at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)     at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)     at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)     at java.base/java.lang.Thread.run(Thread.java:834)  
asked
4 answers
1

Are you sure these are logs from the cloud environment? This line hsqldb.jdbc leads me to believe you are running it locally on the internal database. Mendix uses Postgres in the cloud.

Regards,

Ronald

 

answered
0

You best send an email to support@mendix.com. They very likely will help you out.

There are always backups of the databases, even with free nodes, so the damage can get minimized. I have not yet seen this happen before. In my experience, over the last three years, the Mendix databases do not get corrupted.

 

answered
0

Thanks!

answered
0

I figured out the problem. It did not have to do with the Mendix .com outage.

I changed and “autonumber” attribute to and “integer” / unique and the platform did not warn me. Rather, this was not not caught and the platform crashed.

Thanks. I will report to Support.

answered