Index queue won't flush automatically, 'Caused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: recv failed' errors thrown
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
Unable to clear indexing queue automatically, items sit in the queue even after:
- Rebuilding the index via the user interface
- Rebuilding your index from scratch
- Increasing the maximum number of connections in the database pool
- 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]
診断
環境
- Windows
- Server has both IPv4 and IPv6 enabled
原因
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.
回避策
JVM will need to run over IPv4, if possible. To do this add this set the following JVM option:
Confluence をシャットダウンします。
Open <confluence-install-directory>/bin/setenv.bat
Confluence 5.6 以降
Add the following below CATALINA_OPTS section
set CATALINA_OPTS=-Djava.net.preferIPv4Stack=true %CATALINA_OPTS%
Save the file
- Confluence 5.5 以前
Add the following below the JAVA_OPTS section
set JAVA_OPTS=-Djava.net.preferIPv4Stack=true %JAVA_OPTS%
Save the file
Confluence を起動します。
You may also need to adjust the prefix policy to prefer IPv4 over IPv6
If you are unfamiliar with the process you can refer to Microsoft's Fix-its.
These Fix-its are provided by Microsoft and are not supported by Atlassian.
- Prefer IPv4 over IPv6
- Prefer IPv6 over IPv4 (restore the default behavior)