} finally { localListeners.fireCycleComplete(cycleStatus); metrics.updateCycleMetrics(cycleStatus.build(), cycleStatus.readState, cycleStatus.version); if (metricsCollector != null) { metricsCollector.collect(metrics);
void fireValidationComplete(Status.StageWithStateBuilder b, ValidationStatus vs) { Status s = b.build(); HollowProducer.ReadState readState = b.readState; long version = b.version; Duration elapsed = b.elapsed(); fire(HollowProducerListener.class, l -> l.onValidationComplete(new ProducerStatus(s, readState, version), elapsed.toMillis(), MILLISECONDS)); fire(ValidationStatusListener.class, l -> l.onValidationStatusComplete(vs, version, elapsed)); }
s.fireCycleComplete(new Status.StageWithStateBuilder()); s.fireCycleComplete(new Status.StageWithStateBuilder());
s.fireCycleComplete(new Status.StageWithStateBuilder()); s.fireCycleComplete(new Status.StageWithStateBuilder());
private void validate(ListenerSupport.Listeners listeners, HollowProducer.ReadState readState) { Status.StageWithStateBuilder psb = listeners.fireValidationStart(readState); ValidationStatus status = null; try { // Stream over the concatenation of the old and new validators List<ValidationResult> results = listeners.getListeners(ValidatorListener.class) .map(v -> { try { return v.onValidate(readState); } catch (RuntimeException e) { return ValidationResult.from(v).error(e); } }) .collect(toList()); status = new ValidationStatus(results); if (!status.passed()) { ValidationStatusException e = new ValidationStatusException( status, "One or more validations failed. Please check individual failures."); psb.fail(e); throw e; } psb.success(); } finally { listeners.fireValidationComplete(psb, status); } }
private void announce(ListenerSupport.Listeners listeners, HollowProducer.ReadState readState) { if (announcer != null) { Status.StageWithStateBuilder status = listeners.fireAnnouncementStart(readState); try { announcer.announce(readState.getVersion()); status.success(); } catch (Throwable th) { status.fail(th); throw th; } finally { listeners.fireAnnouncementComplete(status); } } }
StageWithStateBuilder readState(HollowProducer.ReadState readState) { this.readState = readState; return version(readState.getVersion()); }
Status.StageWithStateBuilder fireAnnouncementStart(HollowProducer.ReadState readState) { long version = readState.getVersion(); fire(AnnouncementListener.class, l -> l.onAnnouncementStart(version)); return new Status.StageWithStateBuilder().readState(readState); }
Status.StageWithStateBuilder fireCycleStart(long version) { fire(CycleListener.class, l -> l.onCycleStart(version)); return new Status.StageWithStateBuilder().version(version); }
Status.StageWithStateBuilder fireValidationStart(HollowProducer.ReadState readState) { long version = readState.getVersion(); fire(HollowProducerListener.class, l -> l.onValidationStart(version)); fire(ValidationStatusListener.class, l -> l.onValidationStatusStart(version)); return new Status.StageWithStateBuilder().readState(readState); }
Status.StageWithStateBuilder fireIntegrityCheckStart(HollowProducer.ReadState readState) { long version = readState.getVersion(); fire(IntegrityCheckListener.class, l -> l.onIntegrityCheckStart(version)); return new Status.StageWithStateBuilder().readState(readState); }