Skip to content

Commit c28b05e

Browse files
snazyHonahXgh-yzoumansehajsinghrenovate-bot
authored
Merge OSS/main, adopt to changes from Generalize bootstrapping in servers (#53)
* Policy Store: PolicyMappingRecord with Persistence Impl (apache#1104) * Spark: Setup repository code structure and build (apache#1190) * Added freshness aware table loading using metadata file location for ETag (apache#1037) * Pulled in iceberg 1.8.0 spec changes for freshness aware table loading and added feature to Polaris * Changed etag support to use entityId:version tuple * fixed getresponse call * Changed etagged response to record and gave default implementation to ETaggableEntity * Made iceberg rest spec docs clearer * Added HTTP Compliant ETag and IfNoneMatch representations and separated persistence from etag logic * Changed ETag to be a record and improved semantics of IfNoneMatch * Fixed semantics of if none match * Removed ETag representation, consolidated in IfNoneMatch * fixed if none match parsing * Added table entity retrieval method to table operations * removed accidental commit of pycache folders * Fixed formatting * Changed to use metadata location hash * Ran formatting * use sha256 * Moved out ETag functions to utility class and removed ETaggedLoadTableResponse * Addressed comments * Fixed IcebergTableLikeEntity package rename * main: Update dependency io.opentelemetry.semconv:opentelemetry-semconv to v1.31.0 (apache#1288) * Update LICENSE and NOTICE in the distributions (admin and server) (apache#1258) * Gradle/Quarkus: make imageBuild task depend on jandex (apache#1290) * Core: Clarify the atomicity of BasePersistence methods (apache#1274) * Implement GenericTableCatalogAdapter (apache#1264) * rebase * more fixes * autolint * working on tests * stable test * autolint * polish * changes per review * some changes per review * grants * autolint * changes per review * changes per review * typofix * Improve code-containment and efficiency of etag-aware loading (apache#1296) * Improve code-containment and efficiency of etag-aware loading -Make the hash generation resilient against null metadataLocation -Use getResolvedPath instead of getPassthroughResolvedPath to avoid redundant persistence round-trip -Only try to calculate the etag for comparison against ifNoneMatch if the ifNoneMatch is actually provided * Add strict null-checking at callsites to generateETag, disallow passing null to generator * Add TODO to refactor shared logic for etag generation * Core: Add Endpoints and resource paths for Generic Table (apache#1286) * main: Update dependency com.nimbusds:nimbus-jose-jwt to v10.1 (apache#1299) * [JDBC] Part1 : ADD SQL script for Polaris setup (apache#1276) * main: Update registry.access.redhat.com/ubi9/openjdk-21-runtime Docker tag to v1.22-1.1743605859 (apache#1300) * done (apache#1297) * Add Polaris Community Meeting for April 3, 2025 (apache#1304) * Use config-file to define errorprone rule (apache#1233) Also enabled a couple more simple rules, and adding suppressions/fixes for/to the code. The two rules `EqualsGetClass` and `UnusedMethod`, which I think are useful, are not enabled yet, because that would mean actual code changes, which I do not want to do in this PR. The rule `PatternMatchingInstanceof`, introduced in apache#393, is disabled in this PR. It does not work before errorrpone 2.37.0 (via apache#1213) - requires additional changes to enable the rule (see apache#1215). * Add Yun as a contributor (apache#1310) * Refactor CatalogHandler to comply with ErrorProne rules (apache#1312) Fix the CI error after apache#1233 * Implement PolicyCatalog Stage 1: CRUD + ListPolicies (apache#1294) * main: Update dependency io.opentelemetry:opentelemetry-bom to v1.49.0 (apache#1316) * main: Update docker.io/jaegertracing/all-in-one Docker tag to v1.68.0 (apache#1317) * main: Update dependency boto3 to v1.37.28 (apache#1328) * main: Update dependency software.amazon.awssdk:bom to v2.31.16 (apache#1329) * Make `BasePolaritsMetaStoreManagerTest` and `(Base)ResolverTest` reusable (apache#1308) Moves the test cases into the `Base*` classes and make sure the classes can be reused by other persistence implementations. * main: Update dependency io.opentelemetry.semconv:opentelemetry-semconv to v1.32.0 (apache#1293) * main: Update mockito monorepo to v5.17.0 (apache#1311) * PySpark Update AWS Region (apache#1302) Co-authored-by: Travis Bowen <travis.bowen@snowflake.com> * main: Update dependency com.nimbusds:nimbus-jose-jwt to v10.2 (apache#1334) * main: Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.0.3 (apache#1335) * Maven publication: Produce correct `<scm><tag>` in `pom.xml` (apache#1330) `project.scm.tag` in a Maven pom is intended to refer to the SCM (Git) tag. We currently publish `main`, which is incorrect. This change omits the SCM tag for snapshot builds, but emits the Git tag for releases. * Remove `@StaticInitSafe` annotation (apache#1331) There was an issue around mapped configurations having the `@StaticInitSafe` annotation that led to _two_ instances (a "static" one and a "somewhet application-scoped" one) - this was fixed in Quarkus 3.21. One bug in smallrye-config is fixed for Quarkus > 3.21.0, another issue however remains. Since `@StaticInitSafe` annotated configs seem to cause some weird issues, it seems legit to remote that annotation altogether. This approach was [taken in Nessie](projectnessie/nessie#10606) as well. Investigations (via practical experiments) have proven that there's no measurable impact (runtime + heap) when doing this - and that's also been confirmed by Quarkus + Smallrye-config maintainers. Hence this change remotes that annotation from the code base. * Build/Release: Add a "generate digest" task and use for source tarball and Quarkus distributables (apache#1271) * Ensure that digest and signature are generated for both Polaris-Server and admin tar/zip distribution * Move "generate digest" functionality to a Gradle task * main: Update dependency com.google.errorprone:error_prone_core to v2.37.0 (apache#1213) * main: Update Quarkus Platform and Group to v3.21.1 (apache#1291) * main: Update dependency io.netty:netty-codec-http2 to v4.2.0.Final (apache#1301) * Remove unnecessary `clean` and `--no-build-cache` from Gradle invocations (apache#1338) `quarkusAppPartsBuild --rerun` is the right way to force a Docker image build. * Generalize bootstrapping in servers (apache#1313) * Remove `instanceof` checks from `QuarkusProducers`. * Remove the now unused `onStartup` method from `InMemoryPolarisMetaStoreManagerFactory`. * Instead, call the good old `bootstrapRealms` method from `QuarkusProducers`. * Add new config property to control which MetaStore types are bootstrapped automatically (defaults to `in-memory` as before). * There is no bootstrap behaviour change in this PR, only refactorings to simplify code. * Add info log message to indicate when a realm is bootstrapped in runtime using preset credentials. Future enhancements may include pulling preset credentials from a secret manager like Vault for bootstrapping (s discussed in comments on apache#1228). * main: Update actions/stale digest to 816d9db (apache#1341) * main: Update dependency com.adobe.testing:s3mock-testcontainers to v4 (apache#1342) * Revert "Introduce MetaStoreManagerFactory.initializeForService" This reverts commit 23abc6e322de66b8aadccdf6b2614cf8ab658ffe. * NoSQL: Adopt to change in MSMF --------- Co-authored-by: Honah (Jonas) J. <honahx@apache.org> Co-authored-by: gh-yzou <167037035+gh-yzou@users.noreply.github.com> Co-authored-by: Mansehaj Singh <msehajs@gmail.com> Co-authored-by: Mend Renovate <bot@renovateapp.com> Co-authored-by: JB Onofré <jbonofre@apache.org> Co-authored-by: Alexandre Dutra <adutra@users.noreply.github.com> Co-authored-by: Yufei Gu <yufei@apache.org> Co-authored-by: Eric Maynard <eric.maynard+oss@snowflake.com> Co-authored-by: Dennis Huo <7410123+dennishuo@users.noreply.github.com> Co-authored-by: Prashant Singh <35593236+singhpk234@users.noreply.github.com> Co-authored-by: Travis Bowen <122238243+travis-bowen@users.noreply.github.com> Co-authored-by: Travis Bowen <travis.bowen@snowflake.com> Co-authored-by: Dmitri Bourlatchkov <dmitri.bourlatchkov@dremio.com>
1 parent f563dbc commit c28b05e

File tree

30 files changed

+139
-142
lines changed

30 files changed

+139
-142
lines changed

.github/workflows/helm.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,11 @@ jobs:
9999
if: steps.list-changed.outputs.changed == 'true'
100100
run: |
101101
eval $(minikube -p minikube docker-env)
102-
./gradlew :polaris-quarkus-server:assemble :polaris-quarkus-admin:assemble \
102+
./gradlew \
103+
:polaris-quarkus-server:assemble \
104+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
105+
:polaris-quarkus-admin:assemble \
106+
:polaris-quarkus-admin:quarkusAppPartsBuild --rerun \
103107
-Dquarkus.container-image.build=true \
104108
-PeclipseLinkDeps=org.postgresql:postgresql:42.7.4
105109
minikube image ls

.github/workflows/regtest.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ jobs:
4545

4646
- name: Image build
4747
run: |
48-
./gradlew :polaris-quarkus-server:assemble -Dquarkus.container-image.build=true
48+
./gradlew \
49+
:polaris-quarkus-server:assemble \
50+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
51+
-Dquarkus.container-image.build=true
4952
5053
- name: Regression Test
5154
env:

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
stale:
2323
runs-on: ubuntu-24.04
2424
steps:
25-
- uses: actions/stale@ba23c1cb02e5cb8f885b0994d870e6032be00186
25+
- uses: actions/stale@816d9db1aba399a7f70277f1a2b01a4d21497fdd
2626
with:
2727
days-before-close: 5
2828
days-before-stale: 30

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,13 @@ select * from db1.table1;
7676

7777
#### Running in Docker
7878

79-
- `./gradlew clean :polaris-quarkus-server:assemble -Dquarkus.container-image.build=true --no-build-cache` - To
80-
build the image locally.
79+
- To build the image locally:
80+
```bash
81+
./gradlew \
82+
:polaris-quarkus-server:assemble \
83+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
84+
-Dquarkus.container-image.build=true
85+
```
8186
- `docker run -p 8181:8181 -p 8182:8182 apache/polaris:latest` - To run the image.
8287

8388
The Polaris codebase contains some docker compose examples to quickly get started with Polaris,

extension/persistence/eclipselink/src/main/java/org/apache/polaris/extension/persistence/impl/eclipselink/EclipseLinkPolarisMetaStoreManagerFactory.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import jakarta.enterprise.context.ApplicationScoped;
2525
import jakarta.inject.Inject;
2626
import java.nio.file.Path;
27-
import java.util.List;
2827
import org.apache.polaris.core.PolarisDiagnostics;
2928
import org.apache.polaris.core.context.RealmContext;
3029
import org.apache.polaris.core.persistence.LocalPolarisMetaStoreManagerFactory;
@@ -55,10 +54,6 @@ protected EclipseLinkPolarisMetaStoreManagerFactory(PolarisDiagnostics diagnosti
5554
super(diagnostics);
5655
}
5756

58-
@Override
59-
public void initializeForService(
60-
@Nonnull List<String> realmIds, @Nonnull String defaultRealmId) {}
61-
6257
@Override
6358
protected PolarisEclipseLinkStore createBackingStore(@Nonnull PolarisDiagnostics diagnostics) {
6459
return new PolarisEclipseLinkStore(diagnostics);

getting-started/eclipselink/README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@ This example requires `jq` to be installed on your machine.
2525
the Postgres JDBC driver:
2626

2727
```shell
28-
./gradlew clean :polaris-quarkus-server:assemble :polaris-quarkus-admin:assemble \
28+
./gradlew \
29+
:polaris-quarkus-server:assemble \
30+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
31+
:polaris-quarkus-admin:assemble \
32+
:polaris-quarkus-admin:quarkusAppPartsBuild --rerun \
2933
-PeclipseLinkDeps=org.postgresql:postgresql:42.7.4 \
3034
-Dquarkus.container-image.tag=postgres-latest \
31-
-Dquarkus.container-image.build=true \
32-
--no-build-cache
35+
-Dquarkus.container-image.build=true
3336
```
3437

3538
2. Start the docker compose group by running the following command from the root of the repository:

getting-started/spark/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ A Jupyter notebook is used to run PySpark.
2727
If a Polaris image is not already present locally, build one with the following command:
2828

2929
```shell
30-
./gradlew clean :polaris-quarkus-server:assemble -Dquarkus.container-image.build=true --no-build-cache
30+
./gradlew \
31+
:polaris-quarkus-server:assemble \
32+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
33+
-Dquarkus.container-image.build=true
3134
```
3235

3336
## Run the `docker-compose` file

getting-started/telemetry/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ This example requires `jq` to be installed on your machine.
2424
1. Build the Polaris image if it's not already present locally:
2525

2626
```shell
27-
./gradlew clean :polaris-quarkus-server:assemble -Dquarkus.container-image.build=true --no-build-cache
27+
./gradlew \
28+
:polaris-quarkus-server:assemble \
29+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
30+
-Dquarkus.container-image.build=true
2831
```
2932

3033
2. Start the docker compose group by running the following command from the root of the repository:

getting-started/trino/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ This getting started guide provides a `docker-compose` file to set up [Trino](ht
2424
## Build Polaris Image
2525
Build Polaris Image while Docker is running
2626
```
27-
./gradlew clean :polaris-quarkus-server:assemble -Dquarkus.container-image.build=true --no-build-cache
27+
./gradlew \
28+
:polaris-quarkus-server:assemble \
29+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
30+
-Dquarkus.container-image.build=true
2831
```
2932

3033
## Run the `docker-compose` file

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ prometheus-metrics-exporter-servlet-jakarta = { module = "io.prometheus:promethe
9292
quarkus-bom = { module = "io.quarkus.platform:quarkus-bom", version.ref = "quarkus" }
9393
scala212-lang-library = { module = "org.scala-lang:scala-library", version.ref = "scala212" }
9494
scala212-lang-reflect = { module = "org.scala-lang:scala-reflect", version.ref = "scala212" }
95-
s3mock-testcontainers = { module = "com.adobe.testing:s3mock-testcontainers", version = "3.12.0" }
95+
s3mock-testcontainers = { module = "com.adobe.testing:s3mock-testcontainers", version = "4.0.0" }
9696
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
9797
smallrye-common-annotation = { module = "io.smallrye.common:smallrye-common-annotation", version = "2.11.0" }
9898
smallrye-config-core = { module = "io.smallrye.config:smallrye-config-core", version = "3.12.4" }

0 commit comments

Comments
 (0)