Skip to content

Commit 85d64cf

Browse files
committed
delete: child jobs are now properly deleted
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
1 parent a03a54d commit 85d64cf

2 files changed

Lines changed: 52 additions & 1 deletion

File tree

api/src/main/java/marquez/api/JobResource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ public Response delete(
176176
.findJobByName(namespaceName.getValue(), jobName.getValue())
177177
.orElseThrow(() -> new JobNotFoundException(jobName));
178178

179-
jobService.delete(namespaceName.getValue(), jobName.getValue());
179+
// Should be simple name from `jobs_fqn`.
180+
jobService.delete(namespaceName.getValue(), job.getSimpleName());
180181
return Response.ok(job).build();
181182
}
182183

api/src/test/java/marquez/OpenLineageIntegrationTest.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -890,6 +890,56 @@ public void testFindEventBeforeAfterTime() {
890890
.isEqualTo(mapper.valueToTree(rawEvents.get(0)));
891891
}
892892

893+
@Test
894+
public void testSendAndDeleteParentRunRelationshipFacet() {
895+
marquez.service.models.LineageEvent.Run run =
896+
new marquez.service.models.LineageEvent.Run(
897+
UUID.randomUUID().toString(),
898+
marquez.service.models.LineageEvent.RunFacet.builder()
899+
.parent(marquez.service.models.LineageEvent.ParentRunFacet.builder()
900+
.run(marquez.service.models.LineageEvent.RunLink.builder()
901+
.runId(UUID.randomUUID().toString()).build())
902+
.job(marquez.service.models.LineageEvent.JobLink.builder()
903+
.name("parent")
904+
.namespace(NAMESPACE_NAME)
905+
.build())
906+
.build())
907+
.build());
908+
marquez.service.models.LineageEvent.Job job =
909+
marquez.service.models.LineageEvent.Job.builder()
910+
.namespace(NAMESPACE_NAME)
911+
.name(JOB_NAME)
912+
.build();
913+
914+
marquez.service.models.LineageEvent event =
915+
marquez.service.models.LineageEvent.builder()
916+
.eventType("START")
917+
.eventTime(ZonedDateTime.of(2021, 1, 1, 0, 0, 0, 0, ZoneId.of("UTC")))
918+
.producer("testSendAndDeleteParentRunRelationshipFacet")
919+
.run(run)
920+
.job(job)
921+
.inputs(Collections.emptyList())
922+
.outputs(Collections.emptyList())
923+
.build();
924+
925+
CompletableFuture<Integer> resp = sendEvent(event);
926+
assertThat(resp.join()).isEqualTo(201);
927+
928+
List<Job> jobs = client.listJobs(NAMESPACE_NAME);
929+
930+
String marquezJobName = String.format("parent.%s", JOB_NAME);
931+
932+
assertThat(jobs.size()).isEqualTo(2);
933+
assertThat(jobs).anySatisfy(returnedJob -> assertThat(returnedJob.getName()).isEqualTo(marquezJobName));
934+
935+
client.deleteJob(NAMESPACE_NAME, marquezJobName);
936+
937+
jobs = client.listJobs(NAMESPACE_NAME);
938+
assertThat(jobs.size()).isEqualTo(1);
939+
assertThat(jobs).anySatisfy(returnedJob -> assertThat(returnedJob.getName()).isEqualTo(marquezJobName));
940+
}
941+
942+
893943
private CompletableFuture<Integer> sendEvent(marquez.service.models.LineageEvent event) {
894944
return this.sendLineage(Utils.toJson(event))
895945
.thenApply(HttpResponse::statusCode)

0 commit comments

Comments
 (0)