Error on upgrade to 7.9 - ERROR: relation "confzdu" does not exist
Asked by Daniel Niasoff:

OTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED  
\[0.001s\]\[warning\]\[gc\] -Xloggc is deprecated. Will use -Xlog:gc:/opt/atlassian/confluence/logs/gc-2020-11-18_19-05-58.log instead.  
18-Nov-2020 19:05:58.914 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server\] failed to set property \[debug\] to \[0\]  
18-Nov-2020 19:05:58.975 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Connector\] failed to set property \[debug\] to \[0\]  
18-Nov-2020 19:05:58.990 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine\] failed to set property \[debug\] to \[0\]  
18-Nov-2020 19:05:58.993 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine/Host\] failed to set property \[debug\] to \[0\]  
18-Nov-2020 19:05:59.025 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine/Host/Context\] failed to set property \[debug\] to \[0\]  
18-Nov-2020 19:05:59.038 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine/Host/Context\] failed to set property \[debug\] to \[0\]  
18-Nov-2020 19:05:59.303 INFO \[main\] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler \["http-nio-8090"\]  
18-Nov-2020 19:05:59.334 INFO \[main\] org.apache.catalina.startup.Catalina.load Server initialization in \[516\] milliseconds  
18-Nov-2020 19:05:59.344 INFO \[main\] org.apache.catalina.core.StandardService.startInternal Starting service \[Tomcat-Standalone\]  
18-Nov-2020 19:05:59.344 INFO \[main\] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: \[Apache Tomcat/9.0.37\]  
18-Nov-2020 19:06:00.312 INFO \[Catalina-utility-2\] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skippin  
g unneeded JARs during scanning can improve startup time and JSP compilation time.  
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".  
SLF4J: Defaulting to no-operation (NOP) logger implementation  
SLF4J: See <http://www.slf4j.org/codes.html#StaticLoggerBinder> for further details.  
18-Nov-2020 19:06:00.385 INFO \[Catalina-utility-2\] org.apache.catalina.core.ApplicationContext.log 1 Spring WebApplicationInitializers detected on classpath  
18-Nov-2020 19:06:00.588 INFO \[Catalina-utility-2\] org.apache.catalina.core.ApplicationContext.log Initializing Spring DispatcherServlet 'dispatcher'  
2020-11-18 19:06:00,973 INFO \[Catalina-utility-1\] \[com.atlassian.confluence.lifecycle\] contextInitialized Starting Confluence 7.9.0 \[build 8505 based on commit hash bfe0b5a6c692066ddd67de01599ea6745c0a6548\] - synchrony version 4.0.0-master-85ceb9cf  
2020-11-18 19:06:03,484 WARN \[Catalina-utility-1\] \[confluence.impl.setup.DefaultBootstrapDatabaseAccessor\] readValue Unable to determine ZDU status from database. If you are upgrading from a Confluence version prior to 7.9, this is expected.  
org.postgresql.util.PSQLException: ERROR: relation "confzdu" does not exist  
Position: 29  
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2553)  
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2285)  
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:323)  
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:473)  
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:393)  
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:322)  
at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:308)  
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:284)  
at org.postgresql.jdbc.PgStatement.executeQuery(PgStatement.java:236)  
at com.atlassian.confluence.impl.setup.DefaultBootstrapDatabaseAccessor.readValue(DefaultBootstrapDatabaseAccessor.java:79)  
at com.atlassian.confluence.impl.setup.DefaultBootstrapDatabaseAccessor.getBootstrapData(DefaultBootstrapDatabaseAccessor.java:48)  
at com.atlassian.confluence.setup.DefaultBootstrapManager.afterConfigurationLoaded(DefaultBootstrapManager.java:805)  
at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:75)  
at com.atlassian.confluence.setup.DefaultBootstrapManager.init(DefaultBootstrapManager.java:191)  
at com.atlassian.config.util.BootstrapUtils.init(BootstrapUtils.java:36)  
at com.atlassian.confluence.setup.ConfluenceConfigurationListener.initialiseBootstrapContext(ConfluenceConfigurationListener.java:144)  
at com.atlassian.confluence.setup.ConfluenceConfigurationListener.contextInitialized(ConfluenceConfigurationListener.java:63)  
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4678)  
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5139)  
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)  
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)  
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)  
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)  
at java.base/java.lang.Thread.run(Unknown Source)


Answers:
author: Marco Euskirchen
body: Hi Daniel,

I just updated our Confluence Server and experienced something very similar.
> 2020-11-21 16:12:24,348 INFO \[Catalina-utility-1\] \[com.atlassian.confluence.lifecycle\] contextInitialized Starting Confluence 7.9.0 \[build 8505 based on commit hash bfe0b5a6c692066ddd67de01599ea6745c0a6548\] - synchrony version 4.0.0-master-85ceb9cf  
> 2020-11-21 16:12:27,389 WARN \[Catalina-utility-1\] \[confluence.impl.setup.DefaultBootstrapDatabaseAccessor\] readValue **Unable to determine ZDU status from database.** If you are upgrading from a Confluence version prior to 7.9, this is expected.  
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: **Table 'confluence.CONFZDU' doesn't exist**

I read /opt/atlassian/confluence/logs/catalina.out and found some lines above saying "java.lang.OutOfMemoryError: Java heap space". Since I ran out of options I increased the memory limit following [these instructions](https://confluence.atlassian.com/confkb/how-to-fix-out-of-memory-errors-by-increasing-available-memory-154071.html).

In my case I changed a line in /opt/atlassian/confluence/bin/setenv.sh from

```
# CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:+UseG1GC ${CATALINA_OPTS}"
```

to

```
CATALINA_OPTS="-Xms2048m -Xmx2048m -XX:+UseG1GC ${CATALINA_OPTS}"
```

After that I was able to start Confluence 7.9.0.

Maybe that information helps you.

comments: author: roman_baeriswyl
body: I had the same issue. As I am running Confluence in Docker, I just added the following environment variable:

JVM_MAXIMUM_MEMORY=2048m

and now it starts up again.


author: joseluisq
body: We ran on the same issue. so increasing the *JVM_MAXIMUM_MEMORY* (*1024m* by default) solved the issue.


author: websupport
body: Hi All,

How should we handle this error?

WARN \[Catalina-utility-1\] \[confluence.impl.setup.DefaultBootstrapDatabaseAccessor\] readValue Unable to determine ZDU status from database. **If you are upgrading from a Confluence version prior to 7.9, this is expected.**

com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'CONFZDU'.

We were upgrading from 7.8.3 to 7.12.5


author: Christoph Bratschi
body: I am getting this error after upgrading from 7.5 to 7.10:

WARN \[Catalina-utility-1\] \[confluence.impl.setup.DefaultBootstrapDatabaseAccessor\] readValue Unable to determine ZDU status from database. If you are upgrading from a Confluence version prior to 7.9, this is expected.  
org.postgresql.util.PSQLException: ERROR: relation "confzdu" does not exist

I don't see any memory issues on my system. The server just is not serving any pages but there are no further errors.

Update: this upgrade just took longer than usual. Confluence was running afterwards. So just wait.

comments: author: Gerhard Mesch
body: Yes it just takes really a lot of time.

Closely watch the ***atlassian-confluence.log*** - there is always which table is currently running. \[BODYCONTENT\] takes a lot of time.


author: Italo [Modus Create]
body: Confluence Upgrade usually generates a backup before running the actual upgrade. Depending on the instance size you can do a backup using DB and HD snapshots and just disable this using a system variable. See more in <https://confluence.atlassian.com/confkb/how-to-disable-upgrade-recovery-file-generation-in-confluence-1047534410.html>


author: Martin Henning
body: As Christoph says, just wait. Leave it to sit and it will sort itself out.

Mine took about an hour to complete.


author: Waldemar Wetzel
body: I have the same ISSUE.

MaxMemory has nothing todo with this error.

**readValue Unable to determine ZDU status from database. If you are upgrading from a Confluence version prior to 7.9, this is expected**


Tags: confluence-server

server