@Test
    public void shouldThrowErrorWithHelpfulMessageWhenIdleTimeoutReachedBeforeResponseReceived() throws InterruptedException {
        int idleMillis = 1000;
        final Cluster cluster = TestClientFactory.build()
                .idleConnectionTimeoutMillis(idleMillis)
                .create();
        final Client.ClusteredClient client = cluster.connect();
        final RequestOptions ro = RequestOptions.build().language("gremlin-groovy").create();

        try {
            client.submit("Thread.sleep(" + idleMillis * 3 + ")", ro).all().get();
            fail("Expected exception due to idle timeout");
        } catch (Exception e) {
            assertTrue(e.getMessage().contains("Idle timeout occurred before response could be received from server - consider increasing idleConnectionTimeout"));
        } finally {
            client.close();
            cluster.close();
        }
    }
Added for TINKERPOP-2813 - this scenario would have previously thrown tons of
{@link NoHostAvailableException}.
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/ClientConnectionIntegrateTest.java