Hi, Over the past few days, I've run into EntityExistsException several times when I shut down and restart my management server:
ERROR [cloud.servlet.CloudStartupServlet] (main:) Exception starting management server javax.persistence.EntityExistsException: Entity already exists: at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1318) This generally requires a drop database, redeploy etc - very time consuming. I dug into the error a little, and the code behavior seems a little strange. See com.cloud.server.ConfigurationServerImpl.java, createDefaultNetworks(), line 1085: long id = 1; And line 1141: _networkDao.persist(network, false, getServicesAndProvidersForNetwork(networkOfferingId)); id++; The code is trying to insert rows into the networks table, with "id"s starting at 1. However, the existing values in the networks table also start at 1, giving a primary key exception and causing the management server not to start successfully. Is the networks table supposed to always be empty at startup so that these inserts will always succeed even though they are setting id to 1 blindly? Or is the code wrong to be starting IDs at 1 and failing on duplicate key exceptions? Thanks, Dave. *Info on my setup:* Running CloudStack from master (4.1.0-SNAPSHOT). Setup process for the management server was: Grab latest from git repo, then: mvn install mvn -P developer -pl developer -Ddeploydb export MAVEN_OPTS="-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" mvn -pl :cloud-client-ui jetty:run