This is an automated email from the ASF dual-hosted git repository. adutra pushed a commit to branch feature/iceberg-1.11 in repository https://gitbox.apache.org/repos/asf/polaris.git
commit 2b66b5698510b12bfd67c9f39f193415d5d03c11 Merge: 443748b33b d14e52dd77 Author: Alexandre Dutra <[email protected]> AuthorDate: Thu Mar 5 16:26:28 2026 +0100 Merge remote-tracking branch 'origin/main' into feature/iceberg-1.11 .../actions/ci-incr-build-cache-prepare/action.yml | 4 +- .../actions/ci-incr-build-cache-save/action.yml | 2 +- .github/workflows/ci.yml | 30 +- .github/workflows/nightly-iceberg.yml | 2 +- .../release-2-update-release-candidate.yml | 4 +- .../release-3-build-and-publish-artifacts.yml | 10 +- .github/workflows/release-4-publish-release.yml | 36 +- CHANGELOG.md | 5 +- Makefile | 35 +- .../src/main/kotlin/polaris-java.gradle.kts | 89 +- .../src/main/kotlin/publishing/maven-utils.kt | 14 - build.gradle.kts | 8 +- client/python/pyproject.toml | 2 +- client/python/uv.lock | 135 +- doap.rdf | 55 + .../extension/auth/opa/OpaPolarisAuthorizer.java | 17 + .../extension/auth/opa/test/Dockerfile-opa-version | 2 +- extensions/federation/hadoop/build.gradle.kts | 1 + extensions/federation/hive/build.gradle.kts | 1 + getting-started | 1 + getting-started/README.md | 40 - gradle/banned-dependencies.txt | 11 + ...es.txt => banned-quarkus-prod-dependencies.txt} | 5 +- gradle/baselibs.versions.toml | 6 +- gradle/libs.versions.toml | 22 +- gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 4 +- helm/polaris/.helmignore | 4 +- helm/polaris/artifacthub-repo.yml | 2 +- helm/polaris/ci/nosql-persistence-values.yaml | 18 + helm/polaris/helm.md.gotmpl | 257 -- helm/polaris/templates/configmap.yaml | 37 +- helm/polaris/templates/deployment.yaml | 4 + helm/polaris/tests/configmap_test.yaml | 10 +- helm/polaris/tests/deployment_test.yaml | 19 + helm/polaris/values.schema.json | 147 +- helm/polaris/values.yaml | 472 +++- integration-tests/build.gradle.kts | 2 + .../PolarisManagementServiceIntegrationTest.java | 53 +- .../test/PolarisPolicyServiceIntegrationTest.java | 2 +- .../nosql/metastore/TestNoSqlMetaStoreManager.java | 4 + persistence/relational-jdbc/build.gradle.kts | 4 + .../persistence/relational/jdbc/DatabaseType.java | 20 - .../relational/jdbc/JdbcBasePersistenceImpl.java | 78 +- .../relational/jdbc/JdbcBootstrapUtils.java | 14 - .../jdbc/JdbcMetaStoreManagerFactory.java | 8 +- .../relational/jdbc/QueryGenerator.java | 9 +- .../jdbc/models/ModelCommitMetricsReport.java | 354 +++ .../relational/jdbc/models/ModelEntity.java | 28 +- .../relational/jdbc/models/ModelGrantRecord.java | 10 +- .../jdbc/models/ModelPolicyMappingRecord.java | 10 +- .../models/ModelPrincipalAuthenticationData.java | 10 +- .../jdbc/models/ModelScanMetricsReport.java | 362 +++ .../src/main/resources/h2/schema-metrics-v1.sql | 166 -- .../src/main/resources/h2/schema-v4.sql | 132 +- .../main/resources/postgres/schema-metrics-v1.sql | 177 -- .../src/main/resources/postgres/schema-v4.sql | 130 + .../relational/jdbc/JdbcBootstrapUtilsTest.java | 31 - .../MetricsPersistenceBootstrapValidationTest.java | 159 -- .../jdbc/MetricsReportPersistenceTest.java | 201 ++ .../relational/jdbc/QueryGeneratorTest.java | 10 - .../relational/jdbc/SpiModelConverterTest.java | 209 ++ .../jdbc/models/ModelCommitMetricsReportTest.java | 276 +++ .../jdbc/models/ModelScanMetricsReportTest.java | 270 +++ plugins/spark/v3.5/spark/build.gradle.kts | 34 +- .../v3.5/spark/src/main/no-license-notice-marker | 1 + .../AuthorizationDecision.java} | 25 +- .../polaris/core/auth/AuthorizationRequest.java | 109 + .../polaris/core/auth/AuthorizationState.java | 53 + .../core/auth/AuthorizationTargetBinding.java | 56 + .../polaris/core/auth/PolarisAuthorizer.java | 36 + .../polaris/core/auth/PolarisAuthorizerImpl.java | 29 +- .../apache/polaris/core/auth/PolarisSecurable.java | 47 + .../polaris/core/config/FeatureConfiguration.java | 77 +- .../polaris/core/config/PolarisConfiguration.java | 19 +- .../RequestIdSupplier.java} | 30 +- .../apache/polaris/core/entity/CatalogEntity.java | 18 +- .../metrics/iceberg/MetricsRecordConverter.java | 67 + .../polaris/core/persistence/BasePersistence.java | 7 +- .../core/persistence/PolarisMetaStoreManager.java | 4 +- .../core/persistence/bootstrap/SchemaOptions.java | 7 - .../persistence/metrics/MetricsPersistence.java | 110 +- .../persistence/metrics/MetricsQueryCriteria.java | 165 -- .../persistence/metrics/MetricsRecordIdentity.java | 39 + .../metrics/NoOpMetricsPersistence.java | 60 - .../persistence/metrics/PolarisMetricsManager.java | 78 + .../core/persistence/metrics/ReportIdToken.java | 136 -- .../resolver/PolarisResolutionManifest.java | 24 +- .../core/persistence/resolver/Resolvable.java | 47 + .../core/persistence/resolver/Resolver.java | 177 +- .../TransactionalMetaStoreManagerImpl.java | 2 +- .../core/storage/CredentialVendingContext.java | 7 + .../storage/PolarisStorageConfigurationInfo.java | 4 + .../aws/AwsCredentialsStorageIntegration.java | 22 +- .../core/storage/aws/AwsSessionTagsBuilder.java | 70 +- .../polaris/core/storage/aws/SessionTagField.java | 116 + .../core/storage/cache/StorageCredentialCache.java | 12 +- ...ris.core.persistence.pagination.Token$TokenType | 1 - .../core/auth/AuthorizationRequestTest.java | 88 + .../core/auth/PolarisAuthorizerImplTest.java | 42 + .../polaris/core/persistence/ResolverTest.java | 138 ++ .../PolarisStorageConfigurationInfoTest.java | 8 + .../aws/AwsCredentialsStorageIntegrationTest.java | 110 +- .../BasePolarisMetaStoreManagerTest.java | 6 + .../persistence/PolarisTestMetaStoreManager.java | 72 + regtests/notebook_requirements.txt | 2 +- releasey/libs/_constants.sh | 2 + releasey/libs/_version.sh | 4 + runtime/admin/build.gradle.kts | 6 + runtime/admin/distribution/LICENSE | 938 +++++--- runtime/admin/distribution/NOTICE | 233 +- .../apache/polaris/admintool/BootstrapCommand.java | 9 - .../apache/polaris/admintool/PolarisAdminTool.java | 4 +- .../polaris/admintool/nosql/BaseNoSqlCommand.java | 50 + .../polaris/admintool/nosql/NoSqlCommand.java | 46 + .../maintenance/BaseNoSqlMaintenanceCommand.java | 178 ++ .../maintenance/NoSqlMaintenanceInfoCommand.java | 26 +- .../maintenance/NoSqlMaintenanceLogCommand.java | 50 + .../maintenance/NoSqlMaintenanceRunCommand.java | 57 + .../src/main/resources/application.properties | 19 + .../nosql/NoSqlInMemoryBootstrapCommandTest.java | 13 +- .../admintool/nosql/NoSqlInMemoryProfile.java | 18 +- .../nosql/NoSqlInMemoryPurgeCommandTest.java | 27 +- .../nosql/NoSqlMongoBootstrapCommandTest.java | 13 +- .../nosql/NoSqlMongoMaintenanceCommandTest.java | 80 + .../polaris/admintool/nosql/NoSqlMongoProfile.java | 26 +- .../nosql/NoSqlMongoPurgeCommandTest.java | 27 +- .../jdbc/RelationalJdbcBootstrapCommandTest.java | 18 +- .../MongoTestResourceLifecycleManager.java | 56 + .../polaris/admintool/Dockerfile-postgres-version | 2 +- runtime/distribution/LICENSE | 691 ++---- runtime/distribution/NOTICE | 282 +-- runtime/server/distribution/LICENSE | 1260 ++++++---- runtime/server/distribution/NOTICE | 279 +-- runtime/service/build.gradle.kts | 5 + .../polaris/service/admin/PolarisAdminService.java | 16 +- .../service/auth/AuthenticationConfiguration.java | 2 + .../auth/AuthenticationRealmConfiguration.java | 2 +- .../service/auth/external/OidcConfiguration.java | 2 + .../service/catalog/common/CatalogHandler.java | 63 +- .../service/catalog/common/ExceptionUtils.java | 102 + .../generic/PolarisGenericTableCatalog.java | 34 +- .../catalog/iceberg/CatalogHandlerUtils.java | 18 +- .../service/catalog/iceberg/IcebergCatalog.java | 71 +- .../catalog/iceberg/IcebergCatalogAdapter.java | 2 +- .../catalog/iceberg/IcebergCatalogHandler.java | 53 +- .../catalog/io/StorageAccessConfigProvider.java | 28 +- .../service/catalog/policy/PolicyCatalog.java | 9 +- .../catalog/policy/PolicyCatalogHandler.java | 6 +- .../service/catalog/policy/PolicyCatalogUtils.java | 10 +- .../polaris/service/config/ServiceProducers.java | 31 + .../identity/ServiceIdentityConfiguration.java | 3 +- .../service/reporting/DefaultMetricsReporter.java | 21 +- .../reporting/PersistingMetricsReporter.java | 158 ++ .../service/reporting/PolarisMetricsReporter.java | 4 + .../PolarisStorageIntegrationProviderImpl.java | 33 +- .../service/storage/StorageConfiguration.java | 71 +- .../admin/PolarisAdminServiceAuthzTest.java | 2498 ++++++-------------- .../service/admin/PolarisAuthzTestBase.java | 337 +-- .../service/admin/PolarisAuthzTestsFactory.java | 370 +++ ...PolarisGenericTableCatalogHandlerAuthzTest.java | 147 +- .../AbstractIcebergCatalogHandlerAuthzTest.java | 2244 ++++++------------ .../iceberg/AbstractIcebergCatalogViewTest.java | 2 +- ...ebergCatalogHandlerFineGrainedDisabledTest.java | 28 +- .../policy/PolicyCatalogHandlerAuthzTest.java | 694 ++---- .../polaris/service/entity/CatalogEntityTest.java | 1 + .../reporting/DefaultMetricsReporterTest.java | 12 +- .../reporting/PersistingMetricsReporterTest.java | 172 ++ .../service/storage/StorageConfigurationTest.java | 158 +- .../aws/cloudwatch/Dockerfile-localstack-version | 2 +- .../org/apache/polaris/service/TestServices.java | 2 +- .../PostgresRelationalJdbcLifeCycleManagement.java | 30 +- .../test/commons/Dockerfile-postgres-version | 2 +- settings.gradle.kts | 4 - site/.gitignore | 1 + site/README.md | 13 +- site/assets/scss/_styles_project.scss | 23 + site/assets/scss/_variables_project.scss | 7 + site/bin/exclude_version_from_search.sh | 2 +- site/content/community/meetings/_index.adoc | 8 +- site/content/community/release-guides/_index.md | 37 + .../release-guides/manual-release-guide.md | 33 +- .../content/{guides/_index.adoc => docs/_index.md} | 42 +- .../quickstart => site/content/guides}/README.md | 8 +- site/content/guides/_index.md | 52 + .../guides}/assets/cloud_providers/await-s3.sh | 0 .../guides}/assets/cloud_providers/deploy-aws.sh | 2 +- .../guides}/assets/cloud_providers/deploy-azure.sh | 4 +- .../guides}/assets/cloud_providers/deploy-gcp.sh | 2 +- .../guides}/assets/keycloak/iceberg-realm.json | 0 .../guides}/assets/polaris/create-catalog.sh | 0 .../content/guides}/assets/polaris/obtain-token.sh | 0 .../assets/postgres/docker-compose-postgres.yml | 2 +- .../guides}/assets/postgres/postgresql.conf | 0 .../guides}/assets/prometheus/prometheus.yml | 0 .../assets/trino-config/catalog/iceberg.properties | 0 .../content/guides}/ceph/.gitignore | 0 .../content/guides}/ceph/ceph-conf/ceph.conf | 0 .../content/guides}/ceph/docker-compose.yml | 2 +- .../content/guides/ceph/dot-env.example | 0 .../README.md => site/content/guides/ceph/index.md | 58 +- .../guides}/jdbc/docker-compose-bootstrap-db.yml | 0 .../content/guides}/jdbc/docker-compose.yml | 0 .../README.md => site/content/guides/jdbc/index.md | 57 +- .../content/guides}/keycloak/docker-compose.yml | 0 .../content/guides/keycloak/index.md | 57 +- .../content/guides}/minio/docker-compose.yml | 0 .../content/guides/minio/index.md | 63 +- .../content/guides}/ozone/docker-compose.yml | 0 .../content/guides/ozone/index.md | 56 +- .../content/guides}/quickstart/docker-compose.yml | 2 +- .../guides/{_index.adoc => quickstart/index.md} | 18 +- .../content/guides}/rustfs/docker-compose.yml | 2 +- .../content/guides/rustfs/index.md | 60 +- .../content/guides}/spark/docker-compose.yml | 4 +- .../content/guides/spark/index.md | 51 +- .../content/guides}/spark/notebooks/Dockerfile | 0 .../guides}/spark/notebooks/SparkPolaris.ipynb | 0 .../content/guides}/telemetry/docker-compose.yml | 2 +- .../content/guides/telemetry/index.md | 57 +- site/content/in-dev/unreleased/_index.md | 10 +- site/content/in-dev/unreleased/admin-tool.md | 90 +- .../in-dev/unreleased/command-line-interface.md | 2 +- site/content/in-dev/unreleased/configuration.md | 260 -- .../unreleased/configuration/_index.md} | 20 +- .../configuration/config-sections/_index.md} | 19 +- .../flags-polaris_behavior_changes.md | 81 + .../config-sections/flags-polaris_features.md | 485 ++++ .../config-sections/smallrye-polaris_async.md} | 20 +- .../smallrye-polaris_authentication.md | 45 + .../smallrye-polaris_authorization.md | 12 +- .../smallrye-polaris_authorization_opa.md | 42 + .../smallrye-polaris_credential_manager.md} | 21 +- .../smallrye-polaris_event_listener.md} | 17 +- ...allrye-polaris_event_listener_aws_cloudwatch.md | 33 + ...event_listener_persistence_in_memory_buffer.md} | 18 +- .../config-sections/smallrye-polaris_file_io.md} | 17 +- .../smallrye-polaris_iceberg_metrics_reporting.md} | 17 +- .../config-sections/smallrye-polaris_log.md} | 18 +- .../config-sections/smallrye-polaris_metrics.md | 32 + .../config-sections/smallrye-polaris_node.md} | 23 +- .../config-sections/smallrye-polaris_oidc.md | 46 + .../smallrye-polaris_persistence.md | 35 + .../smallrye-polaris_persistence_cache.md | 37 + ..._persistence_distributed_cache_invalidations.md | 34 + .../smallrye-polaris_persistence_nosql.md} | 19 +- ...allrye-polaris_persistence_nosql_maintenance.md | 39 + ...olaris_persistence_nosql_maintenance_catalog.md | 55 + .../smallrye-polaris_persistence_nosql_mongodb.md} | 21 +- ...mallrye-polaris_persistence_relational_jdbc.md} | 19 +- .../smallrye-polaris_rate_limiter_filter.md} | 17 +- .../smallrye-polaris_rate_limiter_token_bucket.md} | 19 +- .../config-sections/smallrye-polaris_readiness.md} | 17 +- .../smallrye-polaris_realm_context.md | 31 + .../smallrye-polaris_reserved_properties.md} | 16 +- .../smallrye-polaris_secrets_manager.md} | 17 +- .../smallrye-polaris_service_identity.md | 58 + .../config-sections/smallrye-polaris_storage.md | 45 + .../smallrye-polaris_storage_credential_cache.md} | 17 +- .../config-sections/smallrye-polaris_tasks.md} | 18 +- .../configuration/configuration-reference.md | 184 ++ .../configuring-polaris-for-production/_index.md | 10 +- .../configuring-gcs-cloud-storage-specific.md | 0 .../configuration/configuring-polaris.md | 157 ++ .../configuring-helm.md | 154 -- .../deploying-polaris/cloud-deploy/deploy-aws.md | 2 +- .../deploying-polaris/cloud-deploy/deploy-azure.md | 2 +- .../deploying-polaris/cloud-deploy/deploy-gcp.md | 2 +- .../deploying-polaris/local-deploy.md | 2 +- .../getting-started/using-polaris/_index.md | 2 +- .../content/in-dev/unreleased/helm-chart/_index.md | 61 + .../in-dev/unreleased/helm-chart/authentication.md | 299 +++ site/content/in-dev/unreleased/helm-chart/dev.md | 268 +++ .../in-dev/unreleased/helm-chart/networking.md | 287 +++ .../in-dev/unreleased/helm-chart/persistence.md | 199 ++ .../in-dev/unreleased/helm-chart/production.md | 215 ++ .../{helm.md => helm-chart/reference.md} | 688 +++--- .../unreleased/helm-chart/reference.md.gotmpl | 9 +- .../in-dev/unreleased/metastores/nosql-mongodb.md | 8 + site/docker/Dockerfile | 13 +- site/go.mod | 2 +- site/go.sum | 8 +- site/hugo.yaml | 54 +- site/layouts/_default/redirect.html | 14 + site/layouts/docs/baseof.html | 7 +- site/layouts/{releases => guides}/baseof.html | 21 +- site/layouts/partials/breadcrumb.html | 92 + site/layouts/partials/docs-link.html | 30 + site/layouts/partials/head.html | 67 +- site/layouts/partials/navbar.html | 20 +- site/layouts/partials/releasePages.html | 29 +- ...r-releases-tree.html => sidebar-docs-tree.html} | 73 +- .../{sidebar-releases.html => sidebar-docs.html} | 4 +- site/layouts/releases/baseof.html | 2 +- site/layouts/shortcodes/docs-link.html | 20 + .../layouts/shortcodes/include-config-section.html | 26 + spec/polaris-management-service.yml | 3 + tools/config-docs/generator/build.gradle.kts | 2 + .../polaris/docs/generator/DocGenDoclet.java | 88 +- .../polaris/docs/generator/MarkdownFormatter.java | 31 + .../generator/PolarisConfigurationConfigs.java | 189 ++ .../docs/generator/PolarisConfigurationInfo.java | 18 +- .../generator/PolarisConfigurationSectionPage.java | 75 + .../docs/generator/SmallRyeConfigPropertyInfo.java | 16 + .../polaris/docs/generator/SmallRyeConfigs.java | 27 +- tools/config-docs/site/build.gradle.kts | 65 + 306 files changed, 14516 insertions(+), 9856 deletions(-) diff --cc gradle/libs.versions.toml index 2edb8fd44f,ba85880a3c..05c8286609 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@@ -18,9 -18,9 +18,9 @@@ # [versions] - checkstyle = "13.2.0" - hadoop = "3.4.2" + checkstyle = "13.3.0" + hadoop = "3.4.3" -iceberg = "1.10.1" # Ensure to update the iceberg version in regtests and getting-started to keep them up-to-date +iceberg = "1.11.0-SNAPSHOT" # Ensure to update the iceberg version in regtests and getting-started to keep them up-to-date immutables = "2.12.1" jmh = "1.37" picocli = "4.7.7" diff --cc settings.gradle.kts index 19b2eab534,71e384a7c7..ec53dc3315 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@@ -121,13 -121,9 +121,9 @@@ dependencyResolutionManagement repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS repositories { mavenCentral() - maven { - url = uri("https://jitpack.io") - content { includeModule("com.github.RoaringBitmap.RoaringBitmap", "roaringbitmap") } - } val useApacheSnapshots = providers.gradleProperty("useApacheSnapshots").orNull?.toBoolean() == true - if (useApacheSnapshots) { + if (useApacheSnapshots || true) { // This is a hack to let Renovate _not_ query the Apache snapshot repository for all // dependencies. // See https://github.com/renovatebot/renovate/discussions/41291
