### Question:
EpollEventLoop extends SingleThreadEventLoop { void handleLoopException(Throwable t) { logger.warn("Unexpected exception in the selector loop.", t); try { Thread.sleep(1000); } catch (InterruptedException e) { } } EpollEventLoop(EventLoopGroup parent, Executor executor, int maxEvents,
                   SelectStrategy strategy, RejectedExecutionHandler rejectedExecutionHandler); int getIoRatio(); void setIoRatio(int ioRatio);  }### Answer:
@Test public void testScheduleBigDelayNotOverflow() { final AtomicReference<Throwable> capture = new AtomicReference<Throwable>(); final EventLoopGroup group = new EpollEventLoop(null, new ThreadPerTaskExecutor(new DefaultThreadFactory(getClass())), 0, DefaultSelectStrategyFactory.INSTANCE.newSelectStrategy(), RejectedExecutionHandlers.reject()) { @Override void handleLoopException(Throwable t) { capture.set(t); super.handleLoopException(t); } }; try { final EventLoop eventLoop = group.next(); Future<?> future = eventLoop.schedule(new Runnable() { @Override public void run() { } }, Long.MAX_VALUE, TimeUnit.MILLISECONDS); assertFalse(future.awaitUninterruptibly(1000)); assertTrue(future.cancel(true)); assertNull(capture.get()); } finally { group.shutdownGracefully(); } }