Hi Aihua Xu, I reviewed your PR but without further details I do not agree with your change, and I am unable to reproduce the issue. Besides, we have unit tests that cover this extensively.
Could you please provide a simple reproducer or a test case? Thanks! Alex On Thu, Feb 27, 2025 at 5:06 PM Aihua Xu <aihu...@gmail.com> wrote: > I'm running within our integration tests. I'm able to trace and find the > breaking change: https://github.com/apache/iceberg/pull/11992. > > Seems we need to make the following changes to pass the token: > https://github.com/apache/iceberg/pull/12415/files. Alex, can you help > take a look at this? > > if (hasCredential) { > authResponse = > OAuth2Util.fetchToken( > initClient, initHeaders, credential, scope, oauth2ServerUri, > optionalOAuthParams); > Map<String, String> authHeaders = > RESTUtil.merge(initHeaders, > OAuth2Util.authHeaders(authResponse.token())); > config = fetchConfig(initClient, authHeaders, props); > } else { > authResponse = null; > Map<String, String> authHeaders = > RESTUtil.merge(initHeaders, OAuth2Util.authHeaders(initToken)); > config = fetchConfig(initClient, authHeaders, props); > } > > > On Thu, Feb 27, 2025 at 12:46 AM Alex Dutra <alex.du...@dremio.com.invalid> > wrote: > >> Hi Aihua, >> >> I just tested 1.8.1 with Polaris OSS and I am not seeing anything >> different. Can you share your setup? >> >> Below is my Spark setup. >> >> Thanks, >> >> Alex >> >> ./gradlew run >> >> token=$(curl -s http://localhost:8181/api/catalog/v1/oauth/tokens \ >> --user root:<secret> \ >> -d grant_type=client_credentials \ >> -d scope=PRINCIPAL_ROLE:ALL | sed -n >> 's/.*"access_token":"\([^"]*\)".*/\1/p') >> >> curl -s -H "Authorization: Bearer ${token}" \ >> -H 'Accept: application/json' \ >> -H 'Content-Type: application/json' \ >> http://localhost:8181/api/management/v1/catalogs \ >> -d '{ >> "catalog": { >> "name": "polaris_demo", >> "type": "INTERNAL", >> "readOnly": false, >> "properties": { >> "default-base-location": "file:///tmp/polaris/" >> }, >> "storageConfigInfo": { >> "storageType": "FILE", >> "allowedLocations": [ >> "file:///tmp" >> ] >> } >> } >> }' >> >> >> spark-sql \ >> --packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.8.1 \ >> --conf >> spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions >> \ >> --conf >> spark.sql.catalog.polaris=org.apache.iceberg.spark.SparkCatalog \ >> --conf >> spark.sql.catalog.polaris.catalog-impl=org.apache.iceberg.rest.RESTCatalog \ >> --conf spark.sql.catalog.polaris.uri= >> http://127.0.0.1:8181/api/catalog \ >> --conf spark.sql.catalog.polaris.credential=root:<secret> \ >> --conf spark.sql.catalog.polaris.scope=PRINCIPAL_ROLE:ALL \ >> --conf spark.sql.catalog.polaris.warehouse=polaris_demo >> >> spark-sql (default)> create namespace polaris.foo; >> 25/02/27 09:43:24 WARN RESTSessionCatalog: Iceberg REST client is missing >> the OAuth2 server URI configuration and defaults to >> http://127.0.0.1:8181/api/catalog/v1/oauth/tokens. This automatic >> fallback will be removed in a future Iceberg release.It is recommended to >> configure the OAuth2 endpoint using the 'oauth2-server-uri' property to be >> prepared. This warning will disappear if the OAuth2 endpoint is explicitly >> configured. See https://github.com/apache/iceberg/issues/10537 >> Time taken: 0.688 seconds >> spark-sql (default)> >> >> >> On Thu, Feb 27, 2025 at 12:22 AM Aihua Xu <aihu...@gmail.com> wrote: >> >>> I tested 1.8.1 RC with Snowflake build. I'm seeing the following (I'm >>> not seeing that in 1.7.x). >>> >>> "exception": "java.io.IOException: *Authorization header is missing*\n\tat >>> org.apache.polaris.service.dropwizard.auth.PolarisPrincipalAuthenticator.filter(PolarisPrincipalAuthenticator.java:43)\n\tat >>> org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:108)\n\tat >>> org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:44)\n\tat >>> org.glassfish.jersey.process.internal.Stages.process(Stages.java:173)\n\tat >>> org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:248). >>> >>> Does anyone know which change could introduce this? >>> >>> On Wed, Feb 26, 2025 at 5:16 AM Péter Váry <peter.vary.apa...@gmail.com> >>> wrote: >>> >>>> +1 >>>> >>>> checked the signatures, checksums >>>> build and run some tests >>>> >>>> Amogh Jahagirdar <2am...@gmail.com> ezt írta (időpont: 2025. febr. >>>> 26., Sze, 6:11): >>>> >>>>> +1 (binding) >>>>> >>>>> Verified signatures, checksum, RAT checks. >>>>> Ran build and test with JDK17 >>>>> >>>>> Thanks, >>>>> Amogh Jahagirdar >>>>> >>>>> On Wed, Feb 26, 2025 at 2:30 AM Honah J. <hon...@apache.org> wrote: >>>>> >>>>>> +1 (binding) >>>>>> >>>>>> - Checked signatures and checksum >>>>>> - Checked license >>>>>> - Full Build and Test >>>>>> >>>>>> Best regards, >>>>>> Honah >>>>>> >>>>>> On Tue, Feb 25, 2025 at 10:52 AM Russell Spitzer < >>>>>> russell.spit...@gmail.com> wrote: >>>>>> >>>>>>> +1 >>>>>>> Checked Sigs and Checksum >>>>>>> Ran Rat >>>>>>> Ran full build/test >>>>>>> >>>>>>> >>>>>>> On Tue, Feb 25, 2025 at 11:30 AM Driesprong, Fokko >>>>>>> <fo...@driesprong.frl> wrote: >>>>>>> >>>>>>>> +1 (binding) >>>>>>>> >>>>>>>> - Checked signatures and checksum >>>>>>>> - Checked licenses >>>>>>>> - Spotchecked NOTICE/LICENSE >>>>>>>> >>>>>>>> Kind regards, >>>>>>>> Fokko >>>>>>>> >>>>>>>> Op di 25 feb 2025 om 16:56 schreef Kevin Liu <kevinjq...@apache.org >>>>>>>> >: >>>>>>>> >>>>>>>>> +1 (non-binding) >>>>>>>>> >>>>>>>>> I followed "How to Verify a Release" >>>>>>>>> <https://iceberg.apache.org/how-to-release/#how-to-verify-a-release> >>>>>>>>> . >>>>>>>>> Checked out artifact from SVN, >>>>>>>>> ``` >>>>>>>>> svn checkout >>>>>>>>> https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-1.8.1-rc1/ >>>>>>>>> . >>>>>>>>> ``` >>>>>>>>> >>>>>>>>> Verified >>>>>>>>> * Signature Good >>>>>>>>> * Checksum Ok >>>>>>>>> * RAT check passed. 1 unrelated error message >>>>>>>>> ``` >>>>>>>>> ERROR: Ignored 0 lines in your exclusion files as comments or >>>>>>>>> empty lines. >>>>>>>>> ``` >>>>>>>>> * Build + test passed, running on Java 17.0.6 (openjdk 17.0.6 >>>>>>>>> 2023-01-17 LTS) on M1 >>>>>>>>> * Ran a few examples on Spark >>>>>>>>> * Ran pyiceberg integration tests, >>>>>>>>> https://github.com/kevinjqliu/iceberg-python/pull/11 >>>>>>>>> >>>>>>>>> I ran the tests both with and without the docker daemon. Without >>>>>>>>> docker, a few tests failed in `iceberg-aws`, `iceberg-azure`, and >>>>>>>>> `iceberg-kafka-connect`. There's already an issue to track this at >>>>>>>>> https://github.com/apache/iceberg/issues/12236. >>>>>>>>> I'm also continuing to see the flakey test for `iceberg-core`'s >>>>>>>>> `testConcurrentFastAppends` test. I believe this is a local issue >>>>>>>>> with my >>>>>>>>> machine. >>>>>>>>> >>>>>>>>> Thanks for running the release, Eduard! >>>>>>>>> >>>>>>>>> Best, >>>>>>>>> Kevin Liu >>>>>>>>> >>>>>>>>> On Tue, Feb 25, 2025 at 4:23 AM Jean-Baptiste Onofré < >>>>>>>>> j...@nanthrax.net> wrote: >>>>>>>>> >>>>>>>>>> +1 (non binding) >>>>>>>>>> >>>>>>>>>> - Hash and checksum are good >>>>>>>>>> - LICENSE and NOTICE are OK in different distributed artifacts >>>>>>>>>> (source >>>>>>>>>> distribution, aws bundle, etc) >>>>>>>>>> - ASF header present in all expected files >>>>>>>>>> - No binary file found in the source distribution >>>>>>>>>> - Did quick smoke tests >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Regards >>>>>>>>>> JB >>>>>>>>>> >>>>>>>>>> On Mon, Feb 24, 2025 at 1:46 PM Eduard Tudenhoefner >>>>>>>>>> <etudenhoef...@gmail.com> wrote: >>>>>>>>>> > >>>>>>>>>> > Hi Everyone, >>>>>>>>>> > >>>>>>>>>> > I propose that we release the following RC as the official >>>>>>>>>> Apache Iceberg 1.8.1 release. >>>>>>>>>> > >>>>>>>>>> > The commit ID is 9ce0fcf0af7becf25ad9fc996c3bad2afdcfd33d >>>>>>>>>> > * This corresponds to the tag: apache-iceberg-1.8.1-rc1 >>>>>>>>>> > * >>>>>>>>>> https://github.com/apache/iceberg/commits/apache-iceberg-1.8.1-rc1 >>>>>>>>>> > * >>>>>>>>>> https://github.com/apache/iceberg/tree/9ce0fcf0af7becf25ad9fc996c3bad2afdcfd33d >>>>>>>>>> > >>>>>>>>>> > The release tarball, signature, and checksums are here: >>>>>>>>>> > * >>>>>>>>>> https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-1.8.1-rc1 >>>>>>>>>> > >>>>>>>>>> > You can find the KEYS file here: >>>>>>>>>> > * https://downloads.apache.org/iceberg/KEYS >>>>>>>>>> > >>>>>>>>>> > Convenience binary artifacts are staged on Nexus. The Maven >>>>>>>>>> repository URL is: >>>>>>>>>> > * >>>>>>>>>> https://repository.apache.org/content/repositories/orgapacheiceberg-1184/ >>>>>>>>>> > >>>>>>>>>> > Please download, verify, and test. >>>>>>>>>> > >>>>>>>>>> > Please vote in the next 72 hours. >>>>>>>>>> > >>>>>>>>>> > [ ] +1 Release this as Apache Iceberg 1.8.1 >>>>>>>>>> > [ ] +0 >>>>>>>>>> > [ ] -1 Do not release this because... >>>>>>>>>> > >>>>>>>>>> > Only PMC members have binding votes, but other community >>>>>>>>>> members are encouraged to cast >>>>>>>>>> > non-binding votes. This vote will pass if there are 3 binding >>>>>>>>>> +1 votes and more binding >>>>>>>>>> > +1 votes than -1 votes. >>>>>>>>>> > >>>>>>>>>> >>>>>>>>>