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 443748b33b9053b55e1c98d06b3c3ce17dfb42d6
Merge: b324ad6278 e790d68808
Author: Alexandre Dutra <[email protected]>
AuthorDate: Sat Feb 21 16:21:09 2026 +0100

    Merge remote-tracking branch 'origin/main' into feature/iceberg-1.11

 .asf.yaml                                          |    6 +-
 .github/SECRETS.md                                 |   67 +
 .github/renovate.json5                             |   14 +-
 .github/workflows/ci.yml                           |   34 +-
 .../workflows/release-1-create-release-branch.yml  |    4 +-
 .../release-2-update-release-candidate.yml         |    2 +-
 .../release-3-build-and-publish-artifacts.yml      |  103 +-
 .github/workflows/release-4-publish-release.yml    |   93 +-
 .../release-X-cancel-release-candidate.yml         |    8 +-
 .github/workflows/stale.yml                        |    2 +-
 CHANGELOG.md                                       |    6 +
 CHAT_BYLAWS.md                                     |   14 +-
 DISCLAIMER                                         |   10 -
 Makefile                                           |  240 ++--
 NOTICE                                             |    4 +-
 README.md                                          |    8 +-
 api/polaris-catalog-service/build.gradle.kts       |    3 +
 .../polaris/service/types/PolicyIdentifier.java    |  122 +-
 .../src/main/kotlin/polaris-java.gradle.kts        |    2 +-
 .../src/main/kotlin/publishing/rootProject.kt      |    9 +-
 client/python/docker-compose.yml                   |    2 +-
 client/python/pyproject.toml                       |    2 +-
 client/python/uv.lock                              |   14 +-
 .../extension/auth/opa/OpaHttpClientFactory.java   |    8 +-
 .../auth/opa/OpaPolarisAuthorizerFactory.java      |   10 +-
 .../auth/opa/token/FileBearerTokenProvider.java    |   18 +-
 .../auth/opa/token/StaticBearerTokenProvider.java  |   10 +-
 .../extension/auth/opa/test/Dockerfile-opa-version |    2 +-
 .../assets/postgres/docker-compose-postgres.yml    |    2 +-
 getting-started/ceph/README.md                     |    3 +-
 getting-started/ceph/docker-compose.yml            |    2 +-
 getting-started/jdbc/docker-compose.yml            |    2 +-
 getting-started/keycloak/docker-compose.yml        |    2 +-
 getting-started/minio/README.md                    |    2 +-
 getting-started/ozone/README.md                    |    2 +-
 getting-started/quickstart/docker-compose.yml      |    4 +-
 getting-started/rustfs/README.md                   |    2 +-
 getting-started/rustfs/docker-compose.yml          |    2 +-
 getting-started/spark/notebooks/SparkPolaris.ipynb |    2 +-
 getting-started/telemetry/docker-compose.yml       |    2 +-
 gradle/baselibs.versions.toml                      |    4 +-
 gradle/jar-licenses/NOTICE                         |    4 +-
 gradle/libs.versions.toml                          |   22 +-
 helm/polaris/.helmignore                           |    4 +
 helm/polaris/Chart.yaml                            |   29 +-
 helm/polaris/DISCLAIMER                            |   10 -
 helm/polaris/NOTICE                                |    4 +-
 helm/polaris/README.md                             |  494 +------
 .../polaris/artifacthub-repo.yml                   |    8 +-
 helm/polaris/ci/extra-service-values.yaml          |    4 +-
 helm/polaris/ci/fixtures/mongodb.yaml              |   64 +
 .../polaris/ci/fixtures/nosql-persistence.yaml     |    9 +-
 .../nosql-persistence-values.yaml}                 |   46 +-
 helm/polaris/{README.md.gotmpl => helm.md.gotmpl}  |   74 +-
 helm/polaris/templates/_helpers.tpl                |   72 +-
 helm/polaris/templates/configmap.yaml              |   12 +-
 helm/polaris/templates/deployment.yaml             |    3 +-
 helm/polaris/templates/ingress.yaml                |    6 +-
 helm/polaris/templates/service-extra.yaml          |    6 +-
 helm/polaris/templates/service.yaml                |    2 +-
 helm/polaris/tests/configmap_test.yaml             |   38 +-
 helm/polaris/tests/deployment_test.yaml            |  236 +++-
 helm/polaris/tests/ingress_test.yaml               |   31 +-
 helm/polaris/tests/service_extra_test.yaml         |   14 +-
 helm/polaris/tests/service_mgmt_test.yaml          |   21 +-
 helm/polaris/tests/service_test.yaml               |   23 +-
 helm/polaris/tools/prepare_helm_readme.py          |   77 --
 helm/polaris/values.schema.json                    | 1416 ++++++++++++++++++++
 helm/polaris/values.yaml                           |  322 +++--
 .../apache/polaris/service/it/env/PolicyApi.java   |   24 +-
 .../service/it/ext/SparkSessionBuilder.java        |   26 +-
 .../test/PolarisPolicyServiceIntegrationTest.java  |   33 +-
 .../it/test/PolarisRestCatalogIntegrationBase.java |    3 +
 persistence/nosql/async/api/build.gradle.kts       |    3 +-
 persistence/nosql/authz/impl/build.gradle.kts      |    3 +-
 .../nosql/authz/store-nosql/build.gradle.kts       |    3 +-
 .../nosql/nodes/store-nosql/build.gradle.kts       |    3 +-
 .../nosql/persistence/cdi/weld/build.gradle.kts    |    3 +-
 .../nosql/mongodb/Dockerfile-mongodb-version       |    2 +-
 .../docker/mongodb-3-nodes/docker-compose.yml      |    6 +-
 .../persistence/maintenance/impl/build.gradle.kts  |    3 +-
 .../metastore-maintenance/build.gradle.kts         |    3 +-
 .../maintenance/TestCatalogMaintenance.java        |    8 +-
 .../nosql/persistence/metastore/build.gradle.kts   |    3 +-
 .../nosql/metastore/ContentIdentifier.java         |    2 +-
 .../nosql/metastore/NoSqlMetaStore.java            |    5 +-
 .../nosql/metastore/TestNoSqlMetaStoreManager.java |    6 +-
 .../nosql/metastore/TestNoSqlResolver.java         |    6 +-
 .../persistence/nosql/metastore/CdiProducers.java  |    6 +-
 .../nosql/realms/store-nosql/build.gradle.kts      |    3 +-
 persistence/relational-jdbc/build.gradle.kts       |    3 +
 .../persistence/relational/jdbc/DatabaseType.java  |   20 +
 .../relational/jdbc/DatasourceOperations.java      |    8 +-
 .../relational/jdbc/JdbcBasePersistenceImpl.java   |   19 +
 .../relational/jdbc/JdbcBootstrapUtils.java        |   14 +
 .../jdbc/JdbcMetaStoreManagerFactory.java          |    7 +
 .../relational/jdbc/QueryGenerator.java            |  128 +-
 .../jdbc/idempotency/PostgresIdempotencyStore.java |  255 ----
 .../RelationalJdbcIdempotencyStore.java            |  250 ++++
 .../jdbc/models/ModelIdempotencyRecord.java        |  199 +++
 .../src/main/resources/h2/schema-metrics-v1.sql    |  166 +++
 .../main/resources/postgres/schema-metrics-v1.sql  |  177 +++
 .../relational/jdbc/JdbcBootstrapUtilsTest.java    |   31 +
 .../MetricsPersistenceBootstrapValidationTest.java |  159 +++
 .../relational/jdbc/QueryGeneratorTest.java        |  137 ++
 ... RelationalJdbcIdempotencyStorePostgresIT.java} |   57 +-
 plugins/spark/v3.5/regtests/README.md              |   45 +
 plugins/spark/v3.5/regtests/docker-compose.yml     |    2 +-
 plugins/spark/v3.5/regtests/run.sh                 |  149 +-
 plugins/spark/v3.5/regtests/setup.sh               |   54 +-
 .../{spark_sql.ref => suites/spark_sql_delta.ref}  |    0
 .../{spark_sql.sh => suites/spark_sql_delta.sh}    |    0
 .../spark/v3.5/regtests/suites/spark_sql_hudi.ref  |   45 +
 .../{spark_sql.sh => suites/spark_sql_hudi.sh}     |   62 +-
 plugins/spark/v3.5/spark/BUNDLE-NOTICE             |    8 +-
 plugins/spark/v3.5/spark/build.gradle.kts          |    3 +
 .../apache/polaris/spark/PolarisSparkCatalog.java  |    2 +-
 .../org/apache/polaris/spark/SparkCatalog.java     |   11 +
 .../apache/polaris/spark/rest/GenericTable.java    |  170 +--
 .../apache/polaris/spark/utils/PaimonHelper.java   |   93 ++
 .../polaris/spark/utils/PolarisCatalogUtils.java   |   17 +-
 .../org/apache/polaris/spark/NoopDeltaCatalog.java |    3 +
 ...oopDeltaCatalog.java => NoopPaimonCatalog.java} |    7 +-
 .../polaris/spark/PolarisInMemoryCatalog.java      |    8 +-
 .../polaris/spark/PolarisRESTCatalogTest.java      |   22 +-
 .../org/apache/polaris/spark/SparkCatalogTest.java |    9 +-
 .../polaris/spark/rest/DeserializationTest.java    |   24 +-
 .../polaris/spark/utils/PaimonHelperTest.java      |  116 ++
 .../apache/polaris/core/PolarisCallContext.java    |   27 +-
 .../core/auth/PolarisAuthorizableOperation.java    |    3 +-
 .../core/catalog/PolarisCatalogHelpers.java        |    4 +-
 .../polaris/core/config/FeatureConfiguration.java  |   24 +-
 .../polaris/core/config/PolarisConfiguration.java  |  119 +-
 .../core/config/PolarisConfigurationStore.java     |   65 +-
 .../apache/polaris/core/config/RealmConfig.java    |    4 +-
 .../polaris/core/config/RealmConfigImpl.java       |   30 +-
 .../core/config/RealmConfigurationSource.java      |   45 +
 .../core/connection/ConnectionConfigInfoDpo.java   |    4 -
 .../polaris/core/entity/IdempotencyRecord.java     |  165 +++
 .../core/entity/PolarisChangeTrackingVersions.java |   50 +-
 .../apache/polaris/core/entity/PolarisEntity.java  |   42 +-
 .../polaris/core/entity/PolarisEntityId.java       |   53 +-
 .../polaris/core/entity/PolarisPrivilege.java      |   13 +-
 .../metrics/iceberg/MetricsRecordConverter.java    |  272 ++++
 .../AtomicOperationMetaStoreManager.java           |   12 +-
 .../IdempotencyPersistenceException.java           |   26 +-
 .../polaris/core/persistence/IdempotencyStore.java |   35 +-
 .../core/persistence/bootstrap/SchemaOptions.java  |    7 +
 .../persistence/cache/EntityCacheLookupResult.java |   32 +-
 .../persistence/cache/InMemoryEntityCache.java     |    9 +-
 .../persistence/dao/entity/EntityWithPath.java     |   34 +-
 .../persistence/metrics/CommitMetricsRecord.java   |  126 ++
 .../persistence/metrics/MetricsPersistence.java    |  152 +++
 .../persistence/metrics/MetricsQueryCriteria.java  |  165 +++
 .../persistence/metrics/MetricsRecordIdentity.java |   95 ++
 .../metrics/NoOpMetricsPersistence.java            |   60 +
 .../core/persistence/metrics/ReportIdToken.java    |  136 ++
 .../persistence/metrics/ScanMetricsRecord.java     |  125 ++
 .../core/persistence/pagination/PageTokenUtil.java |    4 +-
 .../resolver/PolarisResolutionManifest.java        |   10 +-
 .../core/persistence/resolver/Resolver.java        |   44 +-
 .../persistence/resolver/ResolverEntityName.java   |   53 +-
 .../core/persistence/resolver/ResolverPath.java    |   72 +-
 .../TransactionalMetaStoreManagerImpl.java         |    8 +-
 .../transactional/TreeMapMetaStore.java            |   22 +-
 .../TreeMapTransactionalPersistenceImpl.java       |    4 +-
 .../polaris/core/secrets/SecretReference.java      |   68 +-
 .../core/secrets/UnsafeInMemorySecretsManager.java |   12 +-
 .../polaris/core/storage/LocationRestrictions.java |    4 +-
 .../core/storage/PolarisStorageIntegration.java    |   35 +-
 .../core/storage/cache/StorageCredentialCache.java |    2 +-
 .../storage/cache/StorageCredentialCacheEntry.java |   23 +-
 .../polaris/idempotency/IdempotencyRecord.java     |  171 ---
 ...ris.core.persistence.pagination.Token$TokenType |    1 +
 .../core/config/PolarisConfigurationTest.java      |  140 ++
 .../polaris/core/config/RealmConfigImplTest.java   |   68 +
 .../persistence/cache/InMemoryEntityCacheTest.java |   88 +-
 .../core/storage/BaseStorageIntegrationTest.java   |    4 +-
 .../storage/InMemoryStorageIntegrationTest.java    |  119 +-
 .../storage/cache/StorageCredentialCacheTest.java  |   24 +-
 .../storage/PolarisConfigurationStoreTest.java     |   34 +-
 .../aws/AwsCredentialsStorageIntegrationTest.java  |  128 +-
 .../polaris/core/persistence/BaseResolverTest.java |   10 +-
 .../persistence/PolarisTestMetaStoreManager.java   |    4 +-
 regtests/docker-compose.yml                        |    2 +-
 regtests/notebook_requirements.txt                 |    2 +-
 regtests/setup.sh                                  |    2 +-
 regtests/t_pyspark/src/iceberg_spark.py            |    4 +-
 releasey/bin/build-helm-index.sh                   |  151 +++
 releasey/libs/_constants.sh                        |    4 +-
 releasey/libs/_version.sh                          |   22 +-
 releasey/release-process-flowchart.mmd             |    2 +-
 runtime/admin/build.gradle.kts                     |    8 +
 runtime/admin/distribution/DISCLAIMER              |   10 -
 runtime/admin/distribution/NOTICE                  |    4 +-
 runtime/admin/src/main/docker/Dockerfile.jvm       |    5 +-
 .../apache/polaris/admintool/BootstrapCommand.java |    9 +
 .../admintool/config/AdminToolProducers.java       |   12 +-
 .../src/main/resources/application.properties      |    2 +-
 .../jdbc/RelationalJdbcBootstrapCommandTest.java   |   23 +
 .../polaris/admintool/Dockerfile-postgres-version  |    2 +-
 .../src/main/resources/application-test.properties |    2 +-
 .../src/main/resources/application.properties      |    6 +-
 runtime/distribution/DISCLAIMER                    |   10 -
 runtime/distribution/NOTICE                        |    4 +-
 runtime/distribution/build.gradle.kts              |    1 -
 runtime/server/distribution/DISCLAIMER             |   10 -
 runtime/server/distribution/NOTICE                 |    4 +-
 runtime/server/src/main/docker/Dockerfile.jvm      |    5 +-
 .../polaris/service/admin/PolarisAdminService.java |   10 +-
 .../service/catalog/common/CatalogAdapter.java     |    8 -
 .../service/catalog/common/CatalogHandler.java     |    6 +-
 .../service/catalog/common/CatalogUtils.java       |    9 +
 .../generic/GenericTableCatalogAdapter.java        |    4 +-
 .../generic/PolarisGenericTableCatalog.java        |   18 +-
 .../catalog/iceberg/CatalogHandlerUtils.java       |   64 -
 .../service/catalog/iceberg/IcebergCatalog.java    |   64 +-
 .../catalog/iceberg/IcebergCatalogAdapter.java     |   27 +-
 .../catalog/iceberg/IcebergCatalogHandler.java     |   20 +
 .../iceberg/IcebergCatalogHandlerFactory.java      |    6 +
 .../IcebergRestCatalogEventServiceDelegator.java   |    2 +
 .../polaris/service/catalog/io/FileIOUtil.java     |    3 -
 .../service/catalog/policy/PolicyCatalog.java      |   48 +-
 .../catalog/policy/PolicyCatalogAdapter.java       |    4 +-
 .../catalog/policy/PolicyCatalogHandler.java       |   15 +-
 .../service/catalog/policy/PolicyCatalogUtils.java |    4 +-
 .../service/config/DefaultConfigurationStore.java  |   21 +-
 .../polaris/service/config/ReservedProperties.java |   21 +-
 .../config/ResolvedFeaturesConfiguration.java      |    4 +-
 .../polaris/service/config/ServiceProducers.java   |   10 +-
 .../DefaultPolarisCredentialManager.java           |    5 -
 .../admin/PolarisAdminServiceAuthzTest.java        |  883 ++++++------
 .../service/admin/PolarisAuthzTestBase.java        |  379 ++++--
 .../service/auth/DefaultAuthenticatorTest.java     |   93 +-
 ...PolarisGenericTableCatalogHandlerAuthzTest.java |  168 +--
 .../AbstractIcebergCatalogHandlerAuthzTest.java    | 1064 ++++++++-------
 .../iceberg/AbstractIcebergCatalogTest.java        |  186 ++-
 ...ebergCatalogHandlerFineGrainedDisabledTest.java |   54 +-
 .../iceberg/IcebergCatalogNoSqlInMemTest.java      |   12 -
 ...Test.java => IcebergCatalogRelationalTest.java} |   17 +-
 ...cebergCatalogRelationalWithEntityCacheTest.java |   41 -
 .../catalog/policy/AbstractPolicyCatalogTest.java  |    2 +-
 .../policy/PolicyCatalogHandlerAuthzTest.java      |  531 ++++----
 .../config/DefaultConfigurationStoreTest.java      |   34 +-
 .../polaris/service/entity/CatalogEntityTest.java  |    4 +-
 .../DefaultServiceIdentityProviderTest.java        |    6 +-
 .../test/PolarisIntegrationTestFixture.java        |    2 +-
 .../service/test/PolarisIntegrationTestHelper.java |    4 +-
 .../polaris/service/test/TestEnvironment.java      |   44 +-
 .../org/apache/polaris/service/TestServices.java   |   38 +-
 .../catalog/PolarisPassthroughResolutionView.java  |    4 +-
 .../test/commons/Dockerfile-postgres-version       |    2 +-
 .../commons/keycloak/Dockerfile-keycloak-version   |    2 +-
 settings.gradle.kts                                |   10 +-
 site/content/_index.adoc                           |    8 +-
 site/content/blog/2025/12/24/aws-kms.md            |    3 +-
 site/content/blog/2026/02/19/graduation-tlp.md     |   85 ++
 site/content/community/_index.adoc                 |   36 +-
 .../release-guides/manual-release-guide.md         |  168 ++-
 .../release-guides/release-verification-guide.md   |   22 +-
 .../release-guides/semi-automated-release-guide.md |  177 +--
 site/content/community/security-report.md          |    2 +-
 site/content/downloads/_index.md                   |    2 +-
 site/content/in-dev/unreleased/_index.md           |   12 +-
 site/content/in-dev/unreleased/admin-tool.md       |  104 +-
 site/content/in-dev/unreleased/configuration.md    |   18 +-
 site/content/in-dev/unreleased/entities.md         |    2 +-
 .../federation/iceberg-rest-federation.md          |   12 +-
 .../getting-started/binary-distribution.md         |    2 +-
 .../deploying-polaris/local-deploy.md              |    2 +-
 .../getting-started/install-dependencies.md        |    2 +-
 site/content/in-dev/unreleased/helm.md             |  172 ++-
 .../unreleased/managing-security/access-control.md |    2 +-
 .../managing-security/external-pdp/_index.md       |    2 +-
 .../managing-security/external-pdp/opa.md          |    2 +-
 .../content/in-dev/unreleased/metastores/_index.md |   47 +
 .../in-dev/unreleased/metastores/nosql-mongodb.md  |  120 ++
 .../relational-jdbc.md}                            |   58 +-
 site/content/in-dev/unreleased/telemetry.md        |    2 +-
 tools/verify-release/verify-release.sh             |   22 +-
 .../apache/polaris/version/TestPolarisVersion.java |    2 +-
 .../jarTest/resources/META-INF/FAKE_MANIFEST.MF    |    2 +-
 version.txt                                        |    2 +-
 283 files changed, 9648 insertions(+), 5320 deletions(-)

diff --cc gradle/libs.versions.toml
index 8f687fd7c0,de0c71c9a3..2edb8fd44f
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@@ -20,7 -20,7 +20,7 @@@
  [versions]
  checkstyle = "13.2.0"
  hadoop = "3.4.2"
- iceberg = "1.11.0-SNAPSHOT" # Ensure to update the iceberg version in 
regtests to keep regtests up-to-date
 -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 
runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java
index 69735c357b,930fac1845..13f13add3c
--- 
a/runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java
+++ 
b/runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java
@@@ -28,10 -29,8 +29,9 @@@ import jakarta.inject.Inject
  import jakarta.ws.rs.core.HttpHeaders;
  import jakarta.ws.rs.core.Response;
  import jakarta.ws.rs.core.SecurityContext;
- import java.time.Clock;
  import java.util.EnumSet;
  import java.util.Optional;
 +import java.util.UUID;
  import java.util.function.Function;
  import org.apache.iceberg.MetadataUpdate;
  import org.apache.iceberg.catalog.Namespace;
diff --cc settings.gradle.kts
index e386ac2c64,b40a7fbc72..19b2eab534
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@@ -127,11 -127,17 +127,17 @@@ dependencyResolutionManagement 
      }
      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
+       fun configureIndirectForRenovate(asfSnap: MavenArtifactRepository) {
+         asfSnap.url = 
uri("https://repository.apache.org/content/repositories/snapshots/";)
+         asfSnap.mavenContent { snapshotsOnly() }
+       }
        maven {
          name = "ApacheSnapshots"
-         url = 
uri("https://repository.apache.org/content/repositories/snapshots/";)
-         mavenContent { snapshotsOnly() }
+         configureIndirectForRenovate(this)
        }
      }
      gradlePluginPortal()

Reply via email to