Runtime Error: key not found [UUID] after failed first deployment due to full database

0
Hi everyone,I am experiencing a runtime initialization issue during my very first deployment to a Development environment.Environment Details:Platform: OpenShift (Kubernetes)Database: Oracle DatabaseThe Issue: In the middle of the first deployment, the Oracle tablespace ran out of space. As a result, Mendix only partially generated the database tables before failing.After our DBA increased the tablespace capacity, we restarted the pod in OpenShift, but the Mendix Runtime now fails to initialize with this error:{"node":"M2EE","level":"ERROR","cause":"com.mendix.m2ee.api.internal.AdminException: An error occurred while initializing the Runtime: key not found: 170ce49d-f29c-4fac-99a6-b55e8a3aeb39\n\tat com.mendix.basis.impl.MxRuntimeImpl.start(MxRuntimeImpl.scala:209)\n\nCaused by: java.util.NoSuchElementException: key not found: 170ce49d-f29c-4fac-99a6-b55e8a3aeb39\n\tat scala.collection.MapOps.default(Map.scala:289)\n\tat scala.collection.MapOps.default$(Map.scala:288)\n\tat scala.collection.AbstractMap.default(Map.scala:420)\n\tat scala.collection.MapOps.apply(Map.scala:176)\n\tat scala.collection.MapOps.apply$(Map.scala:175)\n\tat scala.collection.AbstractMap.apply(Map.scala:420)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mapping.MappingModelBuilder.$anonfun$setInheritanceInformation$2(MappingModel.scala:48)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mapping.MappingModelBuilder.$anonfun$setInheritanceInformation$2$adapted(MappingModel.scala:47)\n\tat scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)\n\tat scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)\n\tat scala.collection.AbstractIterable.foreach(Iterable.scala:935)\n\tat scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:905)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mapping.MappingModelBuilder.setInheritanceInformation(MappingModel.scala:47)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mapping.MappingModelBuilder.build(MappingModel.scala:59)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader.fillModel(DatabaseMappingReader.scala:65)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.$anonfun$getDatabaseMappingModel$4(DatabaseMappingReader.scala:37)\n\tat scala.util.Using$.resource(Using.scala:296)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.$anonfun$getDatabaseMappingModel$3(DatabaseMappingReader.scala:37)\n\tat scala.Option.map(Option.scala:242)\n\tat com.mendix.connectionbus.modelsynchronization.analysis.mappingreaders.DatabaseMappingReader$.getDatabaseMappingModel(DatabaseMappingReader.scala:35)\n\tat Upon checking, this UUID belongs to a table/metadata that was supposed to be generated but is missing from the Oracle schema. It seems the internal Mendix system tables are out of sync with the physical Oracle tables.Since this is a fresh DEV environment with no business data yet, what is the best way to force Mendix to recover from this? Should we drop the Oracle user/schema completely (CASCADE) and let the OpenShift pod recreate everything from scratch on the next startup, or is there a specific Mendix system table we need to clear?Any advice would be highly appreciated. Thank you!
asked
1 answers
0

This looks like the Mendix runtime metadata and the physical database schema are out of sync because the first deployment was interrupted while creating the database structure.


Since this is a fresh Development environment and there is no business data yet, I would not try to manually clean Mendix system tables. The safer approach is:

  1. Stop the Mendix runtime.
  2. Drop the incomplete Oracle schema.
  3. Recreate the empty schema with the correct permissions.
  4. Start the Mendix runtime again and perform a fresh deployment.


Mendix will recreate the required tables and metadata during initialization.


The reason you see: key not found: UUID is usually not a missing business table issue, but a partially generated Mendix model/database mapping caused by the failed deployment.


For production environments, I would avoid dropping the schema and instead recover from backup or investigate the exact missing metadata. But for a clean DEV environment, a fresh schema recreation is normally the cleanest fix.


Also, make sure the Oracle tablespace sizing is sufficient before redeploying, because the initial deployment creates all Mendix runtime tables and indexes.


Kindly mark this as the accepted answer if it helps.

answered