private void primePeerRows(Scassandra scassandra, List<FakeHost> otherHosts) throws UnknownHostException { PrimingClient primingClient = PrimingClient.builder().withHost(ipOfNode(1)).withPort(scassandra.getAdminPort()).build(); primingClient.prime( PrimingRequest.queryBuilder() .withQuery("SELECT * FROM system.peers") primingClient.prime( PrimingRequest.queryBuilder() .withQuery("SELECT * FROM system.peers_v2")
.build(); scassandras.node(1).primingClient().clearAllPrimes(); .node(1) .primingClient() .prime( PrimingRequest.queryBuilder() .withQuery( .node(1) .primingClient() .prime( PrimingRequest.queryBuilder() .withQuery("SELECT * FROM system.peers")
public PrimingClient build() { return new PrimingClient(this.host, this.port); }
public void clearAllPrimes() { clearQueryPrimes(); clearPreparedPrimes(); clearPreparedMultiPrimes(); clearBatchPrimes(); }
private String generateJava349InsertStatement() { StringBuilder sb = new StringBuilder("INSERT INTO Java349 (mykey"); for (int i = 0; i < 1000; i++) { sb.append(", column").append(i); } sb.append(") VALUES (?"); for (int i = 0; i < 1000; i++) { sb.append(", ").append(i); } sb.append(");"); PrimingRequest preparedStatementPrime = PrimingRequest.preparedStatementBuilder() .withQuery(sb.toString()) .withThen(then().withVariableTypes(PrimitiveType.INT)) .build(); primingClient.prime(preparedStatementPrime); return sb.toString(); }
@BeforeMethod(groups = {"short", "long"}) @AfterMethod(groups = {"short", "long"}) public void resetClients() { activityClient.clearAllRecordedActivity(); primingClient.clearAllPrimes(); currentClient.enableListener(); }
ScassandraRunner(String binaryListenAddress, int binaryPort, String adminListenAddress, int adminPort, long startupTimeout) { this.binaryPort = binaryPort; this.adminPort = adminPort; this.serverStubRunner = new ServerStubRunner(binaryListenAddress, binaryPort, adminListenAddress, adminPort, startupTimeout); this.primingClient = PrimingClient.builder().withHost(adminListenAddress).withPort(adminPort).build(); this.activityClient = ActivityClient.builder().withHost(adminListenAddress).withPort(adminPort).build(); this.currentClient = CurrentClient.builder().withHost(adminListenAddress).withPort(adminPort).build(); this.versionUrl = "http://" + binaryListenAddress + ":" + adminPort + "/version"; }
public void clearPreparedMultiPrimes() { httpDelete(primePreparedMultiUrl); }
cluster.register(queryLogger); String query = "SELECT foo FROM bar"; primingClient.prime( queryBuilder().withQuery(query).withThen(then().withResult(result)).build());
@AfterMethod(groups = "short", alwaysRun = true) public void afterMethod() { for (Scassandra node : scassandras.nodes()) { node.primingClient().clearAllPrimes(); } if (cluster != null) cluster.close(); }
public void clearBatchPrimes() { httpDelete(primeBatchUrl); }
@Test(groups = "short") public void should_log_queries_beyond_constant_threshold() throws Exception { // given slow.setLevel(DEBUG); queryLogger = builder().withConstantThreshold(10).build(); cluster.register(queryLogger); String query = "SELECT foo FROM bar"; primingClient.prime( queryBuilder().withQuery(query).withThen(then().withFixedDelay(100L)).build()); // when session.execute(query); // then String line = slowAppender.waitAndGet(5000); assertThat(line).contains("Query too slow").contains(ip).contains(query); }
private void primePeerRows(Scassandra scassandra, List<FakeHost> otherHosts) throws UnknownHostException { PrimingClient primingClient = PrimingClient.builder().withHost(ipOfNode(1)).withPort(scassandra.getAdminPort()).build(); primingClient.prime( PrimingRequest.queryBuilder() .withQuery("SELECT * FROM system.peers") primingClient.prime( PrimingRequest.queryBuilder() .withQuery("SELECT * FROM system.peers_v2")
.build(); scassandras.node(1).primingClient().clearAllPrimes(); .node(1) .primingClient() .prime( PrimingRequest.queryBuilder() .withQuery( .node(1) .primingClient() .prime( PrimingRequest.queryBuilder() .withQuery("SELECT * FROM system.peers")
@BeforeMethod(groups = "short") public void beforeMethod() { cluster = Cluster.builder() .addContactPoints(scassandras.address(1).getAddress()) .withPort(scassandras.getBinaryPort()) .withRetryPolicy(FallthroughRetryPolicy.INSTANCE) .build(); session = cluster.connect(); host1 = TestUtils.findHost(cluster, 1); errors = cluster.getMetrics().getErrorMetrics(); for (Scassandra node : scassandras.nodes()) { node.primingClient().clearAllPrimes(); node.activityClient().clearAllRecordedActivity(); } }
public void clearQueryPrimes() { httpDelete(primeQueryUrl); }
public void primeBatch(BatchPrimingRequest batchPrimingRequest) throws PrimeFailedException { prime(batchPrimingRequest, primeBatchUrl); }
@BeforeMethod(groups = {"short", "long"}) @AfterMethod(groups = {"short", "long"}) public void resetClients() { activityClient.clearAllRecordedActivity(); primingClient.clearAllPrimes(); currentClient.enableListener(); }
public void clearPreparedPrimes() { httpDelete(primePreparedUrl); }
@Test(groups = "short") public void should_log_timed_out_queries() throws Exception { // given error.setLevel(DEBUG); queryLogger = builder().build(); cluster.register(queryLogger); cluster.getConfiguration().getSocketOptions().setReadTimeoutMillis(1); String query = "SELECT foo FROM bar"; primingClient.prime( queryBuilder().withQuery(query).withThen(then().withFixedDelay(100L)).build()); // when try { session.execute(query); fail("Should have thrown OperationTimedOutException"); } catch (OperationTimedOutException e) { // ok } // then String line = errorAppender.waitAndGet(5000); assertThat(line) .contains("Query error") .contains(ip) .contains(Integer.toString(scassandra.getBinaryPort())) .contains(query) .contains("Timed out waiting for server response"); }