+1 (non-binding)

[x] Download links are valid.
[x] Checksums and signatures.
[x] Can compile from source
[x] Ran tests

I also ran our integration test matrix with spark, pyiceberg, trino and 
starrocks against a Lakekeeber based on the rc. Cross-build for 
x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-musl 
and aarch64-apple-darwin. All is green!

Thanks to everyone involved - this is a big step forward for iceberg-rust!


> On 18. Dec 2024, at 17:56, Kevin Liu <kevinjq...@apache.org> wrote:
> 
> Hey folks,
> 
> Following up on my previous email. Turns out there are some limitations with 
> running tests on MacOS with Native Docker, this is already documented at 
> https://github.com/apache/iceberg-rust/blob/main/CONTRIBUTING.md#install-docker-or-podman
> After installing OrbStack as suggested, I was able to run the tests 
> successfully. I see that Fokko also ran into this issue in 
> apache/iceberg-rust/#748 <https://github.com/apache/iceberg-rust/pull/748>.
> ```
> cargo test --features storage-gcs --test file_io_gcs_test
> make test
> ```
> Making a note here so others can unblock themselves.
> 
> Regarding this RC, +1 (non-binding) . I've verified the following:
> [x] Download links are valid.
> [x] Checksums and signatures.
> [x] LICENSE/NOTICE files exist
> [x] No unexpected binary files
> [x] All source files have ASF headers
> [x] Can compile from source
> [x] `./scripts/verify.py` (with `chmod +x`)
> [x] `make test` macos m1 + orbstack
> [x] Built and ran tests for `pyiceberg_core` following 
> https://github.com/apache/iceberg-rust/tree/main/bindings/python
> [x] Installed and ran an example of utilizing 
> `pyiceberg_core.transform.bucket` function
> ```
> import pyarrow as pa
> import pyiceberg_core
> 
> data = [1, 2, 3, 4, 5, 6]
> pyarrow_array = pa.array(data)
> num_buckets = 2
> bucketed_result = pyiceberg_core.transform.bucket(pyarrow_array, num_buckets)
> 
> print(f"Bucketed Result: {bucketed_result}")
> ```
> 
> Best,
> Kevin Liu
> 
> 
> 
> On Wed, Dec 18, 2024 at 8:41 AM Fokko Driesprong <fo...@apache.org 
> <mailto:fo...@apache.org>> wrote:
>> Hey Kevin,
>> 
>> Ran into the same thing :) Currently, the tests don't support Docker 
>> <https://github.com/apache/iceberg-rust/pull/748>, I've switched to Podman 
>> <https://podman.io/> and it works like a charm.
>> 
>> Kind regards,
>> Fokko
>> 
>> Op wo 18 dec 2024 om 16:46 schreef Kevin Liu <kevinjq...@apache.org 
>> <mailto:kevinjq...@apache.org>>:
>>> Hey Sung,
>>> 
>>> Thanks for the new RC. I've run the following verification steps.
>>> [x] Download links are valid.
>>> [x] Checksums and signatures.
>>> [x] LICENSE/NOTICE files exist
>>> [x] No unexpected binary files
>>> [x] All source files have ASF headers
>>> [x] Can compile from source
>>> [x] `./scripts/verify.py` (with `chmod +x`) <>
>>> [ ]`make test`
>>>  <>
>>> 
>>> I'm having trouble running the tests successfully. See the error log below. 
>>> Running a single test works, i.e. `cargo test -p iceberg --test 
>>> file_io_gcs_test`. 
>>> 
>>> Are others running into the same issue? 
>>> 
>>> Error log:
>>> ```
>>> test tests::test_file_io_s3_output ... FAILED
>>> test tests::test_file_io_s3_exists ... FAILED
>>> test tests::test_file_io_s3_input ... FAILED
>>> 
>>> failures:
>>> 
>>> ---- tests::test_file_io_s3_output stdout ----
>>> thread 'tests::test_file_io_s3_output' panicked at 
>>> crates/iceberg/tests/file_io_s3_test.rs:80:67:
>>> called `Result::unwrap()` on an `Err` value: Unexpected => Failure in doing 
>>> io operation
>>> 
>>> Source: Unexpected (persistent) at stat, context: { url: 
>>> http://172.21.0.2:9000/bucket1/test_output, called: 
>>> http_util::Client::send, service: s3, path: test_output } => send http 
>>> request, source: error sending request for url 
>>> (http://172.21.0.2:9000/bucket1/test_output): error sending request for url 
>>> (http://172.21.0.2:9000/bucket1/test_output): client error (Connect): tcp 
>>> connect error: Operation timed out (os error 60): Operation timed out (os 
>>> error 60)
>>> 
>>> 
>>> ---- tests::test_file_io_s3_exists stdout ----
>>> thread 'tests::test_file_io_s3_exists' panicked at 
>>> crates/iceberg/tests/file_io_s3_test.rs:73:59:
>>> called `Result::unwrap()` on an `Err` value: Unexpected => Failure in doing 
>>> io operation
>>> 
>>> Source: Unexpected (persistent) at stat, context: { url: 
>>> http://172.21.0.2:9000/bucket2/any, called: http_util::Client::send, 
>>> service: s3, path: any } => send http request, source: error sending 
>>> request for url (http://172.21.0.2:9000/bucket2/any): error sending request 
>>> for url (http://172.21.0.2:9000/bucket2/any): client error (Connect): tcp 
>>> connect error: Operation timed out (os error 60): Operation timed out (os 
>>> error 60)
>>> 
>>> 
>>> ---- tests::test_file_io_s3_input stdout ----
>>> thread 'tests::test_file_io_s3_input' panicked at 
>>> crates/iceberg/tests/file_io_s3_test.rs:93:58:
>>> called `Result::unwrap()` on an `Err` value: Unexpected => Failure in doing 
>>> io operation
>>> 
>>> Source: Unexpected (persistent) at Writer::close, context: { url: 
>>> http://172.21.0.2:9000/bucket1/test_input, called: http_util::Client::send, 
>>> service: s3, path: test_input, written: 10 } => send http request, source: 
>>> error sending request for url (http://172.21.0.2:9000/bucket1/test_input): 
>>> error sending request for url (http://172.21.0.2:9000/bucket1/test_input): 
>>> client error (Connect): tcp connect error: Operation timed out (os error 
>>> 60): Operation timed out (os error 60)
>>> 
>>> note: run with `RUST_BACKTRACE=1` environment variable to display a 
>>> backtrace
>>> 
>>> 
>>> failures:
>>>     tests::test_file_io_s3_exists
>>>     tests::test_file_io_s3_input
>>>     tests::test_file_io_s3_output
>>> 
>>> test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered 
>>> out; finished in 307.08s
>>> ```
>>> 
>>> Best,
>>> Kevin Liu
>>> 
>>> 
>>> On Tue, Dec 17, 2024 at 11:58 PM Renjie Liu <liurenjie2...@gmail.com 
>>> <mailto:liurenjie2...@gmail.com>> wrote:
>>>> +1 binding.
>>>> 
>>>> Did following verification:
>>>> 
>>>> [*] Download links are valid.
>>>> [*] Checksums and signatures.
>>>> [*] LICENSE/NOTICE files exist
>>>> [*] No unexpected binary files
>>>> [*] All source files have ASF headers
>>>> [*] Can compile from source
>>>> 
>>>> Running `make test` in following platforms and it works!
>>>> - macos + m4 + orbstack(drop in replacement for docker)
>>>> - ubuntu 22.04 + docker
>>>> 
>>>> On Wed, Dec 18, 2024 at 2:27 PM Xuanwo <xua...@apache.org 
>>>> <mailto:xua...@apache.org>> wrote:
>>>>> +1 non-binding
>>>>> 
>>>>> Thank you for carrying this release, seems nice!
>>>>> 
>>>>> [x] Download links are valid.
>>>>> [x] Checksums and signatures.
>>>>> 
>>>>> :) for i in *.tar.gz; do
>>>>>  gpg --verify $i.asc $i
>>>>>  sha512sum -c $i.sha512
>>>>> done
>>>>> gpg: Signature made Wed 18 Dec 2024 09:01:45 AM CST
>>>>> gpg:                using RSA key 736A14A51AA5E56B580312A59816959ADEB8F9E6
>>>>> gpg: checking the trustdb
>>>>> gpg: Note: ultimately trusted key 71751399FB39CB84 expired
>>>>> gpg: Note: ultimately trusted key 0C69C1EF41181E13 expired
>>>>> gpg: Note: ultimately trusted key 9476842D24B7C885 expired
>>>>> gpg: marginals needed: 3  completes needed: 1  trust model: pgp
>>>>> gpg: depth: 0  valid:  30  signed:   2  trust: 0-, 0q, 0n, 0m, 0f, 30u
>>>>> gpg: depth: 1  valid:   2  signed:   1  trust: 2-, 0q, 0n, 0m, 0f, 0u
>>>>> gpg: next trustdb check due at 2026-10-27
>>>>> gpg: Good signature from "Sung Yun (CODE SIGNING KEY) <sun...@apache.org 
>>>>> <mailto:sun...@apache.org>>" [ultimate]
>>>>> apache-iceberg-rust-0.4.0-src.tar.gz: OK
>>>>> 
>>>>> [x] LICENSE/NOTICE files exist
>>>>> [x] No unexpected binary files
>>>>> [x] All source files have ASF headers
>>>>> [x] Can compile from source
>>>>> 
>>>>>     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
>>>>> 
>>>>> On Wed, Dec 18, 2024, at 09:22, Sung Yun wrote:
>>>>> > Hello, Apache Iceberg Rust Community,
>>>>> >
>>>>> > This is a call for a vote to release Apache Iceberg rust version 
>>>>> > v0.4.0-rc.2.
>>>>> >
>>>>> > The tag to be voted on is v0.4.0-rc.2.
>>>>> >
>>>>> > The release candidate:
>>>>> >
>>>>> > https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-rust-0.4.0-rc.2/
>>>>> >
>>>>> > Keys to verify the release candidate:
>>>>> >
>>>>> > https://downloads.apache.org/iceberg/KEYS
>>>>> >
>>>>> > Git tag for the release:
>>>>> >
>>>>> > https://github.com/apache/iceberg-rust/releases/tag/v0.4.0-rc.2
>>>>> >
>>>>> > The associated convenience artifact for pyiceberg_core can be
>>>>> > downloaded by running the following command:
>>>>> >
>>>>> > `pip install -i https://test.pypi.org/simple/ pyiceberg-core`
>>>>> >
>>>>> > All notable features and fixes introduced in this release are
>>>>> > documented in the changelog:
>>>>> >
>>>>> > https://github.com/apache/iceberg-rust/blob/main/CHANGELOG.md
>>>>> >
>>>>> > Please download, verify, and test.
>>>>> >
>>>>> > The VOTE will be open for at least 72 hours and until the necessary
>>>>> > number of votes are reached.
>>>>> >
>>>>> > [ ] +1 approve
>>>>> > [ ] +0 no opinion
>>>>> > [ ] -1 disapprove with the reason
>>>>> >
>>>>> > To learn more about Apache Iceberg, please see 
>>>>> > https://rust.iceberg.apache.org/
>>>>> >
>>>>> > Checklist for reference:
>>>>> >
>>>>> > [ ] Download links are valid.
>>>>> > [ ] Checksums and signatures.
>>>>> > [ ] LICENSE/NOTICE files exist
>>>>> > [ ] No unexpected binary files
>>>>> > [ ] All source files have ASF headers
>>>>> > [ ] Can compile from source
>>>>> >
>>>>> > More detailed checklist please refer to:
>>>>> > https://github.com/apache/iceberg-rust/tree/main/scripts
>>>>> >
>>>>> > To compile from source, please refer to:
>>>>> > https://github.com/apache/iceberg-rust/blob/main/CONTRIBUTING.md
>>>>> >
>>>>> > Here is a Python script in release to help you verify the release 
>>>>> > candidate:
>>>>> >
>>>>> > ./scripts/verify.py
>>>>> >
>>>>> > Thank you!
>>>>> 
>>>>> -- 
>>>>> Xuanwo
>>>>> 
>>>>> https://xuanwo.io/

Reply via email to