Skip to content

Conversation

@dimas-b
Copy link
Contributor

@dimas-b dimas-b commented Jan 15, 2025

Polaris allows running the integration test suite against an external (managed) server.

This change further enables customizing access tokens for these tests according to the test env. needs.

Polaris allows running the integration test suite against
an external (managed) server.

This change further enables customizing access tokens for
these tests according to the test env. needs.
Copy link
Member

@snazy snazy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@dimas-b dimas-b merged commit 56f2fc5 into apache:main Jan 15, 2025
5 checks passed
@dimas-b dimas-b deleted the test-tokens branch January 15, 2025 18:34
dimas-b added a commit to dimas-b/polaris that referenced this pull request Jan 20, 2025
Obtain access tokens from `PolarisAccessManager` (apache#789)
before starting Spark sessions as opposed to passing
client ID/secret to Spark and relying on the Iceberg
REST Client to obtain access tokens.

This makes all "blackbox" integration tests obtain access
tokens the same way.
dimas-b added a commit that referenced this pull request Jan 21, 2025
Obtain access tokens from `PolarisAccessManager` (#789)
before starting Spark sessions as opposed to passing
client ID/secret to Spark and relying on the Iceberg
REST Client to obtain access tokens.

This makes all "blackbox" integration tests obtain access
tokens the same way.
dimas-b added a commit to dimas-b/polaris that referenced this pull request Aug 20, 2025
Restore `PolarisAccessManager` (with default implementation
of `IcebergTokenAccessManager`) which was added as an extension
point for running Polaris tests in downstream build environments
under apache#789, but was mistakenly removed in apache#2343
adutra pushed a commit that referenced this pull request Aug 21, 2025
Restore `PolarisAccessManager` (with default implementation
of `IcebergTokenAccessManager`) which was added as an extension
point for running Polaris tests in downstream build environments
under #789, but was mistakenly removed in #2343
snazy added a commit to snazy/polaris that referenced this pull request Nov 20, 2025
* feat: enforce LIST_PAGINATION_ENABLED (apache#2401)

* feat: enforce LIST_PAGINATION_ENABLED

The enforcement of the LIST_PAGINATION_ENABLED flag was missed in apache#1938.
This change make the flag effective as discussed in apache#2296.

Note: this causes a change in the default Polaris behaviour (no pagination
by default) with respect to the previous state of `main`. However, there
is no behaviour change with respect to 1.0.0 or 1.0.1 as previous releases
did not have apache#1938.

* Add PolarisMetaStoreManager.loadEntities (apache#2290)

* Add PolarisMetaStoreManager.loadEntities

currently `PolarisMetaStoreManager.listEntities` only exposes a limited
subset of the underlying `BasePersistence.listEntities` functionality.

most of the callers have to post-process the `EntityNameLookupRecord` of
`ListEntitiesResult` and call `PolarisMetaStoreManager.loadEntity`
on the individual items sequentually to transform and filter them.

this is bad for the following reasons:

- suboptimal performance as we run N+1 queries to basically load every
  entity twice from the persistence backend
- suffering from race-conditions when entities get dropped between the
  `listEntities` and `loadEntity` call
- a lot of repeated code in all the callers (of which only some are
  dealing with the race-condition by filtering out null values)

as a solution we add `PolarisMetaStoreManager.loadEntities` that takes
advantage of the already existing `BasePersistence` methods.
we rename one of the `listEntities` methods to `loadEntities` for
consistency.

since many callers dont need paging and want the result as a list, we
add `PolarisMetaStoreManager.loadEntitiesAll` as a convenient wrapper.

we also remove the `PolarisEntity.nameAndId` method as callers who only
need name and id should not be loading the full entity to begin with.

note we rework `testCatalogNotReturnedWhenDeletedAfterListBeforeGet`
from `ManagementServiceTest` because the simulated race-condition
scenario can no longer happen.

* review: remove filter + transformer params

* review: add TODO in listPolicies

* review: improve javadoc

* chore: fix Page javadoc (apache#2412)

Correct method args (follow-up to apache#2401)

* Add 1.0.1-incubating release blog post (apache#2403)

* This change fixes: (apache#2395)

* use [email protected] for announcement
* publish Docker images only when the vote passed (we are not suppose to publish any public artifacts before the vote is completed)
* update the vote email accordingly
* remove blog post link in the release announcement email to let this to the discretion of the release manager

* chore(deps): update actions/setup-java action to v5 (apache#2414)

* chore(test): Restore PolarisAccessManager (apache#2413)

Restore `PolarisAccessManager` (with default implementation
of `IcebergTokenAccessManager`) which was added as an extension
point for running Polaris tests in downstream build environments
under apache#789, but was mistakenly removed in apache#2343

* Update changelog prior to 1.1.0 release (apache#2406)

* fix(deps): update quarkus platform and group to v3.25.4 (apache#2279)

* NoSQL: merge related changes

* Last merged commit 82cd416

---------

Co-authored-by: Dmitri Bourlatchkov <[email protected]>
Co-authored-by: Christopher Lambert <[email protected]>
Co-authored-by: JB Onofré <[email protected]>
Co-authored-by: Mend Renovate <[email protected]>
Co-authored-by: Pierre Laporte <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants