Uploaded image for project: 'Confluence Server and Data Center'
  1. Confluence Server and Data Center
  2. CONFSERVER-61188

Opening the base URL multiple times during installation will break the installation process.

    XMLWordPrintable

    Details

      Description

      Issue Summary

      Opening the base URL multiple times during installation will break the installation process.

      Steps to Reproduce

      1. Open multiple tabs to point to the same URL of Confluence.
      2. Install Confluence until the DB point.
      3. Start installation (finish DB process), and at the time you will have few minutes where the DB is being populated.
      4. During that time, in those other tabs, try to open the Confluence base url.

      Expected Results

      Nothing will happen, and you will see a blank page that is trying to load.

      Actual Results

      You will receive error 500 with this stack trace:

      java.lang.IllegalStateException: Cannot call sendError() after the response has been committed
      	org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:456)
      	javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:120)
      	com.atlassian.confluence.web.filter.DebugFilter$LoggingResponseWrapper.sendError(DebugFilter.java:132)
      	javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:120)
      	com.atlassian.confluence.servlet.FourOhFourErrorLoggingFilter$1.sendError(FourOhFourErrorLoggingFilter.java:52)
      	javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:120)
      	com.atlassian.core.filters.HeaderSanitisingResponseWrapper.sendError(HeaderSanitisingResponseWrapper.java:89)
      	javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:120)
      

      Then on the original tab, you will see a slightly different stack trace each time you try to open it:

      java.util.concurrent.CompletionException: com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantedTransactionManager' defined in class path resource [databaseSubsystemContext.xml]: Invocation of init method failed; nested exception is com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantedLocalSessionFactoryBean5' defined in class path resource [productionDatabaseContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: premature SessionFactory initialisation, Hibernate properties have not yet been persisted in confluence.cfg.xml
      	java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
      	java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
      	java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:932)
      	java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946)
      	java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266)
      	java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:143)
      

      Workaround

      Make sure that nothing can reach your Confluence installation at the time, like load balancer health checks from AWS, users, or different tabs open for the same installation.
      Changing the server.xml connector port temporarily can also help to finish installation uninterrupted.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              gpaunovic g
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: