-
Bug
-
Resolution: Tracked Elsewhere
-
Low
-
None
-
5.10.0
-
10
-
Severity 3 - Minor
-
3
-
Summary
The instance health plugin adds a check for the presence of confluence-healthcheck-eol.json in your Confluence home directory to check EOL date. If that file is not present on the system and the system cannot reach the marketplace to check EOL the health check plugin will not run and will throw an error of 'there was an error performing the instance health check' in the GUI.
Steps to Reproduce
- Install the latest Confluence instance health plugin (2.1.7)
- Check that confluence-healthcheck-eol.json does not exist in $CONFLUENCE_HOME
- Remove the ability of the system to connect to the marketplace
- Check the instance health tab in Confluence
Expected Results
The check does not fail if the file does not exist, as the data is persisted somewhere else (e.g.: in the database) or the file is recreated automatically.
Actual Results
The error "Unable to verify the End of Life date for version '5.8'. The check has not been performed." is returned, instead of performing the health check. An exception such as the below will appear in the logs:
2016-12-20 10:56:47,436 ERROR [SupportHealthCheckThread-5] [plugins.healthcheck.eol.EolSupportHealthCheck] check An error occurred when performing the EOL check, see the exceptions for more info java.net.UnknownHostException: marketplace.atlassian.com: nodename nor servname provided, or not known at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) at java.net.InetAddress.getAllByName0(InetAddress.java:1276) at java.net.InetAddress.getAllByName(InetAddress.java:1192) at java.net.InetAddress.getAllByName(InetAddress.java:1126) at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:111) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) at com.atlassian.confluence.plugins.healthcheck.util.SupportEolCheckUtil.makeRequestToMarketplace(SupportEolCheckUtil.java:174) at com.atlassian.confluence.plugins.healthcheck.util.SupportEolCheckUtil.getLatestConfluenceVersionName(SupportEolCheckUtil.java:148) at com.atlassian.confluence.plugins.healthcheck.util.SupportEolCheckUtil.getVersionFromMarketplace(SupportEolCheckUtil.java:50) at com.atlassian.confluence.plugins.healthcheck.eol.EolSupportHealthCheck.getVersionFromMarketplace(EolSupportHealthCheck.java:158) at com.atlassian.confluence.plugins.healthcheck.eol.EolSupportHealthCheck.check(EolSupportHealthCheck.java:93) at com.atlassian.support.healthcheck.impl.PluginSuppliedSupportHealthCheck.check(PluginSuppliedSupportHealthCheck.java:41) at com.atlassian.support.healthcheck.concurrent.SupportHealthCheckTask.run(SupportHealthCheckTask.java:33) at com.atlassian.support.healthcheck.concurrent.SupportHealthCheckProcess.run(SupportHealthCheckProcess.java:43) at com.atlassian.support.healthcheck.thread.HealthCheckProcessCallable.call(HealthCheckProcessCallable.java:44) at com.atlassian.support.healthcheck.thread.HealthCheckProcessCallable.call(HealthCheckProcessCallable.java:20) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
Workaround
Download the attached confluence-healthcheck-eol.json and put it in your $CONFLUENCE_HOME directory.
Notes
Previously the EOL check did not take into account proxies when trying to establish a connection to the Atlassian Marketplace. However as of CONF-45506 this is fixed in Confluence Instance Health 2.1.10. There is an upgrade task that will create the file if it doesn't exist, however if the file is deleted or removed somehow (say deleted in a migration) the file is not created again.
Lastly, note from screenshot that the Health Check UI reports a green tick for the End of Life Check. That means "The health check has passed successfully. No action is required." This is incorrect/misleading.
- relates to
-
CONFSERVER-45506 EOL Check Causes Health Check to Fail when a proxy is being used
- Closed
-
JRASERVER-63567 Jira EOL health check fails to execute if jira-healthcheck-eol.json file is missing from the home directory and instance has no access to the Marketplace
- Closed
-
ATST-786 Loading...
- is related to
-
AHC-51 Loading...