Index queue won't flush automatically, 'Caused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: recv failed' errors thrown

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.

Problem

Unable to clear indexing queue automatically, items sit in the queue even after:

  • The  following appears in the atlassian-confluence.log
Caused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: recv failed

You may also see this error:

ERROR [scheduler_Worker-6] [org.quartz.core.ErrorLogger] schedulerError Unable to notify JobListener(s) of Job to be executed: (Job will NOT be executed!). trigger= DEFAULT.IndexQueueFlusher job= DEFAULT.IndexQueueFlusher
org.quartz.SchedulerException: JobListener 'ScheduledJobListener' threw exception: Could not open Hibernate Session for transaction; nested exception is net.sf.hibernate.exception.JDBCConnectionException: Cannot open connection [See nested exception: org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is net.sf.hibernate.exception.JDBCConnectionException: Cannot open connection]

Diagnosis

Environment

  • Windows
  • Server has both IPv4 and IPv6 enabled

Cause

The Java Virtual Machine (JVM) can have problems opening or closing sockets at the operating system level when both IPv4 and IPv6 are enabled on a Windows server.

Workaround

  1. JVM will need to run over IPv4, if possible. To do this add this set the following JVM option:

    1. Shutdown Confluence

    2. Open <confluence-install-directory>/bin/setenv.bat

      1. For Confluence 5.6 and later

        1. Add the following below CATALINA_OPTS section

          set CATALINA_OPTS=-Djava.net.preferIPv4Stack=true %CATALINA_OPTS%
        2. Save the file

      2. Confluence 5.5 and below
        1. Add the following below the JAVA_OPTS section

          set JAVA_OPTS=-Djava.net.preferIPv4Stack=true %JAVA_OPTS%
        2. Save the file

    3. Start Confluence

  2. You may also need to adjust the prefix policy to prefer IPv4 over IPv6

    1. If you are unfamiliar with the process you can refer to Microsoft's Fix-its.

      (warning) These Fix-its are provided by Microsoft and are not supported by Atlassian.

Last modified on Nov 15, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.