Thanks Alex.

On Thu, Feb 27, 2025 at 10:31 AM Alex Dutra <alex.du...@dremio.com.invalid>
wrote:

> Hi Aihua,
>
> I was indeed suspecting that you had a custom RESTClient :-) Thanks for
> digging further and clarifying! Let me know if you need my help in adapting
> your code.
>
> And with that: +1 (non-binding) from me as well.
>
> Thanks,
>
> Alex
>
> On Thu, Feb 27, 2025 at 6:45 PM Aihua Xu <aihu...@gmail.com> wrote:
>
>> Hi Alex,
>>
>> I checked our code further. We have an internal implementation
>> for RESTClient which needs an update after your change to place the token
>> in DefaultAuthSession and not pass through initHeaders anymore. The
>> existing code assumes the token coming from initHeaders and we need to make
>> the change to get the token from the headers of DefaultAuthSession.
>>
>> With that, +1 (non-binding)
>>
>> Thanks,
>> Aihua
>>
>>
>>
>> On Thu, Feb 27, 2025 at 9:26 AM Alex Dutra <alex.du...@dremio.com.invalid>
>> wrote:
>>
>>> 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.
>>>>>>>>>>>>> >
>>>>>>>>>>>>>
>>>>>>>>>>>>

Reply via email to