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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Low
    • None
    • 7.4.7
    • None

    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

              Unassigned Unassigned
              gpaunovic g
              Votes:
              2 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: