+1 (binding)

Verified sigs/sums/license/build/test (Java 17)

-Dan

On Thu, Feb 27, 2025 at 11:30 AM Aihua Xu <aihu...@gmail.com> wrote:

> 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