@Test public void testDeleteListenerException() { final AtomicInteger failureBatchCount = new AtomicInteger(); testListenerException( batch -> { DeleteListener listener = new DeleteListener() .onBatchFailure( (batch2, throwable) -> failureBatchCount.incrementAndGet() ); QueryBatch mockQueryBatch = new QueryBatchImpl() { public DatabaseClient getClient() { throw new InternalError(errorMessage); } public QueryBatcher getBatcher() { return moveMgr.newQueryBatcher(new StructuredQueryBuilder().collection("dummy")); } }; listener.processEvent(mockQueryBatch); } ); // there should be one failure sent to the DeleteListener // onBatchFailure listener since getClient in mockQueryBatch throws InternalError assertEquals(1, failureBatchCount.get()); }
/** * This implementation of initializeListener adds this instance of * DeleteListener to the two RetryListener's in this QueryBatcher so they * will retry any batches that fail during the delete request. */ @Override public void initializeListener(QueryBatcher queryBatcher) { HostAvailabilityListener hostAvailabilityListener = HostAvailabilityListener.getInstance(queryBatcher); if ( hostAvailabilityListener != null ) { BatchFailureListener<QueryBatch> retryListener = hostAvailabilityListener.initializeRetryListener(this); if ( retryListener != null ) onFailure(retryListener); } NoResponseListener noResponseListener = NoResponseListener.getInstance(queryBatcher); if ( noResponseListener != null ) { BatchFailureListener<QueryBatch> noResponseRetryListener = noResponseListener.initializeRetryListener(this); if ( noResponseRetryListener != null ) onFailure(noResponseRetryListener); } }
public void setCollections(String... collections) { this.collections = collections; this.addUrisReadyListener(new DeleteListener()); }
.withThreadCount(2) .withBatchSize(99) .onUrisReady(new DeleteListener()) .onUrisReady(batch -> successDocs.addAndGet(batch.getItems().length)) .onUrisReady(batch -> uris2.addAll(Arrays.asList(batch.getItems())))
QueryBatcher performDelete = dataMovementManager.newQueryBatcher(reader.lines().iterator()) .onUrisReady(new DeleteListener()) .onQueryFailure(exception-> exception.printStackTrace()); JobTicket ticket = dataMovementManager.startJob(performDelete);
.withBatchSize(10) .withConsistentSnapshot() .onUrisReady(new DeleteListener()) .onUrisReady(batch -> logger.info("Deleting {} docs", batch.getItems().length) ) .onQueryFailure(failListener);
.onUrisReady(new DeleteListener()) .withConsistentSnapshot(); JobTicket ticket = moveMgr.startJob(queryBatcher);