HTTP Status 500 – Internal Server Error


Type Exception Report

Message org.apache.http.nio.reactor.IOReactorException: Failure opening selector

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

java.lang.IllegalStateException: org.apache.http.nio.reactor.IOReactorException: Failure opening selector
	org.apache.http.impl.nio.client.IOReactorUtils.create(IOReactorUtils.java:43)
	org.apache.http.impl.nio.client.HttpAsyncClientBuilder.build(HttpAsyncClientBuilder.java:668)
	java.security.AccessController.doPrivileged(Native Method)
	org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:219)
	java.security.AccessController.doPrivileged(Native Method)
	org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:191)
	org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:283)
	org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:275)
	life.dealsfor.model.dao.impl.SearchDAOImplEs.getProducts(SearchDAOImplEs.java:435)
	life.dealsfor.model.Search.getProducts(Search.java:128)
	life.dealsfor.view.search.SearchCategoryView.loadProducts(SearchCategoryView.java:227)
	life.dealsfor.view.search.SearchCategoryView.doGet(SearchCategoryView.java:157)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	life.dealsfor.view.filter.UrlFilter.doFilter(UrlFilter.java:110)

Root Cause

org.apache.http.nio.reactor.IOReactorException: Failure opening selector
	org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.<init>(AbstractMultiworkerIOReactor.java:146)
	org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.<init>(DefaultConnectingIOReactor.java:81)
	org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.<init>(DefaultConnectingIOReactor.java:96)
	org.apache.http.impl.nio.client.IOReactorUtils.create(IOReactorUtils.java:41)
	org.apache.http.impl.nio.client.HttpAsyncClientBuilder.build(HttpAsyncClientBuilder.java:668)
	java.security.AccessController.doPrivileged(Native Method)
	org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:219)
	java.security.AccessController.doPrivileged(Native Method)
	org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:191)
	org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:283)
	org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:275)
	life.dealsfor.model.dao.impl.SearchDAOImplEs.getProducts(SearchDAOImplEs.java:435)
	life.dealsfor.model.Search.getProducts(Search.java:128)
	life.dealsfor.view.search.SearchCategoryView.loadProducts(SearchCategoryView.java:227)
	life.dealsfor.view.search.SearchCategoryView.doGet(SearchCategoryView.java:157)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	life.dealsfor.view.filter.UrlFilter.doFilter(UrlFilter.java:110)

Root Cause

java.io.IOException: Too many open files
	sun.nio.ch.IOUtil.makePipe(Native Method)
	sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:65)
	sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36)
	java.nio.channels.Selector.open(Selector.java:227)
	org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.<init>(AbstractMultiworkerIOReactor.java:144)
	org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.<init>(DefaultConnectingIOReactor.java:81)
	org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.<init>(DefaultConnectingIOReactor.java:96)
	org.apache.http.impl.nio.client.IOReactorUtils.create(IOReactorUtils.java:41)
	org.apache.http.impl.nio.client.HttpAsyncClientBuilder.build(HttpAsyncClientBuilder.java:668)
	java.security.AccessController.doPrivileged(Native Method)
	org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:219)
	java.security.AccessController.doPrivileged(Native Method)
	org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:191)
	org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:283)
	org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:275)
	life.dealsfor.model.dao.impl.SearchDAOImplEs.getProducts(SearchDAOImplEs.java:435)
	life.dealsfor.model.Search.getProducts(Search.java:128)
	life.dealsfor.view.search.SearchCategoryView.loadProducts(SearchCategoryView.java:227)
	life.dealsfor.view.search.SearchCategoryView.doGet(SearchCategoryView.java:157)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	life.dealsfor.view.filter.UrlFilter.doFilter(UrlFilter.java:110)

Note The full stack trace of the root cause is available in the server logs.


Apache Tomcat/8.5.60