+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/