Skip to content

Commit 071fdc1

Browse files
Merge branch 'main' into column-lineage-proposal
2 parents c4fdaea + 54d0e58 commit 071fdc1

57 files changed

Lines changed: 3892 additions & 2740 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/boring-cyborg.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
##### Labeler ##########################################################################################################
2+
# Enable "labeler" for your PR that would add labels to PRs based on the paths that are modified in the PR.
3+
labelPRBasedOnFilePath:
4+
# Add 'api' to any changes within 'api' folder or any subfolders
5+
api:
6+
- api/**/*
7+
8+
# Add 'chart' to any changes within 'chart' folder or any subfolders
9+
chart:
10+
- chart/**/*
11+
12+
# Add 'docs' to any changes to `.md` files in root or within 'docs' folder, subfolders
13+
docs:
14+
- docs/**/*
15+
- "*.md"
16+
17+
# Add 'client/java' to any changes within 'clients/java' folder or any subfolders
18+
client/java:
19+
- clients/java/**/*
20+
21+
# Add 'client/python' to any changes within 'clients/python' folder or any subfolders
22+
client/python:
23+
- clients/python/**/*
24+
25+
# Add 'docker' to any changes within 'docker' folder
26+
docker:
27+
- docker/*
28+
29+
# Add 'example' to any changes within 'examples' folder or any subfolders
30+
example:
31+
- examples/**/*
32+
33+
# Add 'proposal' to any changes within 'proposals' folder or any subfolders
34+
proposal:
35+
- proposals/**/*
36+
37+
# Add 'spec' to any changes within 'spec' folder
38+
spec:
39+
- spec/*
40+
41+
# Add 'web' to any changes within 'web' folder or any subfolders
42+
web:
43+
- web/**/*
44+
45+
46+
47+
##### Greetings ########################################################################################################
48+
# Comment to be posted to welcome users when they open their first PR
49+
firstPRWelcomeComment: >
50+
Thanks for opening your first pull request in the Marquez project! Please check out our contributing guidelines (https://github.com/MarquezProject/marquez/blob/main/CONTRIBUTING.md).
51+
52+
# Comment to be posted to congratulate user on their first merged PR
53+
firstPRMergeComment: >
54+
Great job! Congrats on your first merged pull request in the Marquez project!
55+
56+
# Comment to be posted to on first time issues
57+
firstIssueWelcomeComment: >
58+
Thanks for opening your first issue in the Marquez project! Please be sure to follow the issue template!

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ venv
3232
# Marquez configuration
3333
marquez.yml
3434

35+
# Metadata
36+
metadata.json
37+
3538
# jenv
3639
.java-version
3740

CHANGELOG.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,65 +6,65 @@
66

77
### Fixed
88

9-
* Fix py module release [#2057](https://github.com/MarquezProject/marquez/pull/2057) [@wslulciuc](https://github.com/wslulciuc)
10-
* Use /bin/sh in web/docker/entrypoint.sh [#2059](https://github.com/MarquezProject/marquez/pull/2059) [@wslulciuc](https://github.com/wslulciuc)
9+
* Fix py module release [`#2057`](https://github.com/MarquezProject/marquez/pull/2057) [@wslulciuc](https://github.com/wslulciuc)
10+
* Use `/bin/sh` in `web/docker/entrypoint.sh` [`#2059`](https://github.com/MarquezProject/marquez/pull/2059) [@wslulciuc](https://github.com/wslulciuc)
1111

1212
## [0.24.0](https://github.com/MarquezProject/marquez/compare/0.23.0...0.24.0) - 2022-08-02
1313

1414
### Added
1515

16-
* Add copyright lines to all source files [#1996](https://github.com/MarquezProject/marquez/pull/1996) [@merobi-hub](https://github.com/MarquezProject/marquez/commits?author=merobi-hub)
17-
* Add copyright and license guidelines in CONTRIBUTING.md [@wslulciuc](https://github.com/wslulciuc)
18-
* Add @FlywayTarget annotation to migration tests to control flyway upgrades [#2035](https://github.com/MarquezProject/marquez/pull/2035) [@collado-mike](https://github.com/collado-mike)
16+
* Add copyright lines to all source files [`#1996`](https://github.com/MarquezProject/marquez/pull/1996) [@merobi-hub](https://github.com/MarquezProject/marquez/commits?author=merobi-hub)
17+
* Add copyright and license guidelines in `CONTRIBUTING.md` [@wslulciuc](https://github.com/wslulciuc)
18+
* Add `@FlywayTarget` annotation to migration tests to control flyway upgrades [`#2035`](https://github.com/MarquezProject/marquez/pull/2035) [@collado-mike](https://github.com/collado-mike)
1919

2020
### Changed
2121

22-
* Updated `jobs_view` to stop computing FQN on reads and to compute on _writes_ instead [#2036](https://github.com/MarquezProject/marquez/pull/2036) [@collado-mike](https://github.com/collado-mike)
23-
* Runs row reduction [#2041](https://github.com/MarquezProject/marquez/pull/2041) [@collado-mike](https://github.com/collado-mike)
22+
* Updated `jobs_view` to stop computing FQN on reads and to compute on _writes_ instead [`#2036`](https://github.com/MarquezProject/marquez/pull/2036) [@collado-mike](https://github.com/collado-mike)
23+
* Runs row reduction [`#2041`](https://github.com/MarquezProject/marquez/pull/2041) [@collado-mike](https://github.com/collado-mike)
2424

2525
### Fixed
2626

27-
* Update `Run` in the openapi spec to include a `context` field [#2020](https://github.com/MarquezProject/marquez/pull/2020) [@esaych](https://github.com/Esaych)
28-
* Fix dataset openapi model [#2038](https://github.com/MarquezProject/marquez/pull/2038) [@esaych](https://github.com/Esaych)
29-
* Fix casing on lastLifecycleState [#2039](https://github.com/MarquezProject/marquez/pull/2039) [@esaych](https://github.com/Esaych)
30-
* Fix V45 migration to include initial population of jobs_fqn table [#2051](https://github.com/MarquezProject/marquez/pull/2051) [@collado-mike](https://github.com/collado-mike)
31-
* Fix symlinked jobs in queries [#2053](https://github.com/MarquezProject/marquez/pull/2053) [@collado-mike](https://github.com/collado-mike)
27+
* Update `Run` in the openapi spec to include a `context` field [`#2020`](https://github.com/MarquezProject/marquez/pull/2020) [@esaych](https://github.com/Esaych)
28+
* Fix dataset openapi model [`#2038`](https://github.com/MarquezProject/marquez/pull/2038) [@esaych](https://github.com/Esaych)
29+
* Fix casing on `lastLifecycleState` [`#2039`](https://github.com/MarquezProject/marquez/pull/2039) [@esaych](https://github.com/Esaych)
30+
* Fix V45 migration to include initial population of jobs_fqn table [`#2051`](https://github.com/MarquezProject/marquez/pull/2051) [@collado-mike](https://github.com/collado-mike)
31+
* Fix symlinked jobs in queries [`#2053`](https://github.com/MarquezProject/marquez/pull/2053) [@collado-mike](https://github.com/collado-mike)
3232

3333
## [0.23.0](https://github.com/MarquezProject/marquez/compare/0.22.0...0.23.0) - 2022-06-16
3434

3535
### Added
3636

37-
* Update docker-compose.yml: Randomly map postgres db port [#2000](https://github.com/MarquezProject/marquez/pull/2000) [@RNHTTR](https://github.com/RNHTTR)
38-
* Job parent hierarchy [#1935](https://github.com/MarquezProject/marquez/pull/1935) [#1980](https://github.com/MarquezProject/marquez/pull/1980) [#1992](https://github.com/MarquezProject/marquez/pull/1992) [@collado-mike](https://github.com/collado-mike)
37+
* Update docker-compose.yml: Randomly map postgres db port [`#2000`](https://github.com/MarquezProject/marquez/pull/2000) [@RNHTTR](https://github.com/RNHTTR)
38+
* Job parent hierarchy [`#1935`](https://github.com/MarquezProject/marquez/pull/1935) [`#1980`](https://github.com/MarquezProject/marquez/pull/1980) [`#1992`](https://github.com/MarquezProject/marquez/pull/1992) [@collado-mike](https://github.com/collado-mike)
3939

4040
### Changed
4141

42-
* Set default limit for listing datasets and jobs in UI from `2000` to `25` [#2018](https://github.com/MarquezProject/marquez/pull/2018) [@wslulciuc](https://github.com/wslulciuc)
42+
* Set default limit for listing datasets and jobs in UI from `2000` to `25` [`#2018`](https://github.com/MarquezProject/marquez/pull/2018) [@wslulciuc](https://github.com/wslulciuc)
4343
* Update OpenLineage write API to be non-transactional and avoid unnecessary locks on records under heavy contention [@collado-mike](https://github.com/collado-mike)
4444

4545
### Fixed
4646

47-
* Return the tag for postgresql to 12.1.0 [#2015](https://github.com/MarquezProject/marquez/pull/2015) [@rossturk](https://github.com/rossturk)
47+
* Return the tag for postgresql to 12.1.0 [`#2015`](https://github.com/MarquezProject/marquez/pull/2015) [@rossturk](https://github.com/rossturk)
4848

4949
## [0.22.0](https://github.com/MarquezProject/marquez/compare/0.21.0...0.22.0) - 2022-05-16
5050

5151
### Added
5252

53-
* Add support for `LifecycleStateChangeFacet` with an ability to softly delete datasets [#1847](https://github.com/MarquezProject/marquez/pull/1847)[@pawel-big-lebowski](https://github.com/pawel-big-lebowski)
54-
* Enable pod specific annotations in Marquez Helm Chart via `marquez.podAnnotations` [#1945](https://github.com/MarquezProject/marquez/pull/1945) [@wslulciuc](https://github.com/wslulciuc)
55-
* Add support for job renaming/redirection via symlink [#1947](https://github.com/MarquezProject/marquez/pull/1947) [@collado-mike](https://github.com/collado-mike)
56-
* Add `Created by` view for dataset versions along with SQL syntax highlighting in web UI [#1929](https://github.com/MarquezProject/marquez/pull/1929) [@phixMe](https://github.com/phixMe)
57-
* Add `operationId` to openapi spec [#1978](https://github.com/MarquezProject/marquez/pull/1978) [@phixMe](https://github.com/phixMe)
53+
* Add support for `LifecycleStateChangeFacet` with an ability to softly delete datasets [`#1847`](https://github.com/MarquezProject/marquez/pull/1847)[@pawel-big-lebowski](https://github.com/pawel-big-lebowski)
54+
* Enable pod specific annotations in Marquez Helm Chart via `marquez.podAnnotations` [`#1945`](https://github.com/MarquezProject/marquez/pull/1945) [@wslulciuc](https://github.com/wslulciuc)
55+
* Add support for job renaming/redirection via symlink [`#1947`](https://github.com/MarquezProject/marquez/pull/1947) [@collado-mike](https://github.com/collado-mike)
56+
* Add `Created by` view for dataset versions along with SQL syntax highlighting in web UI [`#1929`](https://github.com/MarquezProject/marquez/pull/1929) [@phixMe](https://github.com/phixMe)
57+
* Add `operationId` to openapi spec [`#1978`](https://github.com/MarquezProject/marquez/pull/1978) [@phixMe](https://github.com/phixMe)
5858

5959
### Changed
6060

61-
* Upgrade Flyway to v7.6.0 [#1974](https://github.com/MarquezProject/marquez/pull/1974) [@dakshin-k](https://github.com/dakshin-k)
61+
* Upgrade Flyway to v7.6.0 [`#1974`](https://github.com/MarquezProject/marquez/pull/1974) [@dakshin-k](https://github.com/dakshin-k)
6262

6363
### Fixed
6464

65-
* Remove size limits on namespaces, dataset names, and and source connection urls [#1925](https://github.com/MarquezProject/marquez/pull/1925) [@collado-mike](https://github.com/collado-mike)
66-
* Update namespace names to allow `=`, `@`, and `;` [#1936](https://github.com/MarquezProject/marquez/pull/1936) [@mobuchowski](https://github.com/mobuchowski)
67-
* Time duration display in web UI [#1950](https://github.com/MarquezProject/marquez/pull/1950) [@phixMe](https://github.com/phixMe)
65+
* Remove size limits on namespaces, dataset names, and and source connection urls [`#1925`](https://github.com/MarquezProject/marquez/pull/1925) [@collado-mike](https://github.com/collado-mike)
66+
* Update namespace names to allow `=`, `@`, and `;` [`#1936`](https://github.com/MarquezProject/marquez/pull/1936) [@mobuchowski](https://github.com/mobuchowski)
67+
* Time duration display in web UI [`#1950`](https://github.com/MarquezProject/marquez/pull/1950) [@phixMe](https://github.com/phixMe)
6868
* Enable web UI to access API via Helm Chart [@GZack2000](https://github.com/GZack2000)
6969

7070
## [0.21.0](https://github.com/MarquezProject/marquez/compare/0.20.0...0.21.0) - 2022-03-03

RELEASING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515

1616
![](./docs/assets/images/new-release.png)
1717

18+
# Release Cadence
19+
20+
A release will be initiated on the 15th day of each month unless this falls on a Friday, Saturday, Sunday or US holiday, in which case the release will commence on the following business day.
21+
1822
# Voting on Releases
1923

2024
Anyone may request a new release of the project in the #general Slack channel.

api/build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ plugins {
2121
}
2222

2323
ext {
24-
jdbi3Version = '3.28.0'
24+
jdbi3Version = '3.32.0'
2525
prometheusVersion = '0.15.0'
26-
testcontainersVersion = '1.17.1'
27-
sentryVersion = '5.7.3'
26+
testcontainersVersion = '1.17.3'
27+
sentryVersion = '5.7.4'
2828
}
2929

3030
dependencies {
@@ -43,9 +43,9 @@ dependencies {
4343
implementation "org.jdbi:jdbi3-postgres:${jdbi3Version}"
4444
implementation "org.jdbi:jdbi3-sqlobject:${jdbi3Version}"
4545
implementation 'com.google.guava:guava:31.1-jre'
46-
implementation 'org.dhatim:dropwizard-sentry:2.0.29'
46+
implementation 'org.dhatim:dropwizard-sentry:2.1.1-5'
4747
implementation "io.sentry:sentry:${sentryVersion}"
48-
implementation 'org.flywaydb:flyway-core:8.5.10'
48+
implementation 'org.flywaydb:flyway-core:8.5.13'
4949
implementation "org.postgresql:postgresql:${postgresqlVersion}"
5050
implementation 'com.graphql-java:graphql-java:18.1'
5151
implementation 'com.graphql-java-kickstart:graphql-java-servlet:12.0.0'

api/src/main/java/marquez/MarquezApp.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import lombok.NonNull;
2828
import lombok.extern.slf4j.Slf4j;
2929
import marquez.api.filter.JobRedirectFilter;
30+
import marquez.cli.MetadataCommand;
3031
import marquez.cli.SeedCommand;
3132
import marquez.common.Utils;
3233
import marquez.db.DbMigration;
@@ -75,6 +76,7 @@ public void initialize(@NonNull Bootstrap<MarquezConfig> bootstrap) {
7576
new EnvironmentVariableSubstitutor(ERROR_ON_UNDEFINED)));
7677

7778
// Add CLI commands
79+
bootstrap.addCommand(new MetadataCommand());
7880
bootstrap.addCommand(new SeedCommand());
7981

8082
bootstrap.getObjectMapper().disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);

api/src/main/java/marquez/api/DatasetResource.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import javax.validation.Valid;
1818
import javax.validation.constraints.Min;
1919
import javax.ws.rs.Consumes;
20+
import javax.ws.rs.DELETE;
2021
import javax.ws.rs.DefaultValue;
2122
import javax.ws.rs.GET;
2223
import javax.ws.rs.POST;
@@ -150,6 +151,28 @@ public Response list(
150151
return Response.ok(new ResultsPage<>("datasets", datasets, totalCount)).build();
151152
}
152153

154+
@Timed
155+
@ResponseMetered
156+
@ExceptionMetered
157+
@DELETE
158+
@Path("{dataset}")
159+
@Produces(APPLICATION_JSON)
160+
public Response delete(
161+
@PathParam("namespace") NamespaceName namespaceName,
162+
@PathParam("dataset") DatasetName datasetName) {
163+
throwIfNotExists(namespaceName);
164+
165+
Dataset dataset =
166+
datasetService
167+
.findDatasetByName(namespaceName.getValue(), datasetName.getValue())
168+
.orElseThrow(() -> new DatasetNotFoundException(datasetName));
169+
170+
datasetService
171+
.delete(namespaceName.getValue(), datasetName.getValue())
172+
.orElseThrow(() -> new DatasetNotFoundException(datasetName));
173+
return Response.ok(dataset).build();
174+
}
175+
153176
@Timed
154177
@ResponseMetered
155178
@ExceptionMetered

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import javax.validation.Valid;
1717
import javax.validation.constraints.Min;
1818
import javax.ws.rs.Consumes;
19+
import javax.ws.rs.DELETE;
1920
import javax.ws.rs.DefaultValue;
2021
import javax.ws.rs.GET;
2122
import javax.ws.rs.POST;
@@ -160,6 +161,25 @@ public Response list(
160161
return Response.ok(new ResultsPage<>("jobs", jobs, totalCount)).build();
161162
}
162163

164+
@Timed
165+
@ResponseMetered
166+
@ExceptionMetered
167+
@DELETE
168+
@Path("/namespaces/{namespace}/jobs/{job}")
169+
@Produces(APPLICATION_JSON)
170+
public Response delete(
171+
@PathParam("namespace") NamespaceName namespaceName, @PathParam("job") JobName jobName) {
172+
throwIfNotExists(namespaceName);
173+
174+
Job job =
175+
jobService
176+
.findJobByName(namespaceName.getValue(), jobName.getValue())
177+
.orElseThrow(() -> new JobNotFoundException(jobName));
178+
179+
jobService.delete(namespaceName.getValue(), jobName.getValue());
180+
return Response.ok(job).build();
181+
}
182+
163183
@Timed
164184
@ResponseMetered
165185
@ExceptionMetered

0 commit comments

Comments
 (0)