@Override public long getLineageStartDate() { return event.getLineageStartDate(); }
@Override public long getLineageStartDate() { return record.getLineageStartDate(); }
return record.getLineageStartDate();
@Override public ComputeLineageSubmission submitLineageComputation(final long eventId, final NiFiUser user, final EventAuthorizer eventAuthorizer) { final Optional<ProvenanceEventRecord> eventOption; try { eventOption = eventStore.getEvent(eventId); } catch (final Exception e) { logger.error("Failed to retrieve Provenance Event with ID " + eventId + " to calculate data lineage due to: " + e, e); final AsyncLineageSubmission result = new AsyncLineageSubmission(LineageComputationType.FLOWFILE_LINEAGE, eventId, Collections.emptySet(), 1, user == null ? null : user.getIdentity()); result.getResult().setError("Failed to retrieve Provenance Event with ID " + eventId + ". See logs for more information."); return result; } if (!eventOption.isPresent()) { final AsyncLineageSubmission result = new AsyncLineageSubmission(LineageComputationType.FLOWFILE_LINEAGE, eventId, Collections.emptySet(), 1, user == null ? null : user.getIdentity()); result.getResult().setError("Could not find Provenance Event with ID " + eventId); lineageSubmissionMap.put(result.getLineageIdentifier(), result); return result; } final ProvenanceEventRecord event = eventOption.get(); return submitLineageComputation(Collections.singleton(event.getFlowFileUuid()), user, eventAuthorizer, LineageComputationType.FLOWFILE_LINEAGE, eventId, event.getLineageStartDate(), Long.MAX_VALUE); }
@Override public ComputeLineageSubmission submitLineageComputation(final long eventId, final NiFiUser user) { final ProvenanceEventRecord event; try { event = getEvent(eventId); } catch (final Exception e) { logger.error("Failed to retrieve Provenance Event with ID " + eventId + " to calculate data lineage due to: " + e, e); final AsyncLineageSubmission result = new AsyncLineageSubmission(LineageComputationType.FLOWFILE_LINEAGE, eventId, Collections.<String> emptySet(), 1, user == null ? null : user.getIdentity()); result.getResult().setError("Failed to retrieve Provenance Event with ID " + eventId + ". See logs for more information."); return result; } if (event == null) { final AsyncLineageSubmission result = new AsyncLineageSubmission(LineageComputationType.FLOWFILE_LINEAGE, eventId, Collections.<String> emptySet(), 1, user == null ? null : user.getIdentity()); result.getResult().setError("Could not find Provenance Event with ID " + eventId); lineageSubmissionMap.put(result.getLineageIdentifier(), result); return result; } return submitLineageComputation(Collections.singleton(event.getFlowFileUuid()), user, LineageComputationType.FLOWFILE_LINEAGE, eventId, event.getLineageStartDate(), Long.MAX_VALUE); }
case CLONE: case REPLAY: return submitLineageComputation(event.getParentUuids(), user, LineageComputationType.EXPAND_PARENTS, eventId, event.getLineageStartDate(), event.getEventTime()); default: { final AsyncLineageSubmission submission = new AsyncLineageSubmission(LineageComputationType.EXPAND_PARENTS, eventId, Collections.<String>emptyList(), 1, userId);
case REPLAY: { return submitLineageComputation(event.getParentUuids(), user, authorizer, LineageComputationType.EXPAND_PARENTS, eventId, event.getLineageStartDate(), event.getEventTime());
out.writeLong(record.getFlowFileEntryDate()); out.writeLong(record.getEventDuration()); out.writeLong(record.getLineageStartDate());
doc.add(new LongField(SearchableFields.LineageStartDate.getSearchableFieldName(), record.getLineageStartDate(), Store.NO));
.lineageStart(event.getLineageStartDate(), 0L) .size(contentSize.longValue()) .setEventTime(System.currentTimeMillis()) .setFlowFileEntryDate(System.currentTimeMillis()) .setLineageStartDate(event.getLineageStartDate()) .setComponentType(event.getComponentType()) .setComponentId(event.getComponentId())
addField(builder, "timestamp", df.format(event.getEventTime())); addField(builder, "durationMillis", event.getEventDuration()); addField(builder, "lineageStart", event.getLineageStartDate()); addField(builder, "details", event.getDetails()); addField(builder, "componentId", event.getComponentId());
.setEventTime(System.currentTimeMillis()) .setFlowFileEntryDate(provEvent.getFlowFileEntryDate()) .setLineageStartDate(provEvent.getLineageStartDate()) .setComponentType(flowManager.getRootGroup().getName()) .setComponentId(flowManager.getRootGroupId())
if (event.getLineageStartDate() > 0) { final long lineageDuration = event.getEventTime() - event.getLineageStartDate(); dto.setLineageDuration(lineageDuration);
return (int) (event.getFlowFileEntryDate() - startTimeOffset); case EventFieldNames.LINEAGE_START_DATE: return (int) (event.getLineageStartDate() - startTimeOffset); case EventFieldNames.PARENT_UUIDS: return event.getParentUuids();
return event.getFlowFileUuid(); case EventFieldNames.LINEAGE_START_DATE: return event.getLineageStartDate(); case EventFieldNames.PARENT_UUIDS: return event.getParentUuids();
eventTime = event.getEventTime(); entryDate = event.getFlowFileEntryDate(); lineageStartDate = event.getLineageStartDate(); eventType = event.getEventType(); componentId = event.getComponentId();
addField(builder, "lineageStart", event.getLineageStartDate());
addField(builder, "timestamp", df.format(event.getEventTime())); addField(builder, "durationMillis", event.getEventDuration()); addField(builder, "lineageStart", event.getLineageStartDate()); addField(builder, "details", event.getDetails()); addField(builder, "componentId", event.getComponentId());
eventTime = event.getEventTime(); entryDate = event.getFlowFileEntryDate(); lineageStartDate = event.getLineageStartDate(); eventType = event.getEventType(); componentId = event.getComponentId();