@Override public void update(final Collection<ProvenanceEventRecord> records, final long totalHitCount) { boolean computationComplete = false; writeLock.lock(); try { relevantRecords.addAll(records); numCompletedSteps++; updateExpiration(); if (numCompletedSteps >= numSteps && error == null) { computationComplete = true; computeLineage(); computationNanos = System.nanoTime() - creationNanos; } } finally { writeLock.unlock(); } if (computationComplete) { final long computationMillis = TimeUnit.NANOSECONDS.toMillis(computationNanos); logger.info("Completed computation of lineage for FlowFile UUID(s) {} comprised of {} steps in {} millis", flowFileUuids, numSteps, computationMillis); synchronized (completionMonitor) { completionMonitor.notifyAll(); } } }
@Override public void update(final Collection<ProvenanceEventRecord> records, final long totalHitCount) { boolean computationComplete = false; writeLock.lock(); try { relevantRecords.addAll(records); numCompletedSteps++; updateExpiration(); if (numCompletedSteps >= numSteps && error == null) { computationComplete = true; computeLineage(); computationNanos = System.nanoTime() - creationNanos; } } finally { writeLock.unlock(); } if (computationComplete) { final long computationMillis = TimeUnit.NANOSECONDS.toMillis(computationNanos); logger.info("Completed computation of lineage for FlowFile UUID(s) {} comprised of {} steps in {} millis", flowFileUuids, numSteps, computationMillis); synchronized (completionMonitor) { completionMonitor.notifyAll(); } } }