You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@fluss.apache.org by yuxia <lu...@alumni.sjtu.edu.cn> on 2026/02/12 11:57:49 UTC

[VOTE] Release Fluss 0.9.0-incubating (RC1)

Hi everyone, 

Please review and vote on the release candidate #1 for the Apache Fluss 
version 0.9.0-incubating, as follows: 
[ ] +1, Approve the release 
[ ] -1, Do not approve the release (please provide specific comments) 


The complete staging area is available for your review, includes: 

The official source release and binary convenience releases to be deployed 
to: 
* https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1 

Helm charts are available on: 
* https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart 
(NB: you have to build the Docker images locally with the version 
0.9.0-incubating in order to test Helm charts) 

All the files are signed with the key with fingerprint 56A9F259A4C18F9C, 
you can find the KEYS file here: 
* https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS 

All artifacts to be deployed to the Maven Central Repository: 
* https://repository.apache.org/content/repositories/orgapachefluss-1004/ 

Git tag for the release: 
* https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1 

Git commit for the release: 
* 
https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7 

Website pull request for the release announcement blog post 
* https://github.com/apache/fluss/pull/2590 

Upgrade note for the new release: 
* 
https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md 

Docker images for the release candidate: 
* fluss: apache/fluss:0.9.0-incubating-rc1 

Please download, verify and test. To learn more about how to verify: 
https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/ 


The vote will be open for at least 72 hours. It is adopted by majority 
approval, with at least 3 PPMC affirmative votes. 


Best regards, 
Yuxia 

Re:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Nicholas <pr...@163.com>.
+1 (binding).


- Checked LICENSE and NOTICE files are correct: [PASSED]
- Checked checksums and signatures: [PASSED]
- Checked jars in the staging repository: [PASSED]
- Checked built from source code with JDK11: [PASSED]
- Checked verification of quick start: [PASSED]
- Checked release notes: [PASSED]


Regards,
Nicholas Jiang




----- Original Message -----
From: "Jark Wu" <im...@gmail.com>
To: dev@fluss.apache.org
Sent: Fri, 13 Feb 2026 18:41:29 +0800
Subject: Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

+1 (binding)

- Checked sums and signatures: *OK*
- Check the LICENSE and NOTICE files are correct: *OK*
- Checked the jars in the staging repo: *OK*
- Checked source distribution doesn't include binaries: *OK*
- Build from source with Java11 and Maven 3.8.6: *OK*
- Checked version consistency in pom files: *OK*
- Went through the quick start: *OK*
- Checked release notes and release blog: *OK*
- Run Flink Engine quickstart with Flink 2.2 and Fluss binary distribution: *OK*
- Run "Real-Time Analytics With Flink" quickstart: *OK*
- Tested Flink + Fluss for auto-increment column and agg merge engine: *OK*
   (There is a bug on the doc which I have pushed a hotfix [3])

Btw, it seems the Download page update PR is missing. (not blocker)

Best,
Jark


[1] https://fluss.apache.org/docs/0.9/table-design/table-types/pk-table/#auto-increment-column
[2] https://fluss.apache.org/docs/0.9/table-design/merge-engines/aggregation/
[3] https://github.com/apache/fluss/commit/074d7563f3f414e574de55fd5c1361135b337496

On Thu, 12 Feb 2026 at 20:03, yuxia <lu...@alumni.sjtu.edu.cn> wrote:
>
> Hi everyone,
>
> Please review and vote on the release candidate #1 for the Apache Fluss
> version 0.9.0-incubating, as follows:
> [ ] +1, Approve the release
> [ ] -1, Do not approve the release (please provide specific comments)
>
>
> The complete staging area is available for your review, includes:
>
> The official source release and binary convenience releases to be deployed
> to:
> * https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
>
> Helm charts are available on:
> * https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> (NB: you have to build the Docker images locally with the version
> 0.9.0-incubating in order to test Helm charts)
>
> All the files are signed with the key with fingerprint 56A9F259A4C18F9C,
> you can find the KEYS file here:
> * https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
>
> All artifacts to be deployed to the Maven Central Repository:
> * https://repository.apache.org/content/repositories/orgapachefluss-1004/
>
> Git tag for the release:
> * https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
>
> Git commit for the release:
> *
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
>
> Website pull request for the release announcement blog post
> * https://github.com/apache/fluss/pull/2590
>
> Upgrade note for the new release:
> *
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
>
> Docker images for the release candidate:
> * fluss: apache/fluss:0.9.0-incubating-rc1
>
> Please download, verify and test. To learn more about how to verify:
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
>
>
> The vote will be open for at least 72 hours. It is adopted by majority
> approval, with at least 3 PPMC affirmative votes.
>
>
> Best regards,
> Yuxia

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Yang Wang <pl...@gmail.com>.
+1 (non-binding)

  - verified signatures and checksums: ok
  - verified the source builds correctly: ok
  - checked the LICENSE and NOTICE files are correct
  - tested Rebalance feature with Flink 2.2.0 (1 coordinator + 3
  tablet-servers): ok
    - interface validation (add_server_tag, rebalance,
  list_rebalance, cancel_rebalance)
    - effect verification (node offline migration, replica
  distribution, leader distribution)
    - data correctness across rebalance operations
    - confirmed list_rebalance ClassCastException from rc0 is
  fixed in rc1
  - tested Delta Join with Flink 2.2.0: ok
    - verified DeltaJoin optimization works correctly for CDC
  sources with table.delete.behavior='IGNORE'
    - built and verified with official git tag
  (v0.9.0-incubating-rc1)
  - tested Paimon DV Union Read with Flink 1.20.3 + Paimon 1.3.1:
  ok
    - confirmed PR #2326 resolved rc0 issues where DV table Union
  Read returned 0 rows or stale data
    - Union Read correctly returns complete and up-to-date data
  across multiple update scenarios

ForwardXu <x1...@qq.com> 于2026年2月13日周五 21:03写道:

> +1
>
>
> Test environment:
> - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
> - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
> - Fluss: 0.9.0-incubating (binary distribution)
> - Flink: 2.2.0
> - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built from 0.9 source)
> - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1 TabletServer)
> - Flink Cluster: Standalone (1 JobManager + 1 TaskManager, process=4096m)
>
>
> Tested Flink + Fluss complex types (ARRAY/MAP/ROW) with 71 test cases, all
> passed:*OK*
>
>
> - ARRAY type PK table
> (create/insert/point-query/upsert/delete/streaming-query): *OK* (10 cases)
> - MAP type PK table
> (create/insert/point-query/upsert/delete/streaming-query): *OK* (9 cases)
> - ROW type PK table
> (create/insert/point-query/upsert/delete/streaming-query): *OK* (9 cases)
> - Nested complex types — ARRAY\<ROW\&gt;, MAP\<STRING,ARRAY\&gt;,
> ROW\<MAP+ARRAY\&gt; (create/insert/point-query): *OK* (11 cases)
> - Log table (no PK) with ARRAY/MAP/ROW (create/insert/streaming-query):
> *OK* (9 cases)
> - Edge cases — empty ARRAY/MAP, NULL complex types, large ARRAY(50
> elements), deep nesting ARRAY\<MAP\<STRING,ROW\&gt;\&gt;: *OK* (16 cases)
> - Lookup Join with complex type dimension table (ARRAY+MAP+ROW): *OK* (7
> cases)
>
>
> Detailed test cases:
>
>
> | # | Category | Test Case | Mode | Result |
> |---|----------|-----------|------|--------|
> | 1 | ARRAY PK Table | Create table with
> ARRAY\<INT\&gt;/ARRAY\<STRING\&gt;/ARRAY\<DOUBLE\&gt;/ARRAY\<BOOLEAN\&gt; |
> batch | *OK* |
> | 2 | ARRAY PK Table | Insert 3 rows with ARRAY data | batch | *OK* |
> | 3 | ARRAY PK Table | Point query (id=1) | batch | *OK* |
> | 4 | ARRAY PK Table | Point query (id=2) | batch | *OK* |
> | 5 | ARRAY PK Table | Point query (id=3) | batch | *OK* |
> | 6 | ARRAY PK Table | Upsert update ARRAY (id=1) | batch | *OK* |
> | 7 | ARRAY PK Table | Verify update (id=1 int_arr=[99,88,77]) | batch |
> *OK* |
> | 8 | ARRAY PK Table | Delete record (id=3) | batch | *OK* |
> | 9 | ARRAY PK Table | Verify delete (id=3 not exists) | batch | *OK* |
> | 10 | ARRAY PK Table | Streaming full scan ARRAY table | streaming | *OK*
> |
> | 11 | MAP PK Table | Create table with
> MAP\<STRING,INT\&gt;/MAP\<STRING,STRING\&gt;/MAP\<INT,DOUBLE\&gt; | batch |
> *OK* |
> | 12 | MAP PK Table | Insert 3 rows with MAP data | batch | *OK* |
> | 13 | MAP PK Table | Point query (id=1) | batch | *OK* |
> | 14 | MAP PK Table | Point query (id=2) | batch | *OK* |
> | 15 | MAP PK Table | Upsert update MAP (id=2) | batch | *OK* |
> | 16 | MAP PK Table | Verify update (id=2 updated=999) | batch | *OK* |
> | 17 | MAP PK Table | Delete record (id=3) | batch | *OK* |
> | 18 | MAP PK Table | Verify delete (id=3 not exists) | batch | *OK* |
> | 19 | MAP PK Table | Streaming full scan MAP table | streaming | *OK* |
> | 20 | ROW PK Table | Create table with
> ROW\<city,zipcode,street\&gt;/ROW\<phone,email\&gt; | batch | *OK* |
> | 21 | ROW PK Table | Insert 3 rows with ROW data | batch | *OK* |
> | 22 | ROW PK Table | Point query (id=1) | batch | *OK* |
> | 23 | ROW PK Table | Point query (id=2) | batch | *OK* |
> | 24 | ROW PK Table | Upsert update ROW (id=2 city→Hangzhou) | batch |
> *OK* |
> | 25 | ROW PK Table | Verify update (id=2) | batch | *OK* |
> | 26 | ROW PK Table | Delete record (id=3) | batch | *OK* |
> | 27 | ROW PK Table | Verify delete (id=3 not exists) | batch | *OK* |
> | 28 | ROW PK Table | Streaming full scan ROW table | streaming | *OK* |
> | 29 | Nested Types | Create table ARRAY\<ROW\<name,price,qty\&gt;\&gt; |
> batch | *OK* |
> | 30 | Nested Types | Insert ARRAY\<ROW\&gt; data | batch | *OK* |
> | 31 | Nested Types | Point query ARRAY\<ROW\&gt; (id=1001) | batch | *OK*
> |
> | 32 | Nested Types | Point query ARRAY\<ROW\&gt; (id=1002) | batch | *OK*
> |
> | 33 | Nested Types | Create table MAP\<STRING,ARRAY\<INT\&gt;\&gt; |
> batch | *OK* |
> | 34 | Nested Types | Insert MAP\<STRING,ARRAY\&gt; data | batch | *OK* |
> | 35 | Nested Types | Point query MAP\<STRING,ARRAY\&gt; (id=1) | batch |
> *OK* |
> | 36 | Nested Types | Create table ROW\<name,MAP,ARRAY\&gt; | batch | *OK*
> |
> | 37 | Nested Types | Insert ROW nested MAP+ARRAY data | batch | *OK* |
> | 38 | Nested Types | Point query ROW nested (id=1) | batch | *OK* |
> | 39 | Nested Types | Point query ROW nested (id=2) | batch | *OK* |
> | 40 | Log Table (no PK) | Create ARRAY log table | batch | *OK* |
> | 41 | Log Table (no PK) | Insert ARRAY log data | batch | *OK* |
> | 42 | Log Table (no PK) | Streaming query ARRAY log | streaming | *OK* |
> | 43 | Log Table (no PK) | Create MAP log table | batch | *OK* |
> | 44 | Log Table (no PK) | Insert MAP log data | batch | *OK* |
> | 45 | Log Table (no PK) | Streaming query MAP log | streaming | *OK* |
> | 46 | Log Table (no PK) | Create ROW log table | batch | *OK* |
> | 47 | Log Table (no PK) | Insert ROW log data | batch | *OK* |
> | 48 | Log Table (no PK) | Streaming query ROW log | streaming | *OK* |
> | 49 | Edge Cases | Create empty ARRAY table | batch | *OK* |
> | 50 | Edge Cases | Insert empty ARRAY[] | batch | *OK* |
> | 51 | Edge Cases | Point query empty ARRAY | batch | *OK* |
> | 52 | Edge Cases | Create empty MAP table | batch | *OK* |
> | 53 | Edge Cases | Insert empty MAP[] | batch | *OK* |
> | 54 | Edge Cases | Point query empty MAP | batch | *OK* |
> | 55 | Edge Cases | Create NULL complex type table | batch | *OK* |
> | 56 | Edge Cases | Insert NULL ARRAY/MAP/ROW | batch | *OK* |
> | 57 | Edge Cases | Point query all NULL (id=1) | batch | *OK* |
> | 58 | Edge Cases | Point query non-NULL (id=2) | batch | *OK* |
> | 59 | Edge Cases | Create large ARRAY table | batch | *OK* |
> | 60 | Edge Cases | Insert ARRAY with 50 elements | batch | *OK* |
> | 61 | Edge Cases | Point query large ARRAY | batch | *OK* |
> | 62 | Edge Cases | Create deep nesting ARRAY\<MAP\<STRING,ROW\&gt;\&gt; |
> batch | *OK* |
> | 63 | Edge Cases | Insert deep nesting data | batch | *OK* |
> | 64 | Edge Cases | Point query deep nesting | batch | *OK* |
> | 65 | Lookup Join | Create dimension table (ARRAY+MAP+ROW) | batch | *OK*
> |
> | 66 | Lookup Join | Insert dimension data | batch | *OK* |
> | 67 | Lookup Join | Point query dimension (id=1) | batch | *OK* |
> | 68 | Lookup Join | Point query dimension (id=2) | batch | *OK* |
> | 69 | Lookup Join | Create fact stream table | batch | *OK* |
> | 70 | Lookup Join | Insert fact data | batch | *OK* |
> | 71 | Lookup Join | Lookup Join query (fact ⋈ dim with complex types) |
> streaming | *OK* |
>
>
> Best,
> ForwardXu
>
>
> ForwardXu
> x1q1j1@qq.com
>
>
>
>
>
>
>
>          原始邮件
>
>
> 发件人:Jark Wu <imjark@gmail.com&gt;
> 发件时间:2026年2月13日 18:41
> 收件人:dev <dev@fluss.apache.org&gt;
> 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)
>
>
>
>        +1&nbsp;(binding)
>
> -&nbsp;Checked&nbsp;sums&nbsp;and&nbsp;signatures:&nbsp;*OK*
>
> -&nbsp;Check&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct:&nbsp;*OK*
>
> -&nbsp;Checked&nbsp;the&nbsp;jars&nbsp;in&nbsp;the&nbsp;staging&nbsp;repo:&nbsp;*OK*
>
> -&nbsp;Checked&nbsp;source&nbsp;distribution&nbsp;doesn't&nbsp;include&nbsp;binaries:&nbsp;*OK*
>
> -&nbsp;Build&nbsp;from&nbsp;source&nbsp;with&nbsp;Java11&nbsp;and&nbsp;Maven&nbsp;3.8.6:&nbsp;*OK*
>
> -&nbsp;Checked&nbsp;version&nbsp;consistency&nbsp;in&nbsp;pom&nbsp;files:&nbsp;*OK*
> -&nbsp;Went&nbsp;through&nbsp;the&nbsp;quick&nbsp;start:&nbsp;*OK*
>
> -&nbsp;Checked&nbsp;release&nbsp;notes&nbsp;and&nbsp;release&nbsp;blog:&nbsp;*OK*
>
> -&nbsp;Run&nbsp;Flink&nbsp;Engine&nbsp;quickstart&nbsp;with&nbsp;Flink&nbsp;2.2&nbsp;and&nbsp;Fluss&nbsp;binary&nbsp;distribution:&nbsp;*OK*
>
> -&nbsp;Run&nbsp;"Real-Time&nbsp;Analytics&nbsp;With&nbsp;Flink"&nbsp;quickstart:&nbsp;*OK*
>
> -&nbsp;Tested&nbsp;Flink&nbsp;+&nbsp;Fluss&nbsp;for&nbsp;auto-increment&nbsp;column&nbsp;and&nbsp;agg&nbsp;merge&nbsp;engine:&nbsp;*OK*
>
> &nbsp;&nbsp;&nbsp;(There&nbsp;is&nbsp;a&nbsp;bug&nbsp;on&nbsp;the&nbsp;doc&nbsp;which&nbsp;I&nbsp;have&nbsp;pushed&nbsp;a&nbsp;hotfix&nbsp;[3])
>
>
> Btw,&nbsp;it&nbsp;seems&nbsp;the&nbsp;Download&nbsp;page&nbsp;update&nbsp;PR&nbsp;is&nbsp;missing.&nbsp;(not&nbsp;blocker)
>
> Best,
> Jark
>
>
> [1]&nbsp;
> https://fluss.apache.org/docs/0.9/table-design/table-types/pk-table/#auto-increment-column
> [2]&nbsp;
> https://fluss.apache.org/docs/0.9/table-design/merge-engines/aggregation/
> [3]&nbsp;
> https://github.com/apache/fluss/commit/074d7563f3f414e574de55fd5c1361135b337496
>
>
> On&nbsp;Thu,&nbsp;12&nbsp;Feb&nbsp;2026&nbsp;at&nbsp;20:03,&nbsp;yuxia&nbsp;<
> luoyuxia@alumni.sjtu.edu.cn&gt;&nbsp;wrote:
> &gt;
> &gt;&nbsp;Hi&nbsp;everyone,
> &gt;
>
> &gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
> &gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
> &gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
>
> &gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
> &gt;
> &gt;
>
> &gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
> &gt;
>
> &gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
> &gt;&nbsp;to:
> &gt;&nbsp;*&nbsp;
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> &gt
> <https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt>
> ;
> &gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
> &gt;&nbsp;*&nbsp;
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
>
> &gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
>
> &gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
> &gt
> <https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt>
> ;
>
> &gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
> &gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
> &gt;&nbsp;*&nbsp;
> https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> &gt <https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt>;
>
> &gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
> &gt;&nbsp;*&nbsp;
> https://repository.apache.org/content/repositories/orgapachefluss-1004/
> &gt
> <https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt>
> ;
> &gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
> &gt;&nbsp;*&nbsp;
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> &gt
> <https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt>;
> &gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
> &gt;&nbsp;*
> &gt;&nbsp;
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> &gt
> <https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt>
> ;
>
> &gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
> &gt;&nbsp;*&nbsp;https://github.com/apache/fluss/pull/2590
> &gt;
> &gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
> &gt;&nbsp;*
> &gt;&nbsp;
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> &gt
> <https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt>
> ;
> &gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
> &gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
> &gt;
>
> &gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
> &gt;&nbsp;
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> &gt
> <https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt>
> ;
> &gt;
>
> &gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
>
> &gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
> &gt;
> &gt;
> &gt;&nbsp;Best&nbsp;regards,
> &gt;&nbsp;Yuxia

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by ForwardXu <x1...@qq.com>.
+1


Test environment:
- OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
- Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
- Fluss: 0.9.0-incubating (binary distribution)
- Flink: 2.2.0
- Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built from 0.9 source)
- Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1 TabletServer)
- Flink Cluster: Standalone (1 JobManager + 1 TaskManager, process=4096m)


Tested Flink + Fluss complex types (ARRAY/MAP/ROW) with 71 test cases, all passed:*OK*


- ARRAY type PK table (create/insert/point-query/upsert/delete/streaming-query): *OK* (10 cases)
- MAP type PK table (create/insert/point-query/upsert/delete/streaming-query): *OK* (9 cases)
- ROW type PK table (create/insert/point-query/upsert/delete/streaming-query): *OK* (9 cases)
- Nested complex types — ARRAY\<ROW\&gt;, MAP\<STRING,ARRAY\&gt;, ROW\<MAP+ARRAY\&gt; (create/insert/point-query): *OK* (11 cases)
- Log table (no PK) with ARRAY/MAP/ROW (create/insert/streaming-query): *OK* (9 cases)
- Edge cases — empty ARRAY/MAP, NULL complex types, large ARRAY(50 elements), deep nesting ARRAY\<MAP\<STRING,ROW\&gt;\&gt;: *OK* (16 cases)
- Lookup Join with complex type dimension table (ARRAY+MAP+ROW): *OK* (7 cases)


Detailed test cases:


| # | Category | Test Case | Mode | Result |
|---|----------|-----------|------|--------|
| 1 | ARRAY PK Table | Create table with ARRAY\<INT\&gt;/ARRAY\<STRING\&gt;/ARRAY\<DOUBLE\&gt;/ARRAY\<BOOLEAN\&gt; | batch | *OK* |
| 2 | ARRAY PK Table | Insert 3 rows with ARRAY data | batch | *OK* |
| 3 | ARRAY PK Table | Point query (id=1) | batch | *OK* |
| 4 | ARRAY PK Table | Point query (id=2) | batch | *OK* |
| 5 | ARRAY PK Table | Point query (id=3) | batch | *OK* |
| 6 | ARRAY PK Table | Upsert update ARRAY (id=1) | batch | *OK* |
| 7 | ARRAY PK Table | Verify update (id=1 int_arr=[99,88,77]) | batch | *OK* |
| 8 | ARRAY PK Table | Delete record (id=3) | batch | *OK* |
| 9 | ARRAY PK Table | Verify delete (id=3 not exists) | batch | *OK* |
| 10 | ARRAY PK Table | Streaming full scan ARRAY table | streaming | *OK* |
| 11 | MAP PK Table | Create table with MAP\<STRING,INT\&gt;/MAP\<STRING,STRING\&gt;/MAP\<INT,DOUBLE\&gt; | batch | *OK* |
| 12 | MAP PK Table | Insert 3 rows with MAP data | batch | *OK* |
| 13 | MAP PK Table | Point query (id=1) | batch | *OK* |
| 14 | MAP PK Table | Point query (id=2) | batch | *OK* |
| 15 | MAP PK Table | Upsert update MAP (id=2) | batch | *OK* |
| 16 | MAP PK Table | Verify update (id=2 updated=999) | batch | *OK* |
| 17 | MAP PK Table | Delete record (id=3) | batch | *OK* |
| 18 | MAP PK Table | Verify delete (id=3 not exists) | batch | *OK* |
| 19 | MAP PK Table | Streaming full scan MAP table | streaming | *OK* |
| 20 | ROW PK Table | Create table with ROW\<city,zipcode,street\&gt;/ROW\<phone,email\&gt; | batch | *OK* |
| 21 | ROW PK Table | Insert 3 rows with ROW data | batch | *OK* |
| 22 | ROW PK Table | Point query (id=1) | batch | *OK* |
| 23 | ROW PK Table | Point query (id=2) | batch | *OK* |
| 24 | ROW PK Table | Upsert update ROW (id=2 city→Hangzhou) | batch | *OK* |
| 25 | ROW PK Table | Verify update (id=2) | batch | *OK* |
| 26 | ROW PK Table | Delete record (id=3) | batch | *OK* |
| 27 | ROW PK Table | Verify delete (id=3 not exists) | batch | *OK* |
| 28 | ROW PK Table | Streaming full scan ROW table | streaming | *OK* |
| 29 | Nested Types | Create table ARRAY\<ROW\<name,price,qty\&gt;\&gt; | batch | *OK* |
| 30 | Nested Types | Insert ARRAY\<ROW\&gt; data | batch | *OK* |
| 31 | Nested Types | Point query ARRAY\<ROW\&gt; (id=1001) | batch | *OK* |
| 32 | Nested Types | Point query ARRAY\<ROW\&gt; (id=1002) | batch | *OK* |
| 33 | Nested Types | Create table MAP\<STRING,ARRAY\<INT\&gt;\&gt; | batch | *OK* |
| 34 | Nested Types | Insert MAP\<STRING,ARRAY\&gt; data | batch | *OK* |
| 35 | Nested Types | Point query MAP\<STRING,ARRAY\&gt; (id=1) | batch | *OK* |
| 36 | Nested Types | Create table ROW\<name,MAP,ARRAY\&gt; | batch | *OK* |
| 37 | Nested Types | Insert ROW nested MAP+ARRAY data | batch | *OK* |
| 38 | Nested Types | Point query ROW nested (id=1) | batch | *OK* |
| 39 | Nested Types | Point query ROW nested (id=2) | batch | *OK* |
| 40 | Log Table (no PK) | Create ARRAY log table | batch | *OK* |
| 41 | Log Table (no PK) | Insert ARRAY log data | batch | *OK* |
| 42 | Log Table (no PK) | Streaming query ARRAY log | streaming | *OK* |
| 43 | Log Table (no PK) | Create MAP log table | batch | *OK* |
| 44 | Log Table (no PK) | Insert MAP log data | batch | *OK* |
| 45 | Log Table (no PK) | Streaming query MAP log | streaming | *OK* |
| 46 | Log Table (no PK) | Create ROW log table | batch | *OK* |
| 47 | Log Table (no PK) | Insert ROW log data | batch | *OK* |
| 48 | Log Table (no PK) | Streaming query ROW log | streaming | *OK* |
| 49 | Edge Cases | Create empty ARRAY table | batch | *OK* |
| 50 | Edge Cases | Insert empty ARRAY[] | batch | *OK* |
| 51 | Edge Cases | Point query empty ARRAY | batch | *OK* |
| 52 | Edge Cases | Create empty MAP table | batch | *OK* |
| 53 | Edge Cases | Insert empty MAP[] | batch | *OK* |
| 54 | Edge Cases | Point query empty MAP | batch | *OK* |
| 55 | Edge Cases | Create NULL complex type table | batch | *OK* |
| 56 | Edge Cases | Insert NULL ARRAY/MAP/ROW | batch | *OK* |
| 57 | Edge Cases | Point query all NULL (id=1) | batch | *OK* |
| 58 | Edge Cases | Point query non-NULL (id=2) | batch | *OK* |
| 59 | Edge Cases | Create large ARRAY table | batch | *OK* |
| 60 | Edge Cases | Insert ARRAY with 50 elements | batch | *OK* |
| 61 | Edge Cases | Point query large ARRAY | batch | *OK* |
| 62 | Edge Cases | Create deep nesting ARRAY\<MAP\<STRING,ROW\&gt;\&gt; | batch | *OK* |
| 63 | Edge Cases | Insert deep nesting data | batch | *OK* |
| 64 | Edge Cases | Point query deep nesting | batch | *OK* |
| 65 | Lookup Join | Create dimension table (ARRAY+MAP+ROW) | batch | *OK* |
| 66 | Lookup Join | Insert dimension data | batch | *OK* |
| 67 | Lookup Join | Point query dimension (id=1) | batch | *OK* |
| 68 | Lookup Join | Point query dimension (id=2) | batch | *OK* |
| 69 | Lookup Join | Create fact stream table | batch | *OK* |
| 70 | Lookup Join | Insert fact data | batch | *OK* |
| 71 | Lookup Join | Lookup Join query (fact ⋈ dim with complex types) | streaming | *OK* |


Best,
ForwardXu


ForwardXu
x1q1j1@qq.com



        



         原始邮件
         
       
发件人:Jark Wu <imjark@gmail.com&gt;
发件时间:2026年2月13日 18:41
收件人:dev <dev@fluss.apache.org&gt;
主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)



       +1&nbsp;(binding)

-&nbsp;Checked&nbsp;sums&nbsp;and&nbsp;signatures:&nbsp;*OK*
-&nbsp;Check&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct:&nbsp;*OK*
-&nbsp;Checked&nbsp;the&nbsp;jars&nbsp;in&nbsp;the&nbsp;staging&nbsp;repo:&nbsp;*OK*
-&nbsp;Checked&nbsp;source&nbsp;distribution&nbsp;doesn't&nbsp;include&nbsp;binaries:&nbsp;*OK*
-&nbsp;Build&nbsp;from&nbsp;source&nbsp;with&nbsp;Java11&nbsp;and&nbsp;Maven&nbsp;3.8.6:&nbsp;*OK*
-&nbsp;Checked&nbsp;version&nbsp;consistency&nbsp;in&nbsp;pom&nbsp;files:&nbsp;*OK*
-&nbsp;Went&nbsp;through&nbsp;the&nbsp;quick&nbsp;start:&nbsp;*OK*
-&nbsp;Checked&nbsp;release&nbsp;notes&nbsp;and&nbsp;release&nbsp;blog:&nbsp;*OK*
-&nbsp;Run&nbsp;Flink&nbsp;Engine&nbsp;quickstart&nbsp;with&nbsp;Flink&nbsp;2.2&nbsp;and&nbsp;Fluss&nbsp;binary&nbsp;distribution:&nbsp;*OK*
-&nbsp;Run&nbsp;"Real-Time&nbsp;Analytics&nbsp;With&nbsp;Flink"&nbsp;quickstart:&nbsp;*OK*
-&nbsp;Tested&nbsp;Flink&nbsp;+&nbsp;Fluss&nbsp;for&nbsp;auto-increment&nbsp;column&nbsp;and&nbsp;agg&nbsp;merge&nbsp;engine:&nbsp;*OK*
&nbsp;&nbsp;&nbsp;(There&nbsp;is&nbsp;a&nbsp;bug&nbsp;on&nbsp;the&nbsp;doc&nbsp;which&nbsp;I&nbsp;have&nbsp;pushed&nbsp;a&nbsp;hotfix&nbsp;[3])

Btw,&nbsp;it&nbsp;seems&nbsp;the&nbsp;Download&nbsp;page&nbsp;update&nbsp;PR&nbsp;is&nbsp;missing.&nbsp;(not&nbsp;blocker)

Best,
Jark


[1]&nbsp;https://fluss.apache.org/docs/0.9/table-design/table-types/pk-table/#auto-increment-column
[2]&nbsp;https://fluss.apache.org/docs/0.9/table-design/merge-engines/aggregation/
[3]&nbsp;https://github.com/apache/fluss/commit/074d7563f3f414e574de55fd5c1361135b337496

On&nbsp;Thu,&nbsp;12&nbsp;Feb&nbsp;2026&nbsp;at&nbsp;20:03,&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn&gt;&nbsp;wrote:
&gt;
&gt;&nbsp;Hi&nbsp;everyone,
&gt;
&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
&gt;
&gt;
&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
&gt;
&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
&gt;&nbsp;to:
&gt;&nbsp;*&nbsp;https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
&gt;
&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
&gt;&nbsp;*&nbsp;https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
&gt;
&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
&gt;&nbsp;*&nbsp;https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
&gt;
&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
&gt;&nbsp;*&nbsp;https://repository.apache.org/content/repositories/orgapachefluss-1004/
&gt;
&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
&gt;
&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
&gt;&nbsp;*
&gt;&nbsp;https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
&gt;
&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/pull/2590
&gt;
&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
&gt;&nbsp;*
&gt;&nbsp;https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
&gt;
&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
&gt;
&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
&gt;&nbsp;https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
&gt;
&gt;
&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
&gt;
&gt;
&gt;&nbsp;Best&nbsp;regards,
&gt;&nbsp;Yuxia

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Jark Wu <im...@gmail.com>.
+1 (binding)

- Checked sums and signatures: *OK*
- Check the LICENSE and NOTICE files are correct: *OK*
- Checked the jars in the staging repo: *OK*
- Checked source distribution doesn't include binaries: *OK*
- Build from source with Java11 and Maven 3.8.6: *OK*
- Checked version consistency in pom files: *OK*
- Went through the quick start: *OK*
- Checked release notes and release blog: *OK*
- Run Flink Engine quickstart with Flink 2.2 and Fluss binary distribution: *OK*
- Run "Real-Time Analytics With Flink" quickstart: *OK*
- Tested Flink + Fluss for auto-increment column and agg merge engine: *OK*
   (There is a bug on the doc which I have pushed a hotfix [3])

Btw, it seems the Download page update PR is missing. (not blocker)

Best,
Jark


[1] https://fluss.apache.org/docs/0.9/table-design/table-types/pk-table/#auto-increment-column
[2] https://fluss.apache.org/docs/0.9/table-design/merge-engines/aggregation/
[3] https://github.com/apache/fluss/commit/074d7563f3f414e574de55fd5c1361135b337496

On Thu, 12 Feb 2026 at 20:03, yuxia <lu...@alumni.sjtu.edu.cn> wrote:
>
> Hi everyone,
>
> Please review and vote on the release candidate #1 for the Apache Fluss
> version 0.9.0-incubating, as follows:
> [ ] +1, Approve the release
> [ ] -1, Do not approve the release (please provide specific comments)
>
>
> The complete staging area is available for your review, includes:
>
> The official source release and binary convenience releases to be deployed
> to:
> * https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
>
> Helm charts are available on:
> * https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> (NB: you have to build the Docker images locally with the version
> 0.9.0-incubating in order to test Helm charts)
>
> All the files are signed with the key with fingerprint 56A9F259A4C18F9C,
> you can find the KEYS file here:
> * https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
>
> All artifacts to be deployed to the Maven Central Repository:
> * https://repository.apache.org/content/repositories/orgapachefluss-1004/
>
> Git tag for the release:
> * https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
>
> Git commit for the release:
> *
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
>
> Website pull request for the release announcement blog post
> * https://github.com/apache/fluss/pull/2590
>
> Upgrade note for the new release:
> *
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
>
> Docker images for the release candidate:
> * fluss: apache/fluss:0.9.0-incubating-rc1
>
> Please download, verify and test. To learn more about how to verify:
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
>
>
> The vote will be open for at least 72 hours. It is adopted by majority
> approval, with at least 3 PPMC affirmative votes.
>
>
> Best regards,
> Yuxia

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by yuxia <lu...@alumni.sjtu.edu.cn>.
Hi, Giannis. 

It's expected that it doesn't include fluss-fs-azure* plugin to minimize the distribution size, It's expected to install fluss-fs-azure m anually[1] 

[1]: https://fluss.apache.org/docs/next/maintenance/filesystems/azure/#install-azure-fs-plugin-manually 


Best regards, 
Yuxia 


发件人: "Giannis Polyzos" <ip...@gmail.com> 
收件人: "dev" <de...@fluss.apache.org> 
发送时间: 星期一, 2026年 2 月 16日 下午 4:23:56 
主题: [SPAM]Re: [VOTE] Release Fluss 0.9.0-incubating (RC1) 

Hi everyone, 

When building the project, the plugins folder misses the fluss-fs-azure* plugin 


On Sat, Feb 14, 2026 at 4:47 PM Prajwal Banakar < [ mailto:prajwal.banakara@gmail.com | prajwal.banakara@gmail.com ] > wrote: 


Hi everyone, 

+1 (non-binding) 

I have verified the following for Fluss 0.9.0-incubating (RC1): 

- SHA512 checksum matches 
- GPG signature is valid 
- Source distribution builds successfully 
- LICENSE and NOTICE files are present in the source distribution 

Build environment: 

- OS: Ubuntu 24.04 (WSL2, Linux 6.6.x) 
- Java: OpenJDK 11.0.30 
- Maven: 3.9.11 
- GnuPG: 2.4.4 
- Git: 2.43.0 

The release candidate looks good to me. 

Best regards, 
Prajwal Banakar 

On Sat, 14 Feb 2026 at 19:42, SeungMin Lee < [ mailto:semicpu@gmail.com | semicpu@gmail.com ] > wrote: 

> +1 (non-binding) 
> 
> Thank you for preparing this release. 
> 
> - official source release and binary -> ok 
> - gpg key, checksum, build & test (mac air m4, OpenJDK 64-Bit Server VM 
> Temurin-11.0.27+6 ) -> ok 
> - mvn central repo -> ok 
> - git tag, commit for the release -> ok 
> - release announcement blog post -> ok 
> 
> 
> 
> verification logs 
> ``` 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> *sml@smlui-MacBookAir sml % curl 
> [ https://downloads.apache.org/incubator/fluss/KEYS | https://downloads.apache.org/incubator/fluss/KEYS ] 
> < [ https://downloads.apache.org/incubator/fluss/KEYS | https://downloads.apache.org/incubator/fluss/KEYS ] > -o KEYSgpg --import 
> KEYS % Total % Received % Xferd Average Speed Time Time Time 
> Current Dload Upload Total Spent 
> Left Speed100 8013 100 8013 0 0 8231 0 --:--:-- --:--:-- 
> --:--:-- 8226gpg: directory '/Users/sml/.gnupg' createdgpg: 
> /Users/sml/.gnupg/trustdb.gpg: trustdb createdgpg: key 85BACB5AEFAE3202: 
> public key "Jark Wu (CODE SIGNING KEY) < [ mailto:jark@apache.org | jark@apache.org ] < [ mailto:jark@apache.org | jark@apache.org ] 
> >>" 
> importedgpg: key 56A9F259A4C18F9C: public key "Yuxia Luo (CODE SIGNING KEY) 
> < [ mailto:yuxia@apache.org | yuxia@apache.org ] < [ mailto:yuxia@apache.org | yuxia@apache.org ] >>" importedgpg: Total number 
> processed: 
> 2gpg: imported: 2sml@smlui-MacBookAir Downloads % for i in 
> *.tgz; do echo $i; gpg --verify $i.asc $i; 
> donefluss-0.9.0-incubating-bin.tgzgpg: Signature made 목 2/12 20:01:51 2026 
> KSTgpg: using RSA key 
> E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia Luo 
> (CODE SIGNING KEY) < [ mailto:yuxia@apache.org | yuxia@apache.org ] < [ mailto:yuxia@apache.org | yuxia@apache.org ] >>" [unknown]gpg: 
> WARNING: This key is not certified with a trusted signature!gpg: 
> There is no indication that the signature belongs to the owner.Primary key 
> fingerprint: E91E 2171 D667 8CB7 0B50 2823 56A9 F259 A4C1 
> 8F9Cfluss-0.9.0-incubating-src.tgzgpg: Signature made 목 2/12 19:02:09 2026 
> KSTgpg: using RSA key 
> E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia Luo 
> (CODE SIGNING KEY) < [ mailto:yuxia@apache.org | yuxia@apache.org ] < [ mailto:yuxia@apache.org | yuxia@apache.org ] >>" [unknown]gpg: 
> WARNING: This key is not certified with a trusted signature!gpg: 
> There is no indication that the signature belongs to the owner.Primary key 
> fingerprint: E91E 2171 D667 8CB7 0B50 2823 56A9 F259 A4C1 
> 8F9Csml@smlui-MacBookAir Downloads %sml@smlui-MacBookAir Downloads % 
> shasum 
> *.sha512 > checklist.chk; shasum -c checklist.chk 
> fluss-0.9.0-incubating-bin.tgz.sha512: 
> OKfluss-0.9.0-incubating-src.tgz.sha512: OK* 
> ``` 
> 
> Best Regards, 
> SeungMin Lee 
> 
> 2026년 2월 14일 (토) PM 8:39, Mehul Batra < [ mailto:mehulbatra1997@gmail.com | mehulbatra1997@gmail.com ] >님이 작성: 
> 
> 
> 2026년 2월 14일 (토) PM 8:39, Mehul Batra < [ mailto:mehulbatra1997@gmail.com | mehulbatra1997@gmail.com ] >님이 작성: 
> 
> > Hi all, 
> > Thanks, Yuxia, for running th show! 
> > 
> > +1 (binding) 
> > 
> > [X] Downloaded source release from [ http://dist.apache.org/ | dist.apache.org ] 
> > 
> > [X] Verified GPG signature (Key - Yuxia Luo) 
> > 
> > [X] Verified SHA512 checksum 
> > 
> > [X] Checked LICENSE (Apache 2.0), NOTICE, and DISCLAIMER files 
> > 
> > [X] Verified ASF headers in source files 
> > 
> > [X] Built from source successfully 
> > 
> > [X] Verified Maven staging repository artifacts and signatures 
> > 
> > [X] Verified Docker image (apache/fluss:0.9.0-incubating-rc1) 
> > [X] Verified release notes and release blog: (Added comments) 
> > [X] Ran "Real-Time Analytics With Flink" quickstart 
> > -> Also Tested $changelog & $binlog virtual tables with Flink1.20 
> > [X] Ran "Build streaming lakehouse" with ICEBERG 1.10.1 (RustFS UI 
> showed 
> > a 403, but it didn’t impact the run) 
> > 
> > By the way, the release email mentions commit d6fd1f1... but the tag 
> > v0.9.0-incubating-rc1 points to commit e314c35.... 
> > 
> > Best Regards, 
> > Mehul Batra 
> > 
> > On Sat, Feb 14, 2026 at 11:37 AM Yang Guo < [ mailto:guoy0320@gmail.com | guoy0320@gmail.com ] > wrote: 
> > 
> > > +1(non-binging) 
> > > 
> > > Went through the new quickstart configurations(s3 compatible rustfs) 
> and 
> > > process with flink,paimon and iceberg. 
> > > 
> > > Verified the compatibility on flink 1.18,1.19,1.20,2.2. 
> > > 
> > > Checked the new compacted log format on both log table and kv table. 
> > > 
> > > Regards, 
> > > Yang Guo 
> > > 
> > > 
> > > On Sat, Feb 14, 2026 at 03:23 Keith Lee < [ mailto:leekeiabstraction@gmail.com | leekeiabstraction@gmail.com ] > 
> > > wrote: 
> > > 
> > > > Hello Yuxia, 
> > > > 
> > > > Thank you for coordinating and preparing the release. 
> > > > 
> > > > +1 (non-binding) 
> > > > 
> > > > See verifications done below 
> > > > 
> > > > *1. Signature and shasum* 
> > > > ``` 
> > > > $ curl [ https://downloads.apache.org/incubator/fluss/KEYS | https://downloads.apache.org/incubator/fluss/KEYS ] -o KEYS 
> > > > 
> > > > % Total % Received % Xferd Average Speed Time Time 
> Time 
> > > > Current 
> > > > Dload Upload Total Spent 
> Left 
> > > > Speed 
> > > > 100 8013 100 8013 0 0 51139 0 --:--:-- --:--:-- 
> > --:--:-- 
> > > > 51365 
> > > > 
> > > > $ gpg --import KEYS 
> > > > gpg: key 85BACB5AEFAE3202: "Jark Wu (CODE SIGNING KEY) < 
> > [ mailto:jark@apache.org | jark@apache.org ] 
> > > >" 
> > > > not changed 
> > > > gpg: key 56A9F259A4C18F9C: "Yuxia Luo (CODE SIGNING KEY) < 
> > > [ mailto:yuxia@apache.org | yuxia@apache.org ] 
> > > > >" 
> > > > not changed 
> > > > gpg: Total number processed: 2 
> > > > gpg: unchanged: 2 
> > > > 
> > > > 
> > > > $ for i in *.tgz; do echo $i; gpg --verify $i.asc $i; done 
> > > > fluss-0.9.0-incubating-bin.tgz 
> > > > gpg: Signature made Thu Feb 12 11:01:51 2026 GMT 
> > > > gpg: using RSA key 
> > > E91E2171D6678CB70B50282356A9F259A4C18F9C 
> > > > gpg: Good signature from "Yuxia Luo (CODE SIGNING KEY) < 
> > [ mailto:yuxia@apache.org | yuxia@apache.org ] 
> > > >" 
> > > > [unknown] 
> > > > gpg: WARNING: This key is not certified with a trusted signature! 
> > > > gpg: There is no indication that the signature belongs to 
> the 
> > > > owner. 
> > > > Primary key fingerprint: E91E 2171 D667 8CB7 0B50 2823 56A9 F259 
> A4C1 
> > > 8F9C 
> > > > 
> > > > $ sha512sum fluss-0.9.0-incubating-bin.tgz 
> > > > 
> > > > 
> > > 
> > 
> 15102955cf8abb7bf8384c0db20c5160b2aedc15bee3a10135a6d47c744dce23bd13a4403b43da4ebe199622517b83cf8eab76de1070c42b012f717b12bc2199 
> > > > fluss-0.9.0-incubating-bin.tgz 
> > > > ``` 
> > > > 
> > > > *2. Verified APIs using Rust client compiled from fluss-rust main 
> > branch 
> > > on 
> > > > commit: [1]* 
> > > > - Admin APIs: Create / Get / List for Database, Table, Partition; 
> > > Metadata, 
> > > > Schema 
> > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch 
> > > > - Primary Key Table: Put, Lookup 
> > > > 
> > > > *3. **Verified** using Python binding compiled from fluss-rust **main 
> > > > branch on commit: [1]* 
> > > > - Admin APIs: Create / Get / List for Database, Table, Partition; 
> > > Metadata, 
> > > > Schema 
> > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch 
> > > > - Primary Key Table: Put, Lookup 
> > > > 
> > > > *4. **Verified** using C++ binding from fluss-rust main branch **main 
> > > > branch on commit: [1]* 
> > > > - Admin APIs: Create / Get / List for Database, Table, Partition; 
> > > Metadata, 
> > > > Schema 
> > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch 
> > > > - Primary Key Table: Put, Lookup 
> > > > 
> > > > [1] 
> > > > 
> > > > 
> > > 
> > 
> [ https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5 | https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5 ] 
> > > > 
> > > > Best regards 
> > > > Keith Lee 
> > > > 
> > > > 
> > > > On Fri, Feb 13, 2026 at 3:55 PM ForwardXu < [ mailto:x1q1j1@qq.com | x1q1j1@qq.com ] > wrote: 
> > > > 
> > > > > +1 
> > > > > 
> > > > > 
> > > > > Test environment: 
> > > > > &nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon) 
> > > > > &nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK) 
> > > > > &nbsp; - Fluss: 0.9.0-incubating (binary distribution) 
> > > > > &nbsp; - Flink: 2.2.0 
> > > > > &nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built 
> > from 
> > > > 0.9 
> > > > > source) 
> > > > > &nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar` 
> > > > > &nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1 
> > > > > TabletServer) 
> > > > > &nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager, 
> > > > > process=4096m) 
> > > > > 
> > > > > 
> > > > > Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40 
> > test 
> > > > > cases, all passed:*OK* 
> > > > > 
> > > > > 
> > > > > &nbsp; - Tiering to Paimon — PK table 
> > > > > 
> > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete): 
> > > > > *OK* (10 cases) 
> > > > > &nbsp; - Tiering to Paimon — Log table 
> > > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* 
> > (5 
> > > > > cases) 
> > > > > &nbsp; - Tiering to Paimon — Complex types PK table with 
> > ARRAY/MAP/ROW 
> > > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases) 
> > > > > &nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK* (1 
> > > case) 
> > > > > &nbsp; - Tiering to Iceberg — PK table 
> > > > > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert): 
> *OK* 
> > > (8 
> > > > > cases) 
> > > > > &nbsp; - Tiering to Iceberg — Log table 
> > > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* 
> > (5 
> > > > > cases) 
> > > > > &nbsp; - Tiering to Iceberg — Complex types PK table with 
> > ARRAY/MAP/ROW 
> > > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases) 
> > > > > &nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK* (1 
> > > case) 
> > > > > 
> > > > > 
> > > > > Detailed test cases: 
> > > > > 
> > > > > 
> > > > > &nbsp; | # | Lake | Category | Test Case | Mode | Result | 
> > > > > &nbsp; |---|------|----------|-----------|------|--------| 
> > > > > &nbsp; | 1 | Paimon | PK Table | Create PK table with datalake 
> > enabled 
> > > > > (freshness=10s) | batch | *OK* | 
> > > > > &nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table | 
> batch 
> > | 
> > > > > *OK* | 
> > > > > &nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) | batch | 
> > > *OK* 
> > > > | 
> > > > > &nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon 
> > > storage) | 
> > > > > batch | *OK* | 
> > > > > &nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM) | 
> > > batch 
> > > > | 
> > > > > *OK* | 
> > > > > &nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) | 
> batch 
> > | 
> > > > > *OK* | 
> > > > > &nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch | 
> *OK* 
> > | 
> > > > > &nbsp; | 8 | Paimon | PK Table | Verify upsert (point query id=1) | 
> > > batch 
> > > > > | *OK* | 
> > > > > &nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch | 
> *OK* 
> > | 
> > > > > &nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) | 
> > batch | 
> > > > > *OK* | 
> > > > > &nbsp; | 11 | Paimon | Log Table | Create Log table with datalake 
> > > enabled 
> > > > > | batch | *OK* | 
> > > > > &nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table | 
> > > batch | 
> > > > > *OK* | 
> > > > > &nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch | 
> > > *OK* | 
> > > > > &nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY 
> > > > event_type) 
> > > > > | batch | *OK* | 
> > > > > &nbsp; | 15 | Paimon | Log Table | Streaming query Log table 
> > > (earliest) | 
> > > > > streaming | *OK* | 
> > > > > &nbsp; | 16 | Paimon | Complex Types | Create PK table with 
> > > ARRAY/MAP/ROW 
> > > > > + datalake | batch | *OK* | 
> > > > > &nbsp; | 17 | Paimon | Complex Types | Insert complex type data (3 
> > > rows) 
> > > > | 
> > > > > batch | *OK* | 
> > > > > &nbsp; | 18 | Paimon | Complex Types | Point query complex types 
> > > (id=1) | 
> > > > > batch | *OK* | 
> > > > > &nbsp; | 19 | Paimon | Complex Types | $lake query complex types | 
> > > batch 
> > > > | 
> > > > > *OK* | 
> > > > > &nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex 
> > types 
> > > > > (COUNT) | batch | *OK* | 
> > > > > &nbsp; | 21 | Paimon | System Table | $lake$snapshots (snapshot_id, 
> > > > > commit_user, total_record_count) | batch | *OK* | 
> > > > > &nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake 
> > > enabled 
> > > > > (freshness=10s) | batch | *OK* | 
> > > > > &nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table | 
> > batch 
> > > | 
> > > > > *OK* | 
> > > > > &nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) | 
> batch | 
> > > > *OK* 
> > > > > | 
> > > > > &nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg 
> > > > storage, 
> > > > > 5 rows with __bucket/__offset/__timestamp) | batch | *OK* | 
> > > > > &nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5, 
> > > > SUM=808.39) 
> > > > > | batch | *OK* | 
> > > > > &nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) | 
> > > batch | 
> > > > > *OK* | 
> > > > > &nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1, 
> > > > > customer→Alice_Updated) | batch | *OK* | 
> > > > > &nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query id=1, 
> > > > > Alice_Updated confirmed) | batch | *OK* | 
> > > > > &nbsp; | 30 | Iceberg | Log Table | Create Log table with datalake 
> > > > enabled 
> > > > > | batch | *OK* | 
> > > > > &nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table | 
> > > batch 
> > > > | 
> > > > > *OK* | 
> > > > > &nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows 
> > with 
> > > > > timestamps) | batch | *OK* | 
> > > > > &nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY 
> > > > > event_type: click=2, view=1, buy=1) | batch | *OK* | 
> > > > > &nbsp; | 34 | Iceberg | Log Table | Streaming query Log table 
> > > (earliest, 
> > > > 4 
> > > > > rows) | streaming | *OK* | 
> > > > > &nbsp; | 35 | Iceberg | Complex Types | Create PK table with 
> > > > ARRAY/MAP/ROW 
> > > > > + datalake | batch | *OK* | 
> > > > > &nbsp; | 36 | Iceberg | Complex Types | Insert complex type data (3 
> > > rows) 
> > > > > | batch | *OK* | 
> > > > > &nbsp; | 37 | Iceberg | Complex Types | Point query complex types 
> > > (id=1, 
> > > > > tags=[vip,active]) | batch | *OK* | 
> > > > > &nbsp; | 38 | Iceberg | Complex Types | $lake query complex types 
> (3 
> > > rows 
> > > > > with ARRAY/MAP/ROW) | batch | *OK* | 
> > > > > &nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex 
> > types 
> > > > > (COUNT=3) | batch | *OK* | 
> > > > > &nbsp; | 40 | Iceberg | System Table | $lake$snapshots 
> (snapshot_id, 
> > > > > operation=append/overwrite, summary) | batch | *OK* | 
> > > > > 
> > > > > 
> > > > > Notes: 
> > > > > &nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` + 
> > > > > `paimon-bundle-1.3.1.jar`) 
> > > > > &nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`) 
> > > > > &nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` + 
> > > > > `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve 
> > > > > `FileSystem.openFile()` API compatibility 
> > > > > &nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use 
> > 3-arg 
> > > > > `createCatalog(String, Map, Configuration)` via reflection (Iceberg 
> > > > 1.10.1 
> > > > > API change) 
> > > > > &nbsp; - Tiering Service ran as Flink streaming job, data verified 
> > via 
> > > > > `$lake` virtual table queries reading directly from lake storage 
> > > > > &nbsp; - All `$lake` queries returned correct data with Fluss 
> > metadata 
> > > > > columns (__bucket, __offset, __timestamp) 
> > > > > 
> > > > > 
> > > > > ForwardXu 
> > > > > [ mailto:x1q1j1@qq.com | x1q1j1@qq.com ] 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 原始邮件 
> > > > > 
> > > > > 
> > > > > 发件人:Yunhong Zheng < [ mailto:yunhong@apache.org | yunhong@apache.org ] &gt; 
> > > > > 发件时间:2026年2月13日 22:51 
> > > > > 收件人:dev < [ mailto:dev@fluss.apache.org | dev@fluss.apache.org ] &gt; 
> > > > > 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1) 
> > > > > 
> > > > > 
> > > > > 
> > > > > +1&nbsp;(binding) 
> > > > > &nbsp; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp; 
> > > > > 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating! 
> > > > > 
> > > > > Yours, 
> > > > > Yunhong(Swuferhong) 
> > > > > 
> > > > > On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote: 
> > > > > &gt;&nbsp;+1&nbsp;(non-binding) 
> > > > > &gt;&nbsp; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3 
> > > > > &gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance, 
> > > > > &gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance) 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica 
> > > > > &gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution) 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is 
> > > > > &gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE' 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag 
> > > > > &gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1) 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1: 
> > > > > &gt;&nbsp;&nbsp;&nbsp;ok 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data 
> > > > > 
> &gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios 
> > > > > &gt;&nbsp; 
> > > > > &gt;&nbsp;Best, 
> > > > > &gt;&nbsp;Yang 
> > > > > &gt;&nbsp; 
> > > > > &gt;&nbsp;yuxia&nbsp;< [ mailto:luoyuxia@alumni.sjtu.edu.cn | luoyuxia@alumni.sjtu.edu.cn ] 
> > > > > &gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道: 
> > > > > &gt;&nbsp; 
> > > > > &gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone, 
> > > > > &gt;&nbsp;&gt; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss 
> > > > > 
> > > 
> &gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows: 
> > > > > 
> > > 
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments) 
> > > > > &gt;&nbsp;&gt; 
> > > > > &gt;&nbsp;&gt; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes: 
> > > > > &gt;&nbsp;&gt; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed 
> > > > > &gt;&nbsp;&gt;&nbsp;to: 
> > > > > &gt;&nbsp;&gt;&nbsp;* 
> > > > > &gt;&nbsp;&gt;&nbsp; 
> > > > > 
> > > > 
> > > 
> > 
> [ https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1 | https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1 ] 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1%3E%C2%A0%3E | https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > 
> &gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on: 
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp; 
> > > > > [ https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart | https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart ] 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts) 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart%3E%C2%A0%3E%C2%A0(NB:%C2%A0you%C2%A0have%C2%A0to%C2%A0build%C2%A0the%C2%A0Docker%C2%A0images%C2%A0locally%C2%A0with%C2%A0the%C2%A0version%3E%C2%A0%3E%C2%A00.9.0-incubating%C2%A0in%C2%A0order%C2%A0to%C2%A0test%C2%A0Helm%C2%A0charts)%3E%C2%A0%3E | https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C, 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here: 
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp; 
> > > > > [ https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS | https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS ] 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS%3E%C2%A0%3E | https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository: 
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp; 
> > > > > 
> > > 
> [ https://repository.apache.org/content/repositories/orgapachefluss-1004/ | https://repository.apache.org/content/repositories/orgapachefluss-1004/ ] 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://repository.apache.org/content/repositories/orgapachefluss-1004/%3E%C2%A0%3E | https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release: 
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp; 
> > > > > [ https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1 | https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1 ] 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1%3E%C2%A0%3E | https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release: 
> > > > > &gt;&nbsp;&gt;&nbsp;* 
> > > > > &gt;&nbsp;&gt; 
> > > > > &gt;&nbsp;&gt;&nbsp; 
> > > > > 
> > > > 
> > > 
> > 
> [ https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7 | https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7 ] 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7%3E%C2%A0%3E | https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post 
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp; 
> [ https://github.com/apache/fluss/pull/2590 | https://github.com/apache/fluss/pull/2590 ] 
> > > > > &gt;&nbsp;&gt < 
> > [ https://github.com/apache/fluss/pull/2590%3E%C2%A0%3E | https://github.com/apache/fluss/pull/2590&gt;&nbsp;&gt ] 
> > > >; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release: 
> > > > > &gt;&nbsp;&gt;&nbsp;* 
> > > > > &gt;&nbsp;&gt; 
> > > > > &gt;&nbsp;&gt;&nbsp; 
> > > > > 
> > > > 
> > > 
> > 
> [ https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md | https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md ] 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md%3E%C2%A0%3E | https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate: 
> > > > > 
> > > 
> &gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1 
> > > > > &gt;&nbsp;&gt; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify: 
> > > > > &gt;&nbsp;&gt; 
> > > > > &gt;&nbsp;&gt;&nbsp; 
> > > > > 
> > > > 
> > > 
> > 
> [ https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/ | https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/ ] 
> > > > > &gt;&nbsp;&gt 
> > > > > < 
> > > > 
> > > 
> > 
> [ https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/%3E%C2%A0%3E | https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt;&nbsp;&gt ] 
> > > > > 
> > > > > ; 
> > > > > &gt;&nbsp;&gt; 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority 
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> &gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes. 
> > > > > &gt;&nbsp;&gt; 
> > > > > &gt;&nbsp;&gt; 
> > > > > &gt;&nbsp;&gt;&nbsp;Best&nbsp;regards, 
> > > > > &gt;&nbsp;&gt;&nbsp;Yuxia 
> > > > > &gt;&nbsp;&gt; 
> > > > > &gt;&nbsp; 
> > > > 
> > > 
> > 
> 





Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Giannis Polyzos <ip...@gmail.com>.
Hi everyone,

When building the project, the plugins folder misses the
fluss-fs-azure* plugin
[image: Screenshot 2026-02-16 at 10.19.37 AM.png]

On Sat, Feb 14, 2026 at 4:47 PM Prajwal Banakar <pr...@gmail.com>
wrote:

> Hi everyone,
>
> +1 (non-binding)
>
> I have verified the following for Fluss 0.9.0-incubating (RC1):
>
> - SHA512 checksum matches
> - GPG signature is valid
> - Source distribution builds successfully
> - LICENSE and NOTICE files are present in the source distribution
>
> Build environment:
>
> - OS: Ubuntu 24.04 (WSL2, Linux 6.6.x)
> - Java: OpenJDK 11.0.30
> - Maven: 3.9.11
> - GnuPG: 2.4.4
> - Git: 2.43.0
>
> The release candidate looks good to me.
>
> Best regards,
> Prajwal Banakar
>
> On Sat, 14 Feb 2026 at 19:42, SeungMin Lee <se...@gmail.com> wrote:
>
> > +1 (non-binding)
> >
> > Thank you for preparing this release.
> >
> > - official source release and binary -> ok
> > - gpg key, checksum, build & test (mac air m4, OpenJDK 64-Bit Server VM
> > Temurin-11.0.27+6 ) ->  ok
> > - mvn central repo -> ok
> > - git tag, commit for the release -> ok
> > - release announcement blog post -> ok
> >
> >
> >
> > verification logs
> > ```
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > *sml@smlui-MacBookAir sml % curl
> > https://downloads.apache.org/incubator/fluss/KEYS
> > <https://downloads.apache.org/incubator/fluss/KEYS> -o KEYSgpg --import
> > KEYS  % Total    % Received % Xferd  Average Speed   Time    Time
>  Time
> >  Current                                 Dload  Upload   Total   Spent
> >  Left  Speed100  8013  100  8013    0     0   8231      0 --:--:--
> --:--:--
> > --:--:--  8226gpg: directory '/Users/sml/.gnupg' createdgpg:
> > /Users/sml/.gnupg/trustdb.gpg: trustdb createdgpg: key 85BACB5AEFAE3202:
> > public key "Jark Wu (CODE SIGNING KEY) <jark@apache.org <jark@apache.org
> > >>"
> > importedgpg: key 56A9F259A4C18F9C: public key "Yuxia Luo (CODE SIGNING
> KEY)
> > <yuxia@apache.org <yu...@apache.org>>" importedgpg: Total number
> > processed:
> > 2gpg:               imported: 2sml@smlui-MacBookAir Downloads % for i in
> > *.tgz; do echo $i; gpg --verify $i.asc $i;
> > donefluss-0.9.0-incubating-bin.tgzgpg: Signature made 목  2/12 20:01:51
> 2026
> > KSTgpg:                using RSA key
> > E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia
> Luo
> > (CODE SIGNING KEY) <yuxia@apache.org <yu...@apache.org>>" [unknown]gpg:
> > WARNING: This key is not certified with a trusted signature!gpg:
> >  There is no indication that the signature belongs to the owner.Primary
> key
> > fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
> > 8F9Cfluss-0.9.0-incubating-src.tgzgpg: Signature made 목  2/12 19:02:09
> 2026
> > KSTgpg:                using RSA key
> > E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia
> Luo
> > (CODE SIGNING KEY) <yuxia@apache.org <yu...@apache.org>>" [unknown]gpg:
> > WARNING: This key is not certified with a trusted signature!gpg:
> >  There is no indication that the signature belongs to the owner.Primary
> key
> > fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
> > 8F9Csml@smlui-MacBookAir Downloads %sml@smlui-MacBookAir Downloads %
> > shasum
> > *.sha512 > checklist.chk; shasum -c checklist.chk
> > fluss-0.9.0-incubating-bin.tgz.sha512:
> > OKfluss-0.9.0-incubating-src.tgz.sha512: OK*
> > ```
> >
> > Best Regards,
> > SeungMin Lee
> >
> > 2026년 2월 14일 (토) PM 8:39, Mehul Batra <me...@gmail.com>님이 작성:
> >
> >
> > 2026년 2월 14일 (토) PM 8:39, Mehul Batra <me...@gmail.com>님이 작성:
> >
> > > Hi all,
> > > Thanks, Yuxia, for running th show!
> > >
> > > +1 (binding)
> > >
> > >   [X] Downloaded source release from dist.apache.org
> > >
> > >   [X] Verified GPG signature (Key - Yuxia Luo)
> > >
> > >   [X] Verified SHA512 checksum
> > >
> > >   [X] Checked LICENSE (Apache 2.0), NOTICE, and DISCLAIMER files
> > >
> > >   [X] Verified ASF headers in source files
> > >
> > >   [X] Built from source successfully
> > >
> > >   [X] Verified Maven staging repository artifacts and signatures
> > >
> > >   [X] Verified Docker image (apache/fluss:0.9.0-incubating-rc1)
> > >   [X] Verified release notes and release blog: (Added comments)
> > >   [X] Ran "Real-Time Analytics With Flink" quickstart
> > >         -> Also Tested $changelog & $binlog virtual tables with
> Flink1.20
> > >   [X] Ran "Build streaming lakehouse" with ICEBERG 1.10.1 (RustFS UI
> > showed
> > > a 403, but it didn’t impact the run)
> > >
> > > By the way, the release email mentions commit d6fd1f1... but the tag
> > > v0.9.0-incubating-rc1 points to commit e314c35....
> > >
> > > Best Regards,
> > > Mehul Batra
> > >
> > > On Sat, Feb 14, 2026 at 11:37 AM Yang Guo <gu...@gmail.com> wrote:
> > >
> > > > +1(non-binging)
> > > >
> > > > Went through the new quickstart configurations(s3 compatible rustfs)
> > and
> > > > process with flink,paimon and iceberg.
> > > >
> > > > Verified the compatibility on flink 1.18,1.19,1.20,2.2.
> > > >
> > > > Checked the new compacted log format on both log table and kv table.
> > > >
> > > > Regards,
> > > > Yang Guo
> > > >
> > > >
> > > > On Sat, Feb 14, 2026 at 03:23 Keith Lee <leekeiabstraction@gmail.com
> >
> > > > wrote:
> > > >
> > > > > Hello Yuxia,
> > > > >
> > > > > Thank you for coordinating and preparing the release.
> > > > >
> > > > > +1 (non-binding)
> > > > >
> > > > > See verifications done below
> > > > >
> > > > > *1. Signature and shasum*
> > > > > ```
> > > > > $ curl https://downloads.apache.org/incubator/fluss/KEYS -o KEYS
> > > > >
> > > > >   % Total    % Received % Xferd  Average Speed   Time    Time
> >  Time
> > > > >  Current
> > > > >                                  Dload  Upload   Total   Spent
> > Left
> > > > >  Speed
> > > > > 100  8013  100  8013    0     0  51139      0 --:--:-- --:--:--
> > > --:--:--
> > > > > 51365
> > > > >
> > > > > $ gpg --import KEYS
> > > > > gpg: key 85BACB5AEFAE3202: "Jark Wu (CODE SIGNING KEY) <
> > > jark@apache.org
> > > > >"
> > > > > not changed
> > > > > gpg: key 56A9F259A4C18F9C: "Yuxia Luo (CODE SIGNING KEY) <
> > > > yuxia@apache.org
> > > > > >"
> > > > > not changed
> > > > > gpg: Total number processed: 2
> > > > > gpg:              unchanged: 2
> > > > >
> > > > >
> > > > > $ for i in *.tgz; do echo $i; gpg --verify $i.asc $i; done
> > > > > fluss-0.9.0-incubating-bin.tgz
> > > > > gpg: Signature made Thu Feb 12 11:01:51 2026 GMT
> > > > > gpg:                using RSA key
> > > > E91E2171D6678CB70B50282356A9F259A4C18F9C
> > > > > gpg: Good signature from "Yuxia Luo (CODE SIGNING KEY) <
> > > yuxia@apache.org
> > > > >"
> > > > > [unknown]
> > > > > gpg: WARNING: This key is not certified with a trusted signature!
> > > > > gpg:          There is no indication that the signature belongs to
> > the
> > > > > owner.
> > > > > Primary key fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259
> > A4C1
> > > > 8F9C
> > > > >
> > > > > $ sha512sum fluss-0.9.0-incubating-bin.tgz
> > > > >
> > > > >
> > > >
> > >
> >
> 15102955cf8abb7bf8384c0db20c5160b2aedc15bee3a10135a6d47c744dce23bd13a4403b43da4ebe199622517b83cf8eab76de1070c42b012f717b12bc2199
> > > > >  fluss-0.9.0-incubating-bin.tgz
> > > > > ```
> > > > >
> > > > > *2. Verified APIs using Rust client compiled from fluss-rust main
> > > branch
> > > > on
> > > > > commit: [1]*
> > > > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > > > Metadata,
> > > > > Schema
> > > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > > > - Primary Key Table: Put, Lookup
> > > > >
> > > > > *3. **Verified** using Python binding compiled from fluss-rust
> **main
> > > > > branch on commit: [1]*
> > > > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > > > Metadata,
> > > > > Schema
> > > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > > > - Primary Key Table: Put, Lookup
> > > > >
> > > > > *4. **Verified** using C++ binding from fluss-rust main branch
> **main
> > > > > branch on commit: [1]*
> > > > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > > > Metadata,
> > > > > Schema
> > > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > > > - Primary Key Table: Put, Lookup
> > > > >
> > > > > [1]
> > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5
> > > > >
> > > > > Best regards
> > > > > Keith Lee
> > > > >
> > > > >
> > > > > On Fri, Feb 13, 2026 at 3:55 PM ForwardXu <x1...@qq.com> wrote:
> > > > >
> > > > > > +1
> > > > > >
> > > > > >
> > > > > > Test environment:
> > > > > > &nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
> > > > > > &nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
> > > > > > &nbsp; - Fluss: 0.9.0-incubating (binary distribution)
> > > > > > &nbsp; - Flink: 2.2.0
> > > > > > &nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built
> > > from
> > > > > 0.9
> > > > > > source)
> > > > > > &nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar`
> > > > > > &nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer
> + 1
> > > > > > TabletServer)
> > > > > > &nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager,
> > > > > > process=4096m)
> > > > > >
> > > > > >
> > > > > > Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40
> > > test
> > > > > > cases, all passed:*OK*
> > > > > >
> > > > > >
> > > > > > &nbsp; - Tiering to Paimon — PK table
> > > > > >
> > > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete):
> > > > > > *OK* (10 cases)
> > > > > > &nbsp; - Tiering to Paimon — Log table
> > > > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query):
> *OK*
> > > (5
> > > > > > cases)
> > > > > > &nbsp; - Tiering to Paimon — Complex types PK table with
> > > ARRAY/MAP/ROW
> > > > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > > > > &nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK*
> (1
> > > > case)
> > > > > > &nbsp; - Tiering to Iceberg — PK table
> > > > > > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert):
> > *OK*
> > > > (8
> > > > > > cases)
> > > > > > &nbsp; - Tiering to Iceberg — Log table
> > > > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query):
> *OK*
> > > (5
> > > > > > cases)
> > > > > > &nbsp; - Tiering to Iceberg — Complex types PK table with
> > > ARRAY/MAP/ROW
> > > > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > > > > &nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK*
> (1
> > > > case)
> > > > > >
> > > > > >
> > > > > > Detailed test cases:
> > > > > >
> > > > > >
> > > > > > &nbsp; | # | Lake | Category | Test Case | Mode | Result |
> > > > > > &nbsp; |---|------|----------|-----------|------|--------|
> > > > > > &nbsp; | 1 | Paimon | PK Table | Create PK table with datalake
> > > enabled
> > > > > > (freshness=10s) | batch | *OK* |
> > > > > > &nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table |
> > batch
> > > |
> > > > > > *OK* |
> > > > > > &nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) |
> batch |
> > > > *OK*
> > > > > |
> > > > > > &nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon
> > > > storage) |
> > > > > > batch | *OK* |
> > > > > > &nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM)
> |
> > > > batch
> > > > > |
> > > > > > *OK* |
> > > > > > &nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) |
> > batch
> > > |
> > > > > > *OK* |
> > > > > > &nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch |
> > *OK*
> > > |
> > > > > > &nbsp; | 8 | Paimon | PK Table | Verify upsert (point query
> id=1) |
> > > > batch
> > > > > > | *OK* |
> > > > > > &nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch |
> > *OK*
> > > |
> > > > > > &nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) |
> > > batch |
> > > > > > *OK* |
> > > > > > &nbsp; | 11 | Paimon | Log Table | Create Log table with datalake
> > > > enabled
> > > > > > | batch | *OK* |
> > > > > > &nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table |
> > > > batch |
> > > > > > *OK* |
> > > > > > &nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch
> |
> > > > *OK* |
> > > > > > &nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY
> > > > > event_type)
> > > > > > | batch | *OK* |
> > > > > > &nbsp; | 15 | Paimon | Log Table | Streaming query Log table
> > > > (earliest) |
> > > > > > streaming | *OK* |
> > > > > > &nbsp; | 16 | Paimon | Complex Types | Create PK table with
> > > > ARRAY/MAP/ROW
> > > > > > + datalake | batch | *OK* |
> > > > > > &nbsp; | 17 | Paimon | Complex Types | Insert complex type data
> (3
> > > > rows)
> > > > > |
> > > > > > batch | *OK* |
> > > > > > &nbsp; | 18 | Paimon | Complex Types | Point query complex types
> > > > (id=1) |
> > > > > > batch | *OK* |
> > > > > > &nbsp; | 19 | Paimon | Complex Types | $lake query complex types
> |
> > > > batch
> > > > > |
> > > > > > *OK* |
> > > > > > &nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex
> > > types
> > > > > > (COUNT) | batch | *OK* |
> > > > > > &nbsp; | 21 | Paimon | System Table | $lake$snapshots
> (snapshot_id,
> > > > > > commit_user, total_record_count) | batch | *OK* |
> > > > > > &nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake
> > > > enabled
> > > > > > (freshness=10s) | batch | *OK* |
> > > > > > &nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table |
> > > batch
> > > > |
> > > > > > *OK* |
> > > > > > &nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) |
> > batch |
> > > > > *OK*
> > > > > > |
> > > > > > &nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg
> > > > > storage,
> > > > > > 5 rows with __bucket/__offset/__timestamp) | batch | *OK* |
> > > > > > &nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5,
> > > > > SUM=808.39)
> > > > > > | batch | *OK* |
> > > > > > &nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) |
> > > > batch |
> > > > > > *OK* |
> > > > > > &nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1,
> > > > > > customer→Alice_Updated) | batch | *OK* |
> > > > > > &nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query
> id=1,
> > > > > > Alice_Updated confirmed) | batch | *OK* |
> > > > > > &nbsp; | 30 | Iceberg | Log Table | Create Log table with
> datalake
> > > > > enabled
> > > > > > | batch | *OK* |
> > > > > > &nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table
> |
> > > > batch
> > > > > |
> > > > > > *OK* |
> > > > > > &nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows
> > > with
> > > > > > timestamps) | batch | *OK* |
> > > > > > &nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY
> > > > > > event_type: click=2, view=1, buy=1) | batch | *OK* |
> > > > > > &nbsp; | 34 | Iceberg | Log Table | Streaming query Log table
> > > > (earliest,
> > > > > 4
> > > > > > rows) | streaming | *OK* |
> > > > > > &nbsp; | 35 | Iceberg | Complex Types | Create PK table with
> > > > > ARRAY/MAP/ROW
> > > > > > + datalake | batch | *OK* |
> > > > > > &nbsp; | 36 | Iceberg | Complex Types | Insert complex type data
> (3
> > > > rows)
> > > > > > | batch | *OK* |
> > > > > > &nbsp; | 37 | Iceberg | Complex Types | Point query complex types
> > > > (id=1,
> > > > > > tags=[vip,active]) | batch | *OK* |
> > > > > > &nbsp; | 38 | Iceberg | Complex Types | $lake query complex types
> > (3
> > > > rows
> > > > > > with ARRAY/MAP/ROW) | batch | *OK* |
> > > > > > &nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex
> > > types
> > > > > > (COUNT=3) | batch | *OK* |
> > > > > > &nbsp; | 40 | Iceberg | System Table | $lake$snapshots
> > (snapshot_id,
> > > > > > operation=append/overwrite, summary) | batch | *OK* |
> > > > > >
> > > > > >
> > > > > > Notes:
> > > > > > &nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` +
> > > > > > `paimon-bundle-1.3.1.jar`)
> > > > > > &nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`)
> > > > > > &nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` +
> > > > > > `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve
> > > > > > `FileSystem.openFile()` API compatibility
> > > > > > &nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use
> > > 3-arg
> > > > > > `createCatalog(String, Map, Configuration)` via reflection
> (Iceberg
> > > > > 1.10.1
> > > > > > API change)
> > > > > > &nbsp; - Tiering Service ran as Flink streaming job, data
> verified
> > > via
> > > > > > `$lake` virtual table queries reading directly from lake storage
> > > > > > &nbsp; - All `$lake` queries returned correct data with Fluss
> > > metadata
> > > > > > columns (__bucket, __offset, __timestamp)
> > > > > >
> > > > > >
> > > > > > ForwardXu
> > > > > > x1q1j1@qq.com
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >          原始邮件
> > > > > >
> > > > > >
> > > > > > 发件人:Yunhong Zheng <yunhong@apache.org&gt;
> > > > > > 发件时间:2026年2月13日 22:51
> > > > > > 收件人:dev <dev@fluss.apache.org&gt;
> > > > > > 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)
> > > > > >
> > > > > >
> > > > > >
> > > > > >        +1&nbsp;(binding)
> > > > > > &nbsp;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp;
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating!
> > > > > >
> > > > > > Yours,
> > > > > > Yunhong(Swuferhong)
> > > > > >
> > > > > > On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote:
> > > > > > &gt;&nbsp;+1&nbsp;(non-binding)
> > > > > > &gt;&nbsp;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3
> > > > > > &gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance,
> > > > > > &gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance)
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica
> > > > > >
> &gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution)
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is
> > > > > > &gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE'
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag
> > > > > > &gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1)
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1:
> > > > > > &gt;&nbsp;&nbsp;&nbsp;ok
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data
> > > > > >
> > &gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios
> > > > > > &gt;&nbsp;
> > > > > > &gt;&nbsp;Best,
> > > > > > &gt;&nbsp;Yang
> > > > > > &gt;&nbsp;
> > > > > > &gt;&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn
> > > > > > &gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道:
> > > > > > &gt;&nbsp;
> > > > > > &gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone,
> > > > > > &gt;&nbsp;&gt;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
> > > > > >
> > > >
> > &gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
> > > > > >
> > > >
> > &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
> > > > > > &gt;&nbsp;&gt;
> > > > > > &gt;&nbsp;&gt;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
> > > > > > &gt;&nbsp;&gt;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
> > > > > > &gt;&nbsp;&gt;&nbsp;to:
> > > > > > &gt;&nbsp;&gt;&nbsp;*
> > > > > > &gt;&nbsp;&gt;&nbsp;
> > > > > >
> > > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > >
> > &gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
> > > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > > >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
> > > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > > > https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
> > > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > > >
> > > >
> > https://repository.apache.org/content/repositories/orgapachefluss-1004/
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
> > > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > > >
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > >
> &gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
> > > > > > &gt;&nbsp;&gt;&nbsp;*
> > > > > > &gt;&nbsp;&gt;
> > > > > > &gt;&nbsp;&gt;&nbsp;
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
> > > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > https://github.com/apache/fluss/pull/2590
> > > > > > &gt;&nbsp;&gt <
> > > https://github.com/apache/fluss/pull/2590&gt;&nbsp;&gt
> > > > >;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
> > > > > > &gt;&nbsp;&gt;&nbsp;*
> > > > > > &gt;&nbsp;&gt;
> > > > > > &gt;&nbsp;&gt;&nbsp;
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
> > > > > >
> > > >
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
> > > > > > &gt;&nbsp;&gt;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
> > > > > > &gt;&nbsp;&gt;
> > > > > > &gt;&nbsp;&gt;&nbsp;
> > > > > >
> > > > >
> > > >
> > >
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> > > > > > &gt;&nbsp;&gt
> > > > > > <
> > > > >
> > > >
> > >
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt;&nbsp;&gt
> > > > > >
> > > > > > ;
> > > > > > &gt;&nbsp;&gt;
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
> > > > > > &gt;&nbsp;&gt;
> > > > > > &gt;&nbsp;&gt;
> > > > > > &gt;&nbsp;&gt;&nbsp;Best&nbsp;regards,
> > > > > > &gt;&nbsp;&gt;&nbsp;Yuxia
> > > > > > &gt;&nbsp;&gt;
> > > > > > &gt;&nbsp;
> > > > >
> > > >
> > >
> >
>

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Prajwal Banakar <pr...@gmail.com>.
Hi everyone,

+1 (non-binding)

I have verified the following for Fluss 0.9.0-incubating (RC1):

- SHA512 checksum matches
- GPG signature is valid
- Source distribution builds successfully
- LICENSE and NOTICE files are present in the source distribution

Build environment:

- OS: Ubuntu 24.04 (WSL2, Linux 6.6.x)
- Java: OpenJDK 11.0.30
- Maven: 3.9.11
- GnuPG: 2.4.4
- Git: 2.43.0

The release candidate looks good to me.

Best regards,
Prajwal Banakar

On Sat, 14 Feb 2026 at 19:42, SeungMin Lee <se...@gmail.com> wrote:

> +1 (non-binding)
>
> Thank you for preparing this release.
>
> - official source release and binary -> ok
> - gpg key, checksum, build & test (mac air m4, OpenJDK 64-Bit Server VM
> Temurin-11.0.27+6 ) ->  ok
> - mvn central repo -> ok
> - git tag, commit for the release -> ok
> - release announcement blog post -> ok
>
>
>
> verification logs
> ```
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *sml@smlui-MacBookAir sml % curl
> https://downloads.apache.org/incubator/fluss/KEYS
> <https://downloads.apache.org/incubator/fluss/KEYS> -o KEYSgpg --import
> KEYS  % Total    % Received % Xferd  Average Speed   Time    Time     Time
>  Current                                 Dload  Upload   Total   Spent
>  Left  Speed100  8013  100  8013    0     0   8231      0 --:--:-- --:--:--
> --:--:--  8226gpg: directory '/Users/sml/.gnupg' createdgpg:
> /Users/sml/.gnupg/trustdb.gpg: trustdb createdgpg: key 85BACB5AEFAE3202:
> public key "Jark Wu (CODE SIGNING KEY) <jark@apache.org <jark@apache.org
> >>"
> importedgpg: key 56A9F259A4C18F9C: public key "Yuxia Luo (CODE SIGNING KEY)
> <yuxia@apache.org <yu...@apache.org>>" importedgpg: Total number
> processed:
> 2gpg:               imported: 2sml@smlui-MacBookAir Downloads % for i in
> *.tgz; do echo $i; gpg --verify $i.asc $i;
> donefluss-0.9.0-incubating-bin.tgzgpg: Signature made 목  2/12 20:01:51 2026
> KSTgpg:                using RSA key
> E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia Luo
> (CODE SIGNING KEY) <yuxia@apache.org <yu...@apache.org>>" [unknown]gpg:
> WARNING: This key is not certified with a trusted signature!gpg:
>  There is no indication that the signature belongs to the owner.Primary key
> fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
> 8F9Cfluss-0.9.0-incubating-src.tgzgpg: Signature made 목  2/12 19:02:09 2026
> KSTgpg:                using RSA key
> E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia Luo
> (CODE SIGNING KEY) <yuxia@apache.org <yu...@apache.org>>" [unknown]gpg:
> WARNING: This key is not certified with a trusted signature!gpg:
>  There is no indication that the signature belongs to the owner.Primary key
> fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
> 8F9Csml@smlui-MacBookAir Downloads %sml@smlui-MacBookAir Downloads %
> shasum
> *.sha512 > checklist.chk; shasum -c checklist.chk
> fluss-0.9.0-incubating-bin.tgz.sha512:
> OKfluss-0.9.0-incubating-src.tgz.sha512: OK*
> ```
>
> Best Regards,
> SeungMin Lee
>
> 2026년 2월 14일 (토) PM 8:39, Mehul Batra <me...@gmail.com>님이 작성:
>
>
> 2026년 2월 14일 (토) PM 8:39, Mehul Batra <me...@gmail.com>님이 작성:
>
> > Hi all,
> > Thanks, Yuxia, for running th show!
> >
> > +1 (binding)
> >
> >   [X] Downloaded source release from dist.apache.org
> >
> >   [X] Verified GPG signature (Key - Yuxia Luo)
> >
> >   [X] Verified SHA512 checksum
> >
> >   [X] Checked LICENSE (Apache 2.0), NOTICE, and DISCLAIMER files
> >
> >   [X] Verified ASF headers in source files
> >
> >   [X] Built from source successfully
> >
> >   [X] Verified Maven staging repository artifacts and signatures
> >
> >   [X] Verified Docker image (apache/fluss:0.9.0-incubating-rc1)
> >   [X] Verified release notes and release blog: (Added comments)
> >   [X] Ran "Real-Time Analytics With Flink" quickstart
> >         -> Also Tested $changelog & $binlog virtual tables with Flink1.20
> >   [X] Ran "Build streaming lakehouse" with ICEBERG 1.10.1 (RustFS UI
> showed
> > a 403, but it didn’t impact the run)
> >
> > By the way, the release email mentions commit d6fd1f1... but the tag
> > v0.9.0-incubating-rc1 points to commit e314c35....
> >
> > Best Regards,
> > Mehul Batra
> >
> > On Sat, Feb 14, 2026 at 11:37 AM Yang Guo <gu...@gmail.com> wrote:
> >
> > > +1(non-binging)
> > >
> > > Went through the new quickstart configurations(s3 compatible rustfs)
> and
> > > process with flink,paimon and iceberg.
> > >
> > > Verified the compatibility on flink 1.18,1.19,1.20,2.2.
> > >
> > > Checked the new compacted log format on both log table and kv table.
> > >
> > > Regards,
> > > Yang Guo
> > >
> > >
> > > On Sat, Feb 14, 2026 at 03:23 Keith Lee <le...@gmail.com>
> > > wrote:
> > >
> > > > Hello Yuxia,
> > > >
> > > > Thank you for coordinating and preparing the release.
> > > >
> > > > +1 (non-binding)
> > > >
> > > > See verifications done below
> > > >
> > > > *1. Signature and shasum*
> > > > ```
> > > > $ curl https://downloads.apache.org/incubator/fluss/KEYS -o KEYS
> > > >
> > > >   % Total    % Received % Xferd  Average Speed   Time    Time
>  Time
> > > >  Current
> > > >                                  Dload  Upload   Total   Spent
> Left
> > > >  Speed
> > > > 100  8013  100  8013    0     0  51139      0 --:--:-- --:--:--
> > --:--:--
> > > > 51365
> > > >
> > > > $ gpg --import KEYS
> > > > gpg: key 85BACB5AEFAE3202: "Jark Wu (CODE SIGNING KEY) <
> > jark@apache.org
> > > >"
> > > > not changed
> > > > gpg: key 56A9F259A4C18F9C: "Yuxia Luo (CODE SIGNING KEY) <
> > > yuxia@apache.org
> > > > >"
> > > > not changed
> > > > gpg: Total number processed: 2
> > > > gpg:              unchanged: 2
> > > >
> > > >
> > > > $ for i in *.tgz; do echo $i; gpg --verify $i.asc $i; done
> > > > fluss-0.9.0-incubating-bin.tgz
> > > > gpg: Signature made Thu Feb 12 11:01:51 2026 GMT
> > > > gpg:                using RSA key
> > > E91E2171D6678CB70B50282356A9F259A4C18F9C
> > > > gpg: Good signature from "Yuxia Luo (CODE SIGNING KEY) <
> > yuxia@apache.org
> > > >"
> > > > [unknown]
> > > > gpg: WARNING: This key is not certified with a trusted signature!
> > > > gpg:          There is no indication that the signature belongs to
> the
> > > > owner.
> > > > Primary key fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259
> A4C1
> > > 8F9C
> > > >
> > > > $ sha512sum fluss-0.9.0-incubating-bin.tgz
> > > >
> > > >
> > >
> >
> 15102955cf8abb7bf8384c0db20c5160b2aedc15bee3a10135a6d47c744dce23bd13a4403b43da4ebe199622517b83cf8eab76de1070c42b012f717b12bc2199
> > > >  fluss-0.9.0-incubating-bin.tgz
> > > > ```
> > > >
> > > > *2. Verified APIs using Rust client compiled from fluss-rust main
> > branch
> > > on
> > > > commit: [1]*
> > > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > > Metadata,
> > > > Schema
> > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > > - Primary Key Table: Put, Lookup
> > > >
> > > > *3. **Verified** using Python binding compiled from fluss-rust **main
> > > > branch on commit: [1]*
> > > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > > Metadata,
> > > > Schema
> > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > > - Primary Key Table: Put, Lookup
> > > >
> > > > *4. **Verified** using C++ binding from fluss-rust main branch **main
> > > > branch on commit: [1]*
> > > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > > Metadata,
> > > > Schema
> > > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > > - Primary Key Table: Put, Lookup
> > > >
> > > > [1]
> > > >
> > > >
> > >
> >
> https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5
> > > >
> > > > Best regards
> > > > Keith Lee
> > > >
> > > >
> > > > On Fri, Feb 13, 2026 at 3:55 PM ForwardXu <x1...@qq.com> wrote:
> > > >
> > > > > +1
> > > > >
> > > > >
> > > > > Test environment:
> > > > > &nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
> > > > > &nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
> > > > > &nbsp; - Fluss: 0.9.0-incubating (binary distribution)
> > > > > &nbsp; - Flink: 2.2.0
> > > > > &nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built
> > from
> > > > 0.9
> > > > > source)
> > > > > &nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar`
> > > > > &nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1
> > > > > TabletServer)
> > > > > &nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager,
> > > > > process=4096m)
> > > > >
> > > > >
> > > > > Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40
> > test
> > > > > cases, all passed:*OK*
> > > > >
> > > > >
> > > > > &nbsp; - Tiering to Paimon — PK table
> > > > >
> > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete):
> > > > > *OK* (10 cases)
> > > > > &nbsp; - Tiering to Paimon — Log table
> > > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK*
> > (5
> > > > > cases)
> > > > > &nbsp; - Tiering to Paimon — Complex types PK table with
> > ARRAY/MAP/ROW
> > > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > > > &nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK* (1
> > > case)
> > > > > &nbsp; - Tiering to Iceberg — PK table
> > > > > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert):
> *OK*
> > > (8
> > > > > cases)
> > > > > &nbsp; - Tiering to Iceberg — Log table
> > > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK*
> > (5
> > > > > cases)
> > > > > &nbsp; - Tiering to Iceberg — Complex types PK table with
> > ARRAY/MAP/ROW
> > > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > > > &nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK* (1
> > > case)
> > > > >
> > > > >
> > > > > Detailed test cases:
> > > > >
> > > > >
> > > > > &nbsp; | # | Lake | Category | Test Case | Mode | Result |
> > > > > &nbsp; |---|------|----------|-----------|------|--------|
> > > > > &nbsp; | 1 | Paimon | PK Table | Create PK table with datalake
> > enabled
> > > > > (freshness=10s) | batch | *OK* |
> > > > > &nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table |
> batch
> > |
> > > > > *OK* |
> > > > > &nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) | batch |
> > > *OK*
> > > > |
> > > > > &nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon
> > > storage) |
> > > > > batch | *OK* |
> > > > > &nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM) |
> > > batch
> > > > |
> > > > > *OK* |
> > > > > &nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) |
> batch
> > |
> > > > > *OK* |
> > > > > &nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch |
> *OK*
> > |
> > > > > &nbsp; | 8 | Paimon | PK Table | Verify upsert (point query id=1) |
> > > batch
> > > > > | *OK* |
> > > > > &nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch |
> *OK*
> > |
> > > > > &nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) |
> > batch |
> > > > > *OK* |
> > > > > &nbsp; | 11 | Paimon | Log Table | Create Log table with datalake
> > > enabled
> > > > > | batch | *OK* |
> > > > > &nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table |
> > > batch |
> > > > > *OK* |
> > > > > &nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch |
> > > *OK* |
> > > > > &nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY
> > > > event_type)
> > > > > | batch | *OK* |
> > > > > &nbsp; | 15 | Paimon | Log Table | Streaming query Log table
> > > (earliest) |
> > > > > streaming | *OK* |
> > > > > &nbsp; | 16 | Paimon | Complex Types | Create PK table with
> > > ARRAY/MAP/ROW
> > > > > + datalake | batch | *OK* |
> > > > > &nbsp; | 17 | Paimon | Complex Types | Insert complex type data (3
> > > rows)
> > > > |
> > > > > batch | *OK* |
> > > > > &nbsp; | 18 | Paimon | Complex Types | Point query complex types
> > > (id=1) |
> > > > > batch | *OK* |
> > > > > &nbsp; | 19 | Paimon | Complex Types | $lake query complex types |
> > > batch
> > > > |
> > > > > *OK* |
> > > > > &nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex
> > types
> > > > > (COUNT) | batch | *OK* |
> > > > > &nbsp; | 21 | Paimon | System Table | $lake$snapshots (snapshot_id,
> > > > > commit_user, total_record_count) | batch | *OK* |
> > > > > &nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake
> > > enabled
> > > > > (freshness=10s) | batch | *OK* |
> > > > > &nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table |
> > batch
> > > |
> > > > > *OK* |
> > > > > &nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) |
> batch |
> > > > *OK*
> > > > > |
> > > > > &nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg
> > > > storage,
> > > > > 5 rows with __bucket/__offset/__timestamp) | batch | *OK* |
> > > > > &nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5,
> > > > SUM=808.39)
> > > > > | batch | *OK* |
> > > > > &nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) |
> > > batch |
> > > > > *OK* |
> > > > > &nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1,
> > > > > customer→Alice_Updated) | batch | *OK* |
> > > > > &nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query id=1,
> > > > > Alice_Updated confirmed) | batch | *OK* |
> > > > > &nbsp; | 30 | Iceberg | Log Table | Create Log table with datalake
> > > > enabled
> > > > > | batch | *OK* |
> > > > > &nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table |
> > > batch
> > > > |
> > > > > *OK* |
> > > > > &nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows
> > with
> > > > > timestamps) | batch | *OK* |
> > > > > &nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY
> > > > > event_type: click=2, view=1, buy=1) | batch | *OK* |
> > > > > &nbsp; | 34 | Iceberg | Log Table | Streaming query Log table
> > > (earliest,
> > > > 4
> > > > > rows) | streaming | *OK* |
> > > > > &nbsp; | 35 | Iceberg | Complex Types | Create PK table with
> > > > ARRAY/MAP/ROW
> > > > > + datalake | batch | *OK* |
> > > > > &nbsp; | 36 | Iceberg | Complex Types | Insert complex type data (3
> > > rows)
> > > > > | batch | *OK* |
> > > > > &nbsp; | 37 | Iceberg | Complex Types | Point query complex types
> > > (id=1,
> > > > > tags=[vip,active]) | batch | *OK* |
> > > > > &nbsp; | 38 | Iceberg | Complex Types | $lake query complex types
> (3
> > > rows
> > > > > with ARRAY/MAP/ROW) | batch | *OK* |
> > > > > &nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex
> > types
> > > > > (COUNT=3) | batch | *OK* |
> > > > > &nbsp; | 40 | Iceberg | System Table | $lake$snapshots
> (snapshot_id,
> > > > > operation=append/overwrite, summary) | batch | *OK* |
> > > > >
> > > > >
> > > > > Notes:
> > > > > &nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` +
> > > > > `paimon-bundle-1.3.1.jar`)
> > > > > &nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`)
> > > > > &nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` +
> > > > > `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve
> > > > > `FileSystem.openFile()` API compatibility
> > > > > &nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use
> > 3-arg
> > > > > `createCatalog(String, Map, Configuration)` via reflection (Iceberg
> > > > 1.10.1
> > > > > API change)
> > > > > &nbsp; - Tiering Service ran as Flink streaming job, data verified
> > via
> > > > > `$lake` virtual table queries reading directly from lake storage
> > > > > &nbsp; - All `$lake` queries returned correct data with Fluss
> > metadata
> > > > > columns (__bucket, __offset, __timestamp)
> > > > >
> > > > >
> > > > > ForwardXu
> > > > > x1q1j1@qq.com
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >          原始邮件
> > > > >
> > > > >
> > > > > 发件人:Yunhong Zheng <yunhong@apache.org&gt;
> > > > > 发件时间:2026年2月13日 22:51
> > > > > 收件人:dev <dev@fluss.apache.org&gt;
> > > > > 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)
> > > > >
> > > > >
> > > > >
> > > > >        +1&nbsp;(binding)
> > > > > &nbsp;
> > > > >
> > > > >
> > > >
> > >
> >
> I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp;
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating!
> > > > >
> > > > > Yours,
> > > > > Yunhong(Swuferhong)
> > > > >
> > > > > On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote:
> > > > > &gt;&nbsp;+1&nbsp;(non-binding)
> > > > > &gt;&nbsp;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3
> > > > > &gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance,
> > > > > &gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance)
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica
> > > > > &gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution)
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is
> > > > > &gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE'
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag
> > > > > &gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1)
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1:
> > > > > &gt;&nbsp;&nbsp;&nbsp;ok
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data
> > > > >
> &gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios
> > > > > &gt;&nbsp;
> > > > > &gt;&nbsp;Best,
> > > > > &gt;&nbsp;Yang
> > > > > &gt;&nbsp;
> > > > > &gt;&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn
> > > > > &gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道:
> > > > > &gt;&nbsp;
> > > > > &gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone,
> > > > > &gt;&nbsp;&gt;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
> > > > >
> > >
> &gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
> > > > >
> > >
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
> > > > > &gt;&nbsp;&gt;
> > > > > &gt;&nbsp;&gt;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
> > > > > &gt;&nbsp;&gt;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
> > > > > &gt;&nbsp;&gt;&nbsp;to:
> > > > > &gt;&nbsp;&gt;&nbsp;*
> > > > > &gt;&nbsp;&gt;&nbsp;
> > > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > >
> &gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > > https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > > https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > >
> > >
> https://repository.apache.org/content/repositories/orgapachefluss-1004/
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > > https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
> > > > > &gt;&nbsp;&gt;&nbsp;*
> > > > > &gt;&nbsp;&gt;
> > > > > &gt;&nbsp;&gt;&nbsp;
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
> > > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> https://github.com/apache/fluss/pull/2590
> > > > > &gt;&nbsp;&gt <
> > https://github.com/apache/fluss/pull/2590&gt;&nbsp;&gt
> > > >;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
> > > > > &gt;&nbsp;&gt;&nbsp;*
> > > > > &gt;&nbsp;&gt;
> > > > > &gt;&nbsp;&gt;&nbsp;
> > > > >
> > > >
> > >
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
> > > > >
> > >
> &gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
> > > > > &gt;&nbsp;&gt;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
> > > > > &gt;&nbsp;&gt;
> > > > > &gt;&nbsp;&gt;&nbsp;
> > > > >
> > > >
> > >
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> > > > > &gt;&nbsp;&gt
> > > > > <
> > > >
> > >
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt;&nbsp;&gt
> > > > >
> > > > > ;
> > > > > &gt;&nbsp;&gt;
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
> > > > >
> > > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
> > > > > &gt;&nbsp;&gt;
> > > > > &gt;&nbsp;&gt;
> > > > > &gt;&nbsp;&gt;&nbsp;Best&nbsp;regards,
> > > > > &gt;&nbsp;&gt;&nbsp;Yuxia
> > > > > &gt;&nbsp;&gt;
> > > > > &gt;&nbsp;
> > > >
> > >
> >
>

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by SeungMin Lee <se...@gmail.com>.
+1 (non-binding)

Thank you for preparing this release.

- official source release and binary -> ok
- gpg key, checksum, build & test (mac air m4, OpenJDK 64-Bit Server VM
Temurin-11.0.27+6 ) ->  ok
- mvn central repo -> ok
- git tag, commit for the release -> ok
- release announcement blog post -> ok



verification logs
```































*sml@smlui-MacBookAir sml % curl
https://downloads.apache.org/incubator/fluss/KEYS
<https://downloads.apache.org/incubator/fluss/KEYS> -o KEYSgpg --import
KEYS  % Total    % Received % Xferd  Average Speed   Time    Time     Time
 Current                                 Dload  Upload   Total   Spent
 Left  Speed100  8013  100  8013    0     0   8231      0 --:--:-- --:--:--
--:--:--  8226gpg: directory '/Users/sml/.gnupg' createdgpg:
/Users/sml/.gnupg/trustdb.gpg: trustdb createdgpg: key 85BACB5AEFAE3202:
public key "Jark Wu (CODE SIGNING KEY) <jark@apache.org <ja...@apache.org>>"
importedgpg: key 56A9F259A4C18F9C: public key "Yuxia Luo (CODE SIGNING KEY)
<yuxia@apache.org <yu...@apache.org>>" importedgpg: Total number processed:
2gpg:               imported: 2sml@smlui-MacBookAir Downloads % for i in
*.tgz; do echo $i; gpg --verify $i.asc $i;
donefluss-0.9.0-incubating-bin.tgzgpg: Signature made 목  2/12 20:01:51 2026
KSTgpg:                using RSA key
E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia Luo
(CODE SIGNING KEY) <yuxia@apache.org <yu...@apache.org>>" [unknown]gpg:
WARNING: This key is not certified with a trusted signature!gpg:
 There is no indication that the signature belongs to the owner.Primary key
fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
8F9Cfluss-0.9.0-incubating-src.tgzgpg: Signature made 목  2/12 19:02:09 2026
KSTgpg:                using RSA key
E91E2171D6678CB70B50282356A9F259A4C18F9Cgpg: Good signature from "Yuxia Luo
(CODE SIGNING KEY) <yuxia@apache.org <yu...@apache.org>>" [unknown]gpg:
WARNING: This key is not certified with a trusted signature!gpg:
 There is no indication that the signature belongs to the owner.Primary key
fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
8F9Csml@smlui-MacBookAir Downloads %sml@smlui-MacBookAir Downloads % shasum
*.sha512 > checklist.chk; shasum -c checklist.chk
fluss-0.9.0-incubating-bin.tgz.sha512:
OKfluss-0.9.0-incubating-src.tgz.sha512: OK*
```

Best Regards,
SeungMin Lee

2026년 2월 14일 (토) PM 8:39, Mehul Batra <me...@gmail.com>님이 작성:


2026년 2월 14일 (토) PM 8:39, Mehul Batra <me...@gmail.com>님이 작성:

> Hi all,
> Thanks, Yuxia, for running th show!
>
> +1 (binding)
>
>   [X] Downloaded source release from dist.apache.org
>
>   [X] Verified GPG signature (Key - Yuxia Luo)
>
>   [X] Verified SHA512 checksum
>
>   [X] Checked LICENSE (Apache 2.0), NOTICE, and DISCLAIMER files
>
>   [X] Verified ASF headers in source files
>
>   [X] Built from source successfully
>
>   [X] Verified Maven staging repository artifacts and signatures
>
>   [X] Verified Docker image (apache/fluss:0.9.0-incubating-rc1)
>   [X] Verified release notes and release blog: (Added comments)
>   [X] Ran "Real-Time Analytics With Flink" quickstart
>         -> Also Tested $changelog & $binlog virtual tables with Flink1.20
>   [X] Ran "Build streaming lakehouse" with ICEBERG 1.10.1 (RustFS UI showed
> a 403, but it didn’t impact the run)
>
> By the way, the release email mentions commit d6fd1f1... but the tag
> v0.9.0-incubating-rc1 points to commit e314c35....
>
> Best Regards,
> Mehul Batra
>
> On Sat, Feb 14, 2026 at 11:37 AM Yang Guo <gu...@gmail.com> wrote:
>
> > +1(non-binging)
> >
> > Went through the new quickstart configurations(s3 compatible rustfs) and
> > process with flink,paimon and iceberg.
> >
> > Verified the compatibility on flink 1.18,1.19,1.20,2.2.
> >
> > Checked the new compacted log format on both log table and kv table.
> >
> > Regards,
> > Yang Guo
> >
> >
> > On Sat, Feb 14, 2026 at 03:23 Keith Lee <le...@gmail.com>
> > wrote:
> >
> > > Hello Yuxia,
> > >
> > > Thank you for coordinating and preparing the release.
> > >
> > > +1 (non-binding)
> > >
> > > See verifications done below
> > >
> > > *1. Signature and shasum*
> > > ```
> > > $ curl https://downloads.apache.org/incubator/fluss/KEYS -o KEYS
> > >
> > >   % Total    % Received % Xferd  Average Speed   Time    Time     Time
> > >  Current
> > >                                  Dload  Upload   Total   Spent    Left
> > >  Speed
> > > 100  8013  100  8013    0     0  51139      0 --:--:-- --:--:--
> --:--:--
> > > 51365
> > >
> > > $ gpg --import KEYS
> > > gpg: key 85BACB5AEFAE3202: "Jark Wu (CODE SIGNING KEY) <
> jark@apache.org
> > >"
> > > not changed
> > > gpg: key 56A9F259A4C18F9C: "Yuxia Luo (CODE SIGNING KEY) <
> > yuxia@apache.org
> > > >"
> > > not changed
> > > gpg: Total number processed: 2
> > > gpg:              unchanged: 2
> > >
> > >
> > > $ for i in *.tgz; do echo $i; gpg --verify $i.asc $i; done
> > > fluss-0.9.0-incubating-bin.tgz
> > > gpg: Signature made Thu Feb 12 11:01:51 2026 GMT
> > > gpg:                using RSA key
> > E91E2171D6678CB70B50282356A9F259A4C18F9C
> > > gpg: Good signature from "Yuxia Luo (CODE SIGNING KEY) <
> yuxia@apache.org
> > >"
> > > [unknown]
> > > gpg: WARNING: This key is not certified with a trusted signature!
> > > gpg:          There is no indication that the signature belongs to the
> > > owner.
> > > Primary key fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
> > 8F9C
> > >
> > > $ sha512sum fluss-0.9.0-incubating-bin.tgz
> > >
> > >
> >
> 15102955cf8abb7bf8384c0db20c5160b2aedc15bee3a10135a6d47c744dce23bd13a4403b43da4ebe199622517b83cf8eab76de1070c42b012f717b12bc2199
> > >  fluss-0.9.0-incubating-bin.tgz
> > > ```
> > >
> > > *2. Verified APIs using Rust client compiled from fluss-rust main
> branch
> > on
> > > commit: [1]*
> > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > Metadata,
> > > Schema
> > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > - Primary Key Table: Put, Lookup
> > >
> > > *3. **Verified** using Python binding compiled from fluss-rust **main
> > > branch on commit: [1]*
> > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > Metadata,
> > > Schema
> > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > - Primary Key Table: Put, Lookup
> > >
> > > *4. **Verified** using C++ binding from fluss-rust main branch **main
> > > branch on commit: [1]*
> > > - Admin APIs: Create / Get / List for Database, Table, Partition;
> > Metadata,
> > > Schema
> > > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > > - Primary Key Table: Put, Lookup
> > >
> > > [1]
> > >
> > >
> >
> https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5
> > >
> > > Best regards
> > > Keith Lee
> > >
> > >
> > > On Fri, Feb 13, 2026 at 3:55 PM ForwardXu <x1...@qq.com> wrote:
> > >
> > > > +1
> > > >
> > > >
> > > > Test environment:
> > > > &nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
> > > > &nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
> > > > &nbsp; - Fluss: 0.9.0-incubating (binary distribution)
> > > > &nbsp; - Flink: 2.2.0
> > > > &nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built
> from
> > > 0.9
> > > > source)
> > > > &nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar`
> > > > &nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1
> > > > TabletServer)
> > > > &nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager,
> > > > process=4096m)
> > > >
> > > >
> > > > Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40
> test
> > > > cases, all passed:*OK*
> > > >
> > > >
> > > > &nbsp; - Tiering to Paimon — PK table
> > > >
> (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete):
> > > > *OK* (10 cases)
> > > > &nbsp; - Tiering to Paimon — Log table
> > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK*
> (5
> > > > cases)
> > > > &nbsp; - Tiering to Paimon — Complex types PK table with
> ARRAY/MAP/ROW
> > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > > &nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK* (1
> > case)
> > > > &nbsp; - Tiering to Iceberg — PK table
> > > > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert): *OK*
> > (8
> > > > cases)
> > > > &nbsp; - Tiering to Iceberg — Log table
> > > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK*
> (5
> > > > cases)
> > > > &nbsp; - Tiering to Iceberg — Complex types PK table with
> ARRAY/MAP/ROW
> > > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > > &nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK* (1
> > case)
> > > >
> > > >
> > > > Detailed test cases:
> > > >
> > > >
> > > > &nbsp; | # | Lake | Category | Test Case | Mode | Result |
> > > > &nbsp; |---|------|----------|-----------|------|--------|
> > > > &nbsp; | 1 | Paimon | PK Table | Create PK table with datalake
> enabled
> > > > (freshness=10s) | batch | *OK* |
> > > > &nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table | batch
> |
> > > > *OK* |
> > > > &nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) | batch |
> > *OK*
> > > |
> > > > &nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon
> > storage) |
> > > > batch | *OK* |
> > > > &nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM) |
> > batch
> > > |
> > > > *OK* |
> > > > &nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) | batch
> |
> > > > *OK* |
> > > > &nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch | *OK*
> |
> > > > &nbsp; | 8 | Paimon | PK Table | Verify upsert (point query id=1) |
> > batch
> > > > | *OK* |
> > > > &nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch | *OK*
> |
> > > > &nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) |
> batch |
> > > > *OK* |
> > > > &nbsp; | 11 | Paimon | Log Table | Create Log table with datalake
> > enabled
> > > > | batch | *OK* |
> > > > &nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table |
> > batch |
> > > > *OK* |
> > > > &nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch |
> > *OK* |
> > > > &nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY
> > > event_type)
> > > > | batch | *OK* |
> > > > &nbsp; | 15 | Paimon | Log Table | Streaming query Log table
> > (earliest) |
> > > > streaming | *OK* |
> > > > &nbsp; | 16 | Paimon | Complex Types | Create PK table with
> > ARRAY/MAP/ROW
> > > > + datalake | batch | *OK* |
> > > > &nbsp; | 17 | Paimon | Complex Types | Insert complex type data (3
> > rows)
> > > |
> > > > batch | *OK* |
> > > > &nbsp; | 18 | Paimon | Complex Types | Point query complex types
> > (id=1) |
> > > > batch | *OK* |
> > > > &nbsp; | 19 | Paimon | Complex Types | $lake query complex types |
> > batch
> > > |
> > > > *OK* |
> > > > &nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex
> types
> > > > (COUNT) | batch | *OK* |
> > > > &nbsp; | 21 | Paimon | System Table | $lake$snapshots (snapshot_id,
> > > > commit_user, total_record_count) | batch | *OK* |
> > > > &nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake
> > enabled
> > > > (freshness=10s) | batch | *OK* |
> > > > &nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table |
> batch
> > |
> > > > *OK* |
> > > > &nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) | batch |
> > > *OK*
> > > > |
> > > > &nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg
> > > storage,
> > > > 5 rows with __bucket/__offset/__timestamp) | batch | *OK* |
> > > > &nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5,
> > > SUM=808.39)
> > > > | batch | *OK* |
> > > > &nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) |
> > batch |
> > > > *OK* |
> > > > &nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1,
> > > > customer→Alice_Updated) | batch | *OK* |
> > > > &nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query id=1,
> > > > Alice_Updated confirmed) | batch | *OK* |
> > > > &nbsp; | 30 | Iceberg | Log Table | Create Log table with datalake
> > > enabled
> > > > | batch | *OK* |
> > > > &nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table |
> > batch
> > > |
> > > > *OK* |
> > > > &nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows
> with
> > > > timestamps) | batch | *OK* |
> > > > &nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY
> > > > event_type: click=2, view=1, buy=1) | batch | *OK* |
> > > > &nbsp; | 34 | Iceberg | Log Table | Streaming query Log table
> > (earliest,
> > > 4
> > > > rows) | streaming | *OK* |
> > > > &nbsp; | 35 | Iceberg | Complex Types | Create PK table with
> > > ARRAY/MAP/ROW
> > > > + datalake | batch | *OK* |
> > > > &nbsp; | 36 | Iceberg | Complex Types | Insert complex type data (3
> > rows)
> > > > | batch | *OK* |
> > > > &nbsp; | 37 | Iceberg | Complex Types | Point query complex types
> > (id=1,
> > > > tags=[vip,active]) | batch | *OK* |
> > > > &nbsp; | 38 | Iceberg | Complex Types | $lake query complex types (3
> > rows
> > > > with ARRAY/MAP/ROW) | batch | *OK* |
> > > > &nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex
> types
> > > > (COUNT=3) | batch | *OK* |
> > > > &nbsp; | 40 | Iceberg | System Table | $lake$snapshots (snapshot_id,
> > > > operation=append/overwrite, summary) | batch | *OK* |
> > > >
> > > >
> > > > Notes:
> > > > &nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` +
> > > > `paimon-bundle-1.3.1.jar`)
> > > > &nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`)
> > > > &nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` +
> > > > `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve
> > > > `FileSystem.openFile()` API compatibility
> > > > &nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use
> 3-arg
> > > > `createCatalog(String, Map, Configuration)` via reflection (Iceberg
> > > 1.10.1
> > > > API change)
> > > > &nbsp; - Tiering Service ran as Flink streaming job, data verified
> via
> > > > `$lake` virtual table queries reading directly from lake storage
> > > > &nbsp; - All `$lake` queries returned correct data with Fluss
> metadata
> > > > columns (__bucket, __offset, __timestamp)
> > > >
> > > >
> > > > ForwardXu
> > > > x1q1j1@qq.com
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >          原始邮件
> > > >
> > > >
> > > > 发件人:Yunhong Zheng <yunhong@apache.org&gt;
> > > > 发件时间:2026年2月13日 22:51
> > > > 收件人:dev <dev@fluss.apache.org&gt;
> > > > 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)
> > > >
> > > >
> > > >
> > > >        +1&nbsp;(binding)
> > > > &nbsp;
> > > >
> > > >
> > >
> >
> I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp;
> > > >
> > > >
> > > >
> > >
> >
> Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating!
> > > >
> > > > Yours,
> > > > Yunhong(Swuferhong)
> > > >
> > > > On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote:
> > > > &gt;&nbsp;+1&nbsp;(non-binding)
> > > > &gt;&nbsp;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3
> > > > &gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance,
> > > > &gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance)
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica
> > > > &gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution)
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is
> > > > &gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE'
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag
> > > > &gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1)
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1:
> > > > &gt;&nbsp;&nbsp;&nbsp;ok
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data
> > > > &gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios
> > > > &gt;&nbsp;
> > > > &gt;&nbsp;Best,
> > > > &gt;&nbsp;Yang
> > > > &gt;&nbsp;
> > > > &gt;&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn
> > > > &gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道:
> > > > &gt;&nbsp;
> > > > &gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone,
> > > > &gt;&nbsp;&gt;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
> > > >
> > &gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
> > > >
> > &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
> > > > &gt;&nbsp;&gt;
> > > > &gt;&nbsp;&gt;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
> > > > &gt;&nbsp;&gt;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
> > > > &gt;&nbsp;&gt;&nbsp;to:
> > > > &gt;&nbsp;&gt;&nbsp;*
> > > > &gt;&nbsp;&gt;&nbsp;
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt;&nbsp;&gt
> > > >
> > > > ;
> > > > &gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
> > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt;&nbsp;&gt
> > > >
> > > > ;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
> > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt;&nbsp;&gt
> > > >
> > > > ;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
> > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > >
> > https://repository.apache.org/content/repositories/orgapachefluss-1004/
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt;&nbsp;&gt
> > > >
> > > > ;
> > > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
> > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > > https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt;&nbsp;&gt
> > > >
> > > > ;
> > > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
> > > > &gt;&nbsp;&gt;&nbsp;*
> > > > &gt;&nbsp;&gt;
> > > > &gt;&nbsp;&gt;&nbsp;
> > > >
> > >
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt;&nbsp;&gt
> > > >
> > > > ;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
> > > > &gt;&nbsp;&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/pull/2590
> > > > &gt;&nbsp;&gt <
> https://github.com/apache/fluss/pull/2590&gt;&nbsp;&gt
> > >;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
> > > > &gt;&nbsp;&gt;&nbsp;*
> > > > &gt;&nbsp;&gt;
> > > > &gt;&nbsp;&gt;&nbsp;
> > > >
> > >
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt;&nbsp;&gt
> > > >
> > > > ;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
> > > >
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
> > > > &gt;&nbsp;&gt;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
> > > > &gt;&nbsp;&gt;
> > > > &gt;&nbsp;&gt;&nbsp;
> > > >
> > >
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> > > > &gt;&nbsp;&gt
> > > > <
> > >
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt;&nbsp;&gt
> > > >
> > > > ;
> > > > &gt;&nbsp;&gt;
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
> > > >
> > > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
> > > > &gt;&nbsp;&gt;
> > > > &gt;&nbsp;&gt;
> > > > &gt;&nbsp;&gt;&nbsp;Best&nbsp;regards,
> > > > &gt;&nbsp;&gt;&nbsp;Yuxia
> > > > &gt;&nbsp;&gt;
> > > > &gt;&nbsp;
> > >
> >
>

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Mehul Batra <me...@gmail.com>.
Hi all,
Thanks, Yuxia, for running th show!

+1 (binding)

  [X] Downloaded source release from dist.apache.org

  [X] Verified GPG signature (Key - Yuxia Luo)

  [X] Verified SHA512 checksum

  [X] Checked LICENSE (Apache 2.0), NOTICE, and DISCLAIMER files

  [X] Verified ASF headers in source files

  [X] Built from source successfully

  [X] Verified Maven staging repository artifacts and signatures

  [X] Verified Docker image (apache/fluss:0.9.0-incubating-rc1)
  [X] Verified release notes and release blog: (Added comments)
  [X] Ran "Real-Time Analytics With Flink" quickstart
        -> Also Tested $changelog & $binlog virtual tables with Flink1.20
  [X] Ran "Build streaming lakehouse" with ICEBERG 1.10.1 (RustFS UI showed
a 403, but it didn’t impact the run)

By the way, the release email mentions commit d6fd1f1... but the tag
v0.9.0-incubating-rc1 points to commit e314c35....

Best Regards,
Mehul Batra

On Sat, Feb 14, 2026 at 11:37 AM Yang Guo <gu...@gmail.com> wrote:

> +1(non-binging)
>
> Went through the new quickstart configurations(s3 compatible rustfs) and
> process with flink,paimon and iceberg.
>
> Verified the compatibility on flink 1.18,1.19,1.20,2.2.
>
> Checked the new compacted log format on both log table and kv table.
>
> Regards,
> Yang Guo
>
>
> On Sat, Feb 14, 2026 at 03:23 Keith Lee <le...@gmail.com>
> wrote:
>
> > Hello Yuxia,
> >
> > Thank you for coordinating and preparing the release.
> >
> > +1 (non-binding)
> >
> > See verifications done below
> >
> > *1. Signature and shasum*
> > ```
> > $ curl https://downloads.apache.org/incubator/fluss/KEYS -o KEYS
> >
> >   % Total    % Received % Xferd  Average Speed   Time    Time     Time
> >  Current
> >                                  Dload  Upload   Total   Spent    Left
> >  Speed
> > 100  8013  100  8013    0     0  51139      0 --:--:-- --:--:-- --:--:--
> > 51365
> >
> > $ gpg --import KEYS
> > gpg: key 85BACB5AEFAE3202: "Jark Wu (CODE SIGNING KEY) <jark@apache.org
> >"
> > not changed
> > gpg: key 56A9F259A4C18F9C: "Yuxia Luo (CODE SIGNING KEY) <
> yuxia@apache.org
> > >"
> > not changed
> > gpg: Total number processed: 2
> > gpg:              unchanged: 2
> >
> >
> > $ for i in *.tgz; do echo $i; gpg --verify $i.asc $i; done
> > fluss-0.9.0-incubating-bin.tgz
> > gpg: Signature made Thu Feb 12 11:01:51 2026 GMT
> > gpg:                using RSA key
> E91E2171D6678CB70B50282356A9F259A4C18F9C
> > gpg: Good signature from "Yuxia Luo (CODE SIGNING KEY) <yuxia@apache.org
> >"
> > [unknown]
> > gpg: WARNING: This key is not certified with a trusted signature!
> > gpg:          There is no indication that the signature belongs to the
> > owner.
> > Primary key fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1
> 8F9C
> >
> > $ sha512sum fluss-0.9.0-incubating-bin.tgz
> >
> >
> 15102955cf8abb7bf8384c0db20c5160b2aedc15bee3a10135a6d47c744dce23bd13a4403b43da4ebe199622517b83cf8eab76de1070c42b012f717b12bc2199
> >  fluss-0.9.0-incubating-bin.tgz
> > ```
> >
> > *2. Verified APIs using Rust client compiled from fluss-rust main branch
> on
> > commit: [1]*
> > - Admin APIs: Create / Get / List for Database, Table, Partition;
> Metadata,
> > Schema
> > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > - Primary Key Table: Put, Lookup
> >
> > *3. **Verified** using Python binding compiled from fluss-rust **main
> > branch on commit: [1]*
> > - Admin APIs: Create / Get / List for Database, Table, Partition;
> Metadata,
> > Schema
> > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > - Primary Key Table: Put, Lookup
> >
> > *4. **Verified** using C++ binding from fluss-rust main branch **main
> > branch on commit: [1]*
> > - Admin APIs: Create / Get / List for Database, Table, Partition;
> Metadata,
> > Schema
> > - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> > - Primary Key Table: Put, Lookup
> >
> > [1]
> >
> >
> https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5
> >
> > Best regards
> > Keith Lee
> >
> >
> > On Fri, Feb 13, 2026 at 3:55 PM ForwardXu <x1...@qq.com> wrote:
> >
> > > +1
> > >
> > >
> > > Test environment:
> > > &nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
> > > &nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
> > > &nbsp; - Fluss: 0.9.0-incubating (binary distribution)
> > > &nbsp; - Flink: 2.2.0
> > > &nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built from
> > 0.9
> > > source)
> > > &nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar`
> > > &nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1
> > > TabletServer)
> > > &nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager,
> > > process=4096m)
> > >
> > >
> > > Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40 test
> > > cases, all passed:*OK*
> > >
> > >
> > > &nbsp; - Tiering to Paimon — PK table
> > > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete):
> > > *OK* (10 cases)
> > > &nbsp; - Tiering to Paimon — Log table
> > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5
> > > cases)
> > > &nbsp; - Tiering to Paimon — Complex types PK table with ARRAY/MAP/ROW
> > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > &nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK* (1
> case)
> > > &nbsp; - Tiering to Iceberg — PK table
> > > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert): *OK*
> (8
> > > cases)
> > > &nbsp; - Tiering to Iceberg — Log table
> > > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5
> > > cases)
> > > &nbsp; - Tiering to Iceberg — Complex types PK table with ARRAY/MAP/ROW
> > > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > > &nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK* (1
> case)
> > >
> > >
> > > Detailed test cases:
> > >
> > >
> > > &nbsp; | # | Lake | Category | Test Case | Mode | Result |
> > > &nbsp; |---|------|----------|-----------|------|--------|
> > > &nbsp; | 1 | Paimon | PK Table | Create PK table with datalake enabled
> > > (freshness=10s) | batch | *OK* |
> > > &nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table | batch |
> > > *OK* |
> > > &nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) | batch |
> *OK*
> > |
> > > &nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon
> storage) |
> > > batch | *OK* |
> > > &nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM) |
> batch
> > |
> > > *OK* |
> > > &nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) | batch |
> > > *OK* |
> > > &nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch | *OK* |
> > > &nbsp; | 8 | Paimon | PK Table | Verify upsert (point query id=1) |
> batch
> > > | *OK* |
> > > &nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch | *OK* |
> > > &nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) | batch |
> > > *OK* |
> > > &nbsp; | 11 | Paimon | Log Table | Create Log table with datalake
> enabled
> > > | batch | *OK* |
> > > &nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table |
> batch |
> > > *OK* |
> > > &nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch |
> *OK* |
> > > &nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY
> > event_type)
> > > | batch | *OK* |
> > > &nbsp; | 15 | Paimon | Log Table | Streaming query Log table
> (earliest) |
> > > streaming | *OK* |
> > > &nbsp; | 16 | Paimon | Complex Types | Create PK table with
> ARRAY/MAP/ROW
> > > + datalake | batch | *OK* |
> > > &nbsp; | 17 | Paimon | Complex Types | Insert complex type data (3
> rows)
> > |
> > > batch | *OK* |
> > > &nbsp; | 18 | Paimon | Complex Types | Point query complex types
> (id=1) |
> > > batch | *OK* |
> > > &nbsp; | 19 | Paimon | Complex Types | $lake query complex types |
> batch
> > |
> > > *OK* |
> > > &nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex types
> > > (COUNT) | batch | *OK* |
> > > &nbsp; | 21 | Paimon | System Table | $lake$snapshots (snapshot_id,
> > > commit_user, total_record_count) | batch | *OK* |
> > > &nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake
> enabled
> > > (freshness=10s) | batch | *OK* |
> > > &nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table | batch
> |
> > > *OK* |
> > > &nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) | batch |
> > *OK*
> > > |
> > > &nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg
> > storage,
> > > 5 rows with __bucket/__offset/__timestamp) | batch | *OK* |
> > > &nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5,
> > SUM=808.39)
> > > | batch | *OK* |
> > > &nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) |
> batch |
> > > *OK* |
> > > &nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1,
> > > customer→Alice_Updated) | batch | *OK* |
> > > &nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query id=1,
> > > Alice_Updated confirmed) | batch | *OK* |
> > > &nbsp; | 30 | Iceberg | Log Table | Create Log table with datalake
> > enabled
> > > | batch | *OK* |
> > > &nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table |
> batch
> > |
> > > *OK* |
> > > &nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows with
> > > timestamps) | batch | *OK* |
> > > &nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY
> > > event_type: click=2, view=1, buy=1) | batch | *OK* |
> > > &nbsp; | 34 | Iceberg | Log Table | Streaming query Log table
> (earliest,
> > 4
> > > rows) | streaming | *OK* |
> > > &nbsp; | 35 | Iceberg | Complex Types | Create PK table with
> > ARRAY/MAP/ROW
> > > + datalake | batch | *OK* |
> > > &nbsp; | 36 | Iceberg | Complex Types | Insert complex type data (3
> rows)
> > > | batch | *OK* |
> > > &nbsp; | 37 | Iceberg | Complex Types | Point query complex types
> (id=1,
> > > tags=[vip,active]) | batch | *OK* |
> > > &nbsp; | 38 | Iceberg | Complex Types | $lake query complex types (3
> rows
> > > with ARRAY/MAP/ROW) | batch | *OK* |
> > > &nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex types
> > > (COUNT=3) | batch | *OK* |
> > > &nbsp; | 40 | Iceberg | System Table | $lake$snapshots (snapshot_id,
> > > operation=append/overwrite, summary) | batch | *OK* |
> > >
> > >
> > > Notes:
> > > &nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` +
> > > `paimon-bundle-1.3.1.jar`)
> > > &nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`)
> > > &nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` +
> > > `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve
> > > `FileSystem.openFile()` API compatibility
> > > &nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use 3-arg
> > > `createCatalog(String, Map, Configuration)` via reflection (Iceberg
> > 1.10.1
> > > API change)
> > > &nbsp; - Tiering Service ran as Flink streaming job, data verified via
> > > `$lake` virtual table queries reading directly from lake storage
> > > &nbsp; - All `$lake` queries returned correct data with Fluss metadata
> > > columns (__bucket, __offset, __timestamp)
> > >
> > >
> > > ForwardXu
> > > x1q1j1@qq.com
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >          原始邮件
> > >
> > >
> > > 发件人:Yunhong Zheng <yunhong@apache.org&gt;
> > > 发件时间:2026年2月13日 22:51
> > > 收件人:dev <dev@fluss.apache.org&gt;
> > > 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)
> > >
> > >
> > >
> > >        +1&nbsp;(binding)
> > > &nbsp;
> > >
> > >
> >
> I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp;
> > >
> > >
> > >
> >
> Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating!
> > >
> > > Yours,
> > > Yunhong(Swuferhong)
> > >
> > > On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote:
> > > &gt;&nbsp;+1&nbsp;(non-binding)
> > > &gt;&nbsp;
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3
> > > &gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance,
> > > &gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance)
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica
> > > &gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution)
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is
> > > &gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE'
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag
> > > &gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1)
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1:
> > > &gt;&nbsp;&nbsp;&nbsp;ok
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data
> > >
> > >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data
> > > &gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios
> > > &gt;&nbsp;
> > > &gt;&nbsp;Best,
> > > &gt;&nbsp;Yang
> > > &gt;&nbsp;
> > > &gt;&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn
> > > &gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道:
> > > &gt;&nbsp;
> > > &gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone,
> > > &gt;&nbsp;&gt;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
> > >
> &gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
> > >
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
> > > &gt;&nbsp;&gt;
> > > &gt;&nbsp;&gt;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
> > > &gt;&nbsp;&gt;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
> > > &gt;&nbsp;&gt;&nbsp;to:
> > > &gt;&nbsp;&gt;&nbsp;*
> > > &gt;&nbsp;&gt;&nbsp;
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> > > &gt;&nbsp;&gt
> > > <
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt;&nbsp;&gt
> > >
> > > ;
> > > &gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
> > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
> > > &gt;&nbsp;&gt
> > > <
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt;&nbsp;&gt
> > >
> > > ;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
> > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> > > &gt;&nbsp;&gt
> > > <
> >
> https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt;&nbsp;&gt
> > >
> > > ;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
> > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > >
> https://repository.apache.org/content/repositories/orgapachefluss-1004/
> > > &gt;&nbsp;&gt
> > > <
> >
> https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt;&nbsp;&gt
> > >
> > > ;
> > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
> > > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > > https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> > > &gt;&nbsp;&gt
> > > <
> >
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt;&nbsp;&gt
> > >
> > > ;
> > > &gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
> > > &gt;&nbsp;&gt;&nbsp;*
> > > &gt;&nbsp;&gt;
> > > &gt;&nbsp;&gt;&nbsp;
> > >
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> > > &gt;&nbsp;&gt
> > > <
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt;&nbsp;&gt
> > >
> > > ;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
> > > &gt;&nbsp;&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/pull/2590
> > > &gt;&nbsp;&gt <https://github.com/apache/fluss/pull/2590&gt;&nbsp;&gt
> >;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
> > > &gt;&nbsp;&gt;&nbsp;*
> > > &gt;&nbsp;&gt;
> > > &gt;&nbsp;&gt;&nbsp;
> > >
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> > > &gt;&nbsp;&gt
> > > <
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt;&nbsp;&gt
> > >
> > > ;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
> > >
> &gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
> > > &gt;&nbsp;&gt;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
> > > &gt;&nbsp;&gt;
> > > &gt;&nbsp;&gt;&nbsp;
> > >
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> > > &gt;&nbsp;&gt
> > > <
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt;&nbsp;&gt
> > >
> > > ;
> > > &gt;&nbsp;&gt;
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
> > >
> > >
> >
> &gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
> > > &gt;&nbsp;&gt;
> > > &gt;&nbsp;&gt;
> > > &gt;&nbsp;&gt;&nbsp;Best&nbsp;regards,
> > > &gt;&nbsp;&gt;&nbsp;Yuxia
> > > &gt;&nbsp;&gt;
> > > &gt;&nbsp;
> >
>

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Yang Guo <gu...@gmail.com>.
+1(non-binging)

Went through the new quickstart configurations(s3 compatible rustfs) and
process with flink,paimon and iceberg.

Verified the compatibility on flink 1.18,1.19,1.20,2.2.

Checked the new compacted log format on both log table and kv table.

Regards,
Yang Guo


On Sat, Feb 14, 2026 at 03:23 Keith Lee <le...@gmail.com> wrote:

> Hello Yuxia,
>
> Thank you for coordinating and preparing the release.
>
> +1 (non-binding)
>
> See verifications done below
>
> *1. Signature and shasum*
> ```
> $ curl https://downloads.apache.org/incubator/fluss/KEYS -o KEYS
>
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>  Current
>                                  Dload  Upload   Total   Spent    Left
>  Speed
> 100  8013  100  8013    0     0  51139      0 --:--:-- --:--:-- --:--:--
> 51365
>
> $ gpg --import KEYS
> gpg: key 85BACB5AEFAE3202: "Jark Wu (CODE SIGNING KEY) <ja...@apache.org>"
> not changed
> gpg: key 56A9F259A4C18F9C: "Yuxia Luo (CODE SIGNING KEY) <yuxia@apache.org
> >"
> not changed
> gpg: Total number processed: 2
> gpg:              unchanged: 2
>
>
> $ for i in *.tgz; do echo $i; gpg --verify $i.asc $i; done
> fluss-0.9.0-incubating-bin.tgz
> gpg: Signature made Thu Feb 12 11:01:51 2026 GMT
> gpg:                using RSA key E91E2171D6678CB70B50282356A9F259A4C18F9C
> gpg: Good signature from "Yuxia Luo (CODE SIGNING KEY) <yu...@apache.org>"
> [unknown]
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the
> owner.
> Primary key fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1 8F9C
>
> $ sha512sum fluss-0.9.0-incubating-bin.tgz
>
> 15102955cf8abb7bf8384c0db20c5160b2aedc15bee3a10135a6d47c744dce23bd13a4403b43da4ebe199622517b83cf8eab76de1070c42b012f717b12bc2199
>  fluss-0.9.0-incubating-bin.tgz
> ```
>
> *2. Verified APIs using Rust client compiled from fluss-rust main branch on
> commit: [1]*
> - Admin APIs: Create / Get / List for Database, Table, Partition; Metadata,
> Schema
> - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> - Primary Key Table: Put, Lookup
>
> *3. **Verified** using Python binding compiled from fluss-rust **main
> branch on commit: [1]*
> - Admin APIs: Create / Get / List for Database, Table, Partition; Metadata,
> Schema
> - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> - Primary Key Table: Put, Lookup
>
> *4. **Verified** using C++ binding from fluss-rust main branch **main
> branch on commit: [1]*
> - Admin APIs: Create / Get / List for Database, Table, Partition; Metadata,
> Schema
> - Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
> - Primary Key Table: Put, Lookup
>
> [1]
>
> https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5
>
> Best regards
> Keith Lee
>
>
> On Fri, Feb 13, 2026 at 3:55 PM ForwardXu <x1...@qq.com> wrote:
>
> > +1
> >
> >
> > Test environment:
> > &nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
> > &nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
> > &nbsp; - Fluss: 0.9.0-incubating (binary distribution)
> > &nbsp; - Flink: 2.2.0
> > &nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built from
> 0.9
> > source)
> > &nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar`
> > &nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1
> > TabletServer)
> > &nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager,
> > process=4096m)
> >
> >
> > Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40 test
> > cases, all passed:*OK*
> >
> >
> > &nbsp; - Tiering to Paimon — PK table
> > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete):
> > *OK* (10 cases)
> > &nbsp; - Tiering to Paimon — Log table
> > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5
> > cases)
> > &nbsp; - Tiering to Paimon — Complex types PK table with ARRAY/MAP/ROW
> > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > &nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK* (1 case)
> > &nbsp; - Tiering to Iceberg — PK table
> > (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert): *OK* (8
> > cases)
> > &nbsp; - Tiering to Iceberg — Log table
> > (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5
> > cases)
> > &nbsp; - Tiering to Iceberg — Complex types PK table with ARRAY/MAP/ROW
> > (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> > &nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK* (1 case)
> >
> >
> > Detailed test cases:
> >
> >
> > &nbsp; | # | Lake | Category | Test Case | Mode | Result |
> > &nbsp; |---|------|----------|-----------|------|--------|
> > &nbsp; | 1 | Paimon | PK Table | Create PK table with datalake enabled
> > (freshness=10s) | batch | *OK* |
> > &nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table | batch |
> > *OK* |
> > &nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) | batch | *OK*
> |
> > &nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon storage) |
> > batch | *OK* |
> > &nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM) | batch
> |
> > *OK* |
> > &nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) | batch |
> > *OK* |
> > &nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch | *OK* |
> > &nbsp; | 8 | Paimon | PK Table | Verify upsert (point query id=1) | batch
> > | *OK* |
> > &nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch | *OK* |
> > &nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) | batch |
> > *OK* |
> > &nbsp; | 11 | Paimon | Log Table | Create Log table with datalake enabled
> > | batch | *OK* |
> > &nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table | batch |
> > *OK* |
> > &nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch | *OK* |
> > &nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY
> event_type)
> > | batch | *OK* |
> > &nbsp; | 15 | Paimon | Log Table | Streaming query Log table (earliest) |
> > streaming | *OK* |
> > &nbsp; | 16 | Paimon | Complex Types | Create PK table with ARRAY/MAP/ROW
> > + datalake | batch | *OK* |
> > &nbsp; | 17 | Paimon | Complex Types | Insert complex type data (3 rows)
> |
> > batch | *OK* |
> > &nbsp; | 18 | Paimon | Complex Types | Point query complex types (id=1) |
> > batch | *OK* |
> > &nbsp; | 19 | Paimon | Complex Types | $lake query complex types | batch
> |
> > *OK* |
> > &nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex types
> > (COUNT) | batch | *OK* |
> > &nbsp; | 21 | Paimon | System Table | $lake$snapshots (snapshot_id,
> > commit_user, total_record_count) | batch | *OK* |
> > &nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake enabled
> > (freshness=10s) | batch | *OK* |
> > &nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table | batch |
> > *OK* |
> > &nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) | batch |
> *OK*
> > |
> > &nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg
> storage,
> > 5 rows with __bucket/__offset/__timestamp) | batch | *OK* |
> > &nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5,
> SUM=808.39)
> > | batch | *OK* |
> > &nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) | batch |
> > *OK* |
> > &nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1,
> > customer→Alice_Updated) | batch | *OK* |
> > &nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query id=1,
> > Alice_Updated confirmed) | batch | *OK* |
> > &nbsp; | 30 | Iceberg | Log Table | Create Log table with datalake
> enabled
> > | batch | *OK* |
> > &nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table | batch
> |
> > *OK* |
> > &nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows with
> > timestamps) | batch | *OK* |
> > &nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY
> > event_type: click=2, view=1, buy=1) | batch | *OK* |
> > &nbsp; | 34 | Iceberg | Log Table | Streaming query Log table (earliest,
> 4
> > rows) | streaming | *OK* |
> > &nbsp; | 35 | Iceberg | Complex Types | Create PK table with
> ARRAY/MAP/ROW
> > + datalake | batch | *OK* |
> > &nbsp; | 36 | Iceberg | Complex Types | Insert complex type data (3 rows)
> > | batch | *OK* |
> > &nbsp; | 37 | Iceberg | Complex Types | Point query complex types (id=1,
> > tags=[vip,active]) | batch | *OK* |
> > &nbsp; | 38 | Iceberg | Complex Types | $lake query complex types (3 rows
> > with ARRAY/MAP/ROW) | batch | *OK* |
> > &nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex types
> > (COUNT=3) | batch | *OK* |
> > &nbsp; | 40 | Iceberg | System Table | $lake$snapshots (snapshot_id,
> > operation=append/overwrite, summary) | batch | *OK* |
> >
> >
> > Notes:
> > &nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` +
> > `paimon-bundle-1.3.1.jar`)
> > &nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`)
> > &nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` +
> > `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve
> > `FileSystem.openFile()` API compatibility
> > &nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use 3-arg
> > `createCatalog(String, Map, Configuration)` via reflection (Iceberg
> 1.10.1
> > API change)
> > &nbsp; - Tiering Service ran as Flink streaming job, data verified via
> > `$lake` virtual table queries reading directly from lake storage
> > &nbsp; - All `$lake` queries returned correct data with Fluss metadata
> > columns (__bucket, __offset, __timestamp)
> >
> >
> > ForwardXu
> > x1q1j1@qq.com
> >
> >
> >
> >
> >
> >
> >
> >          原始邮件
> >
> >
> > 发件人:Yunhong Zheng <yunhong@apache.org&gt;
> > 发件时间:2026年2月13日 22:51
> > 收件人:dev <dev@fluss.apache.org&gt;
> > 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)
> >
> >
> >
> >        +1&nbsp;(binding)
> > &nbsp;
> >
> >
> I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp;
> >
> >
> >
> Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating!
> >
> > Yours,
> > Yunhong(Swuferhong)
> >
> > On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote:
> > &gt;&nbsp;+1&nbsp;(non-binding)
> > &gt;&nbsp;
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3
> > &gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance,
> > &gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance)
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica
> > &gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution)
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is
> > &gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC
> >
> &gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE'
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag
> > &gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1)
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1:
> > &gt;&nbsp;&nbsp;&nbsp;ok
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data
> >
> >
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data
> > &gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios
> > &gt;&nbsp;
> > &gt;&nbsp;Best,
> > &gt;&nbsp;Yang
> > &gt;&nbsp;
> > &gt;&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn
> > &gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道:
> > &gt;&nbsp;
> > &gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone,
> > &gt;&nbsp;&gt;
> >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
> > &gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
> > &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
> >
> >
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
> > &gt;&nbsp;&gt;
> > &gt;&nbsp;&gt;
> >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
> > &gt;&nbsp;&gt;
> >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
> > &gt;&nbsp;&gt;&nbsp;to:
> > &gt;&nbsp;&gt;&nbsp;*
> > &gt;&nbsp;&gt;&nbsp;
> >
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> > &gt;&nbsp;&gt
> > <
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt;&nbsp;&gt
> >
> > ;
> > &gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> >
> >
> &gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
> >
> >
> &gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
> > &gt;&nbsp;&gt
> > <
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt;&nbsp;&gt
> >
> > ;
> >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
> >
> >
> &gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> > &gt;&nbsp;&gt
> > <
> https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt;&nbsp;&gt
> >
> > ;
> >
> >
> &gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > https://repository.apache.org/content/repositories/orgapachefluss-1004/
> > &gt;&nbsp;&gt
> > <
> https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt;&nbsp;&gt
> >
> > ;
> > &gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;
> > https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> > &gt;&nbsp;&gt
> > <
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt;&nbsp;&gt
> >
> > ;
> > &gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
> > &gt;&nbsp;&gt;&nbsp;*
> > &gt;&nbsp;&gt;
> > &gt;&nbsp;&gt;&nbsp;
> >
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> > &gt;&nbsp;&gt
> > <
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt;&nbsp;&gt
> >
> > ;
> >
> >
> &gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/pull/2590
> > &gt;&nbsp;&gt <https://github.com/apache/fluss/pull/2590&gt;&nbsp;&gt>;
> >
> >
> &gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
> > &gt;&nbsp;&gt;&nbsp;*
> > &gt;&nbsp;&gt;
> > &gt;&nbsp;&gt;&nbsp;
> >
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> > &gt;&nbsp;&gt
> > <
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt;&nbsp;&gt
> >
> > ;
> >
> >
> &gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
> > &gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
> > &gt;&nbsp;&gt;
> >
> >
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
> > &gt;&nbsp;&gt;
> > &gt;&nbsp;&gt;&nbsp;
> >
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> > &gt;&nbsp;&gt
> > <
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt;&nbsp;&gt
> >
> > ;
> > &gt;&nbsp;&gt;
> >
> >
> &gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
> >
> >
> &gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
> > &gt;&nbsp;&gt;
> > &gt;&nbsp;&gt;
> > &gt;&nbsp;&gt;&nbsp;Best&nbsp;regards,
> > &gt;&nbsp;&gt;&nbsp;Yuxia
> > &gt;&nbsp;&gt;
> > &gt;&nbsp;
>

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Keith Lee <le...@gmail.com>.
Hello Yuxia,

Thank you for coordinating and preparing the release.

+1 (non-binding)

See verifications done below

*1. Signature and shasum*
```
$ curl https://downloads.apache.org/incubator/fluss/KEYS -o KEYS

  % Total    % Received % Xferd  Average Speed   Time    Time     Time
 Current
                                 Dload  Upload   Total   Spent    Left
 Speed
100  8013  100  8013    0     0  51139      0 --:--:-- --:--:-- --:--:--
51365

$ gpg --import KEYS
gpg: key 85BACB5AEFAE3202: "Jark Wu (CODE SIGNING KEY) <ja...@apache.org>"
not changed
gpg: key 56A9F259A4C18F9C: "Yuxia Luo (CODE SIGNING KEY) <yu...@apache.org>"
not changed
gpg: Total number processed: 2
gpg:              unchanged: 2


$ for i in *.tgz; do echo $i; gpg --verify $i.asc $i; done
fluss-0.9.0-incubating-bin.tgz
gpg: Signature made Thu Feb 12 11:01:51 2026 GMT
gpg:                using RSA key E91E2171D6678CB70B50282356A9F259A4C18F9C
gpg: Good signature from "Yuxia Luo (CODE SIGNING KEY) <yu...@apache.org>"
[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the
owner.
Primary key fingerprint: E91E 2171 D667 8CB7 0B50  2823 56A9 F259 A4C1 8F9C

$ sha512sum fluss-0.9.0-incubating-bin.tgz
15102955cf8abb7bf8384c0db20c5160b2aedc15bee3a10135a6d47c744dce23bd13a4403b43da4ebe199622517b83cf8eab76de1070c42b012f717b12bc2199
 fluss-0.9.0-incubating-bin.tgz
```

*2. Verified APIs using Rust client compiled from fluss-rust main branch on
commit: [1]*
- Admin APIs: Create / Get / List for Database, Table, Partition; Metadata,
Schema
- Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
- Primary Key Table: Put, Lookup

*3. **Verified** using Python binding compiled from fluss-rust **main
branch on commit: [1]*
- Admin APIs: Create / Get / List for Database, Table, Partition; Metadata,
Schema
- Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
- Primary Key Table: Put, Lookup

*4. **Verified** using C++ binding from fluss-rust main branch **main
branch on commit: [1]*
- Admin APIs: Create / Get / List for Database, Table, Partition; Metadata,
Schema
- Log Table: Produce, Fetch, ListOffsets; ArrowRecordBatch
- Primary Key Table: Put, Lookup

[1]
https://github.com/apache/fluss-rust/commit/bac00026f7dc06eca7deebed11172bc378938cf5

Best regards
Keith Lee


On Fri, Feb 13, 2026 at 3:55 PM ForwardXu <x1...@qq.com> wrote:

> +1
>
>
> Test environment:
> &nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
> &nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
> &nbsp; - Fluss: 0.9.0-incubating (binary distribution)
> &nbsp; - Flink: 2.2.0
> &nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built from 0.9
> source)
> &nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar`
> &nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1
> TabletServer)
> &nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager,
> process=4096m)
>
>
> Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40 test
> cases, all passed:*OK*
>
>
> &nbsp; - Tiering to Paimon — PK table
> (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete):
> *OK* (10 cases)
> &nbsp; - Tiering to Paimon — Log table
> (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5
> cases)
> &nbsp; - Tiering to Paimon — Complex types PK table with ARRAY/MAP/ROW
> (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> &nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK* (1 case)
> &nbsp; - Tiering to Iceberg — PK table
> (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert): *OK* (8
> cases)
> &nbsp; - Tiering to Iceberg — Log table
> (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5
> cases)
> &nbsp; - Tiering to Iceberg — Complex types PK table with ARRAY/MAP/ROW
> (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
> &nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK* (1 case)
>
>
> Detailed test cases:
>
>
> &nbsp; | # | Lake | Category | Test Case | Mode | Result |
> &nbsp; |---|------|----------|-----------|------|--------|
> &nbsp; | 1 | Paimon | PK Table | Create PK table with datalake enabled
> (freshness=10s) | batch | *OK* |
> &nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table | batch |
> *OK* |
> &nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) | batch | *OK* |
> &nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon storage) |
> batch | *OK* |
> &nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM) | batch |
> *OK* |
> &nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) | batch |
> *OK* |
> &nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch | *OK* |
> &nbsp; | 8 | Paimon | PK Table | Verify upsert (point query id=1) | batch
> | *OK* |
> &nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch | *OK* |
> &nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) | batch |
> *OK* |
> &nbsp; | 11 | Paimon | Log Table | Create Log table with datalake enabled
> | batch | *OK* |
> &nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table | batch |
> *OK* |
> &nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch | *OK* |
> &nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY event_type)
> | batch | *OK* |
> &nbsp; | 15 | Paimon | Log Table | Streaming query Log table (earliest) |
> streaming | *OK* |
> &nbsp; | 16 | Paimon | Complex Types | Create PK table with ARRAY/MAP/ROW
> + datalake | batch | *OK* |
> &nbsp; | 17 | Paimon | Complex Types | Insert complex type data (3 rows) |
> batch | *OK* |
> &nbsp; | 18 | Paimon | Complex Types | Point query complex types (id=1) |
> batch | *OK* |
> &nbsp; | 19 | Paimon | Complex Types | $lake query complex types | batch |
> *OK* |
> &nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex types
> (COUNT) | batch | *OK* |
> &nbsp; | 21 | Paimon | System Table | $lake$snapshots (snapshot_id,
> commit_user, total_record_count) | batch | *OK* |
> &nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake enabled
> (freshness=10s) | batch | *OK* |
> &nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table | batch |
> *OK* |
> &nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) | batch | *OK*
> |
> &nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg storage,
> 5 rows with __bucket/__offset/__timestamp) | batch | *OK* |
> &nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5, SUM=808.39)
> | batch | *OK* |
> &nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) | batch |
> *OK* |
> &nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1,
> customer→Alice_Updated) | batch | *OK* |
> &nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query id=1,
> Alice_Updated confirmed) | batch | *OK* |
> &nbsp; | 30 | Iceberg | Log Table | Create Log table with datalake enabled
> | batch | *OK* |
> &nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table | batch |
> *OK* |
> &nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows with
> timestamps) | batch | *OK* |
> &nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY
> event_type: click=2, view=1, buy=1) | batch | *OK* |
> &nbsp; | 34 | Iceberg | Log Table | Streaming query Log table (earliest, 4
> rows) | streaming | *OK* |
> &nbsp; | 35 | Iceberg | Complex Types | Create PK table with ARRAY/MAP/ROW
> + datalake | batch | *OK* |
> &nbsp; | 36 | Iceberg | Complex Types | Insert complex type data (3 rows)
> | batch | *OK* |
> &nbsp; | 37 | Iceberg | Complex Types | Point query complex types (id=1,
> tags=[vip,active]) | batch | *OK* |
> &nbsp; | 38 | Iceberg | Complex Types | $lake query complex types (3 rows
> with ARRAY/MAP/ROW) | batch | *OK* |
> &nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex types
> (COUNT=3) | batch | *OK* |
> &nbsp; | 40 | Iceberg | System Table | $lake$snapshots (snapshot_id,
> operation=append/overwrite, summary) | batch | *OK* |
>
>
> Notes:
> &nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` +
> `paimon-bundle-1.3.1.jar`)
> &nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`)
> &nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` +
> `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve
> `FileSystem.openFile()` API compatibility
> &nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use 3-arg
> `createCatalog(String, Map, Configuration)` via reflection (Iceberg 1.10.1
> API change)
> &nbsp; - Tiering Service ran as Flink streaming job, data verified via
> `$lake` virtual table queries reading directly from lake storage
> &nbsp; - All `$lake` queries returned correct data with Fluss metadata
> columns (__bucket, __offset, __timestamp)
>
>
> ForwardXu
> x1q1j1@qq.com
>
>
>
>
>
>
>
>          原始邮件
>
>
> 发件人:Yunhong Zheng <yunhong@apache.org&gt;
> 发件时间:2026年2月13日 22:51
> 收件人:dev <dev@fluss.apache.org&gt;
> 主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)
>
>
>
>        +1&nbsp;(binding)
> &nbsp;
>
> I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp;
>
>
> Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating!
>
> Yours,
> Yunhong(Swuferhong)
>
> On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote:
> &gt;&nbsp;+1&nbsp;(non-binding)
> &gt;&nbsp;
>
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok
>
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok
>
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct
>
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3
> &gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance,
> &gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance)
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica
> &gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution)
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is
> &gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1
>
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC
> &gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE'
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag
> &gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1)
>
> &gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1:
> &gt;&nbsp;&nbsp;&nbsp;ok
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union
>
> &gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data
>
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data
> &gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios
> &gt;&nbsp;
> &gt;&nbsp;Best,
> &gt;&nbsp;Yang
> &gt;&nbsp;
> &gt;&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn
> &gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道:
> &gt;&nbsp;
> &gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone,
> &gt;&nbsp;&gt;
>
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
> &gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
>
> &gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
> &gt;&nbsp;&gt;
> &gt;&nbsp;&gt;
>
> &gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
> &gt;&nbsp;&gt;
>
> &gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
> &gt;&nbsp;&gt;&nbsp;to:
> &gt;&nbsp;&gt;&nbsp;*
> &gt;&nbsp;&gt;&nbsp;
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> &gt;&nbsp;&gt
> <https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1&gt;&nbsp;&gt>
> ;
> &gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
> &gt;&nbsp;&gt;&nbsp;*&nbsp;
> https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
>
> &gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
>
> &gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
> &gt;&nbsp;&gt
> <https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)&gt;&nbsp;&gt>
> ;
>
> &gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
>
> &gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
> &gt;&nbsp;&gt;&nbsp;*&nbsp;
> https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> &gt;&nbsp;&gt
> <https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS&gt;&nbsp;&gt>
> ;
>
> &gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
> &gt;&nbsp;&gt;&nbsp;*&nbsp;
> https://repository.apache.org/content/repositories/orgapachefluss-1004/
> &gt;&nbsp;&gt
> <https://repository.apache.org/content/repositories/orgapachefluss-1004/&gt;&nbsp;&gt>
> ;
> &gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
> &gt;&nbsp;&gt;&nbsp;*&nbsp;
> https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> &gt;&nbsp;&gt
> <https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1&gt;&nbsp;&gt>
> ;
> &gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
> &gt;&nbsp;&gt;&nbsp;*
> &gt;&nbsp;&gt;
> &gt;&nbsp;&gt;&nbsp;
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> &gt;&nbsp;&gt
> <https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7&gt;&nbsp;&gt>
> ;
>
> &gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
> &gt;&nbsp;&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/pull/2590
> &gt;&nbsp;&gt <https://github.com/apache/fluss/pull/2590&gt;&nbsp;&gt>;
>
> &gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
> &gt;&nbsp;&gt;&nbsp;*
> &gt;&nbsp;&gt;
> &gt;&nbsp;&gt;&nbsp;
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> &gt;&nbsp;&gt
> <https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md&gt;&nbsp;&gt>
> ;
>
> &gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
> &gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
> &gt;&nbsp;&gt;
>
> &gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
> &gt;&nbsp;&gt;
> &gt;&nbsp;&gt;&nbsp;
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> &gt;&nbsp;&gt
> <https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/&gt;&nbsp;&gt>
> ;
> &gt;&nbsp;&gt;
>
> &gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
>
> &gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
> &gt;&nbsp;&gt;
> &gt;&nbsp;&gt;
> &gt;&nbsp;&gt;&nbsp;Best&nbsp;regards,
> &gt;&nbsp;&gt;&nbsp;Yuxia
> &gt;&nbsp;&gt;
> &gt;&nbsp;

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by ForwardXu <x1...@qq.com>.
+1


Test environment:
&nbsp; - OS: macOS (Darwin 25.2.0, ARM64/Apple Silicon)
&nbsp; - Java: OpenJDK 21.0.1 LTS (TencentKonaJDK)
&nbsp; - Fluss: 0.9.0-incubating (binary distribution)
&nbsp; - Flink: 2.2.0
&nbsp; - Connector: `fluss-flink-2.2-0.9.0-incubating.jar` (built from 0.9 source)
&nbsp; - Tiering JAR: `fluss-flink-tiering-0.9.0-incubating.jar`
&nbsp; - Fluss Cluster: local-cluster mode (1 CoordinatorServer + 1 TabletServer)
&nbsp; - Flink Cluster: Standalone (1 JobManager + 1 TaskManager, process=4096m)


Tested Flink + Fluss Lakehouse Tiering (Paimon + Iceberg) with 40 test cases, all passed:*OK*


&nbsp; - Tiering to Paimon — PK table (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert/delete): *OK* (10 cases)
&nbsp; - Tiering to Paimon — Log table (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5 cases)
&nbsp; - Tiering to Paimon — Complex types PK table with ARRAY/MAP/ROW (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
&nbsp; - Tiering to Paimon — System table $lake$snapshots: *OK* (1 case)
&nbsp; - Tiering to Iceberg — PK table (create/insert/tiering/$lake-query/$lake-agg/union-read/upsert): *OK* (8 cases)
&nbsp; - Tiering to Iceberg — Log table (create/insert/tiering/$lake-query/$lake-agg/streaming-query): *OK* (5 cases)
&nbsp; - Tiering to Iceberg — Complex types PK table with ARRAY/MAP/ROW (create/insert/tiering/$lake-query/$lake-agg): *OK* (5 cases)
&nbsp; - Tiering to Iceberg — System table $lake$snapshots: *OK* (1 case)


Detailed test cases:


&nbsp; | # | Lake | Category | Test Case | Mode | Result |
&nbsp; |---|------|----------|-----------|------|--------|
&nbsp; | 1 | Paimon | PK Table | Create PK table with datalake enabled (freshness=10s) | batch | *OK* |
&nbsp; | 2 | Paimon | PK Table | Insert 5 rows into PK table | batch | *OK* |
&nbsp; | 3 | Paimon | PK Table | Point query (order_id=1) | batch | *OK* |
&nbsp; | 4 | Paimon | PK Table | $lake query (read from Paimon storage) | batch | *OK* |
&nbsp; | 5 | Paimon | PK Table | $lake aggregation (COUNT + SUM) | batch | *OK* |
&nbsp; | 6 | Paimon | PK Table | Union Read (Fluss + Paimon) | batch | *OK* |
&nbsp; | 7 | Paimon | PK Table | Upsert update (id=1) | batch | *OK* |
&nbsp; | 8 | Paimon | PK Table | Verify upsert (point query id=1) | batch | *OK* |
&nbsp; | 9 | Paimon | PK Table | Delete record (id=5) | batch | *OK* |
&nbsp; | 10 | Paimon | PK Table | Verify delete ($lake COUNT) | batch | *OK* |
&nbsp; | 11 | Paimon | Log Table | Create Log table with datalake enabled | batch | *OK* |
&nbsp; | 12 | Paimon | Log Table | Insert 4 rows into Log table | batch | *OK* |
&nbsp; | 13 | Paimon | Log Table | $lake query Log table | batch | *OK* |
&nbsp; | 14 | Paimon | Log Table | $lake aggregation (GROUP BY event_type) | batch | *OK* |
&nbsp; | 15 | Paimon | Log Table | Streaming query Log table (earliest) | streaming | *OK* |
&nbsp; | 16 | Paimon | Complex Types | Create PK table with ARRAY/MAP/ROW + datalake | batch | *OK* |
&nbsp; | 17 | Paimon | Complex Types | Insert complex type data (3 rows) | batch | *OK* |
&nbsp; | 18 | Paimon | Complex Types | Point query complex types (id=1) | batch | *OK* |
&nbsp; | 19 | Paimon | Complex Types | $lake query complex types | batch | *OK* |
&nbsp; | 20 | Paimon | Complex Types | $lake aggregation complex types (COUNT) | batch | *OK* |
&nbsp; | 21 | Paimon | System Table | $lake$snapshots (snapshot_id, commit_user, total_record_count) | batch | *OK* |
&nbsp; | 22 | Iceberg | PK Table | Create PK table with datalake enabled (freshness=10s) | batch | *OK* |
&nbsp; | 23 | Iceberg | PK Table | Insert 5 rows into PK table | batch | *OK* |
&nbsp; | 24 | Iceberg | PK Table | Point query (order_id=1) | batch | *OK* |
&nbsp; | 25 | Iceberg | PK Table | $lake query (read from Iceberg storage, 5 rows with __bucket/__offset/__timestamp) | batch | *OK* |
&nbsp; | 26 | Iceberg | PK Table | $lake aggregation (COUNT=5, SUM=808.39) | batch | *OK* |
&nbsp; | 27 | Iceberg | PK Table | Union Read (Fluss + Iceberg) | batch | *OK* |
&nbsp; | 28 | Iceberg | PK Table | Upsert update (id=1, customer→Alice_Updated) | batch | *OK* |
&nbsp; | 29 | Iceberg | PK Table | Verify upsert (point query id=1, Alice_Updated confirmed) | batch | *OK* |
&nbsp; | 30 | Iceberg | Log Table | Create Log table with datalake enabled | batch | *OK* |
&nbsp; | 31 | Iceberg | Log Table | Insert 4 rows into Log table | batch | *OK* |
&nbsp; | 32 | Iceberg | Log Table | $lake query Log table (4 rows with timestamps) | batch | *OK* |
&nbsp; | 33 | Iceberg | Log Table | $lake aggregation (GROUP BY event_type: click=2, view=1, buy=1) | batch | *OK* |
&nbsp; | 34 | Iceberg | Log Table | Streaming query Log table (earliest, 4 rows) | streaming | *OK* |
&nbsp; | 35 | Iceberg | Complex Types | Create PK table with ARRAY/MAP/ROW + datalake | batch | *OK* |
&nbsp; | 36 | Iceberg | Complex Types | Insert complex type data (3 rows) | batch | *OK* |
&nbsp; | 37 | Iceberg | Complex Types | Point query complex types (id=1, tags=[vip,active]) | batch | *OK* |
&nbsp; | 38 | Iceberg | Complex Types | $lake query complex types (3 rows with ARRAY/MAP/ROW) | batch | *OK* |
&nbsp; | 39 | Iceberg | Complex Types | $lake aggregation complex types (COUNT=3) | batch | *OK* |
&nbsp; | 40 | Iceberg | System Table | $lake$snapshots (snapshot_id, operation=append/overwrite, summary) | batch | *OK* |


Notes:
&nbsp; - Paimon: 1.3.1 (`paimon-flink-2.0-1.3.1.jar` + `paimon-bundle-1.3.1.jar`)
&nbsp; - Iceberg: 1.10.1 (`iceberg-flink-runtime-2.0-1.10.1.jar`)
&nbsp; - Iceberg required `hadoop-client-api-3.3.6.jar` + `hadoop-client-runtime-3.3.6.jar` (Hadoop 3.x) to resolve `FileSystem.openFile()` API compatibility
&nbsp; - Iceberg required patching `LakeFlinkCatalog.java` to use 3-arg `createCatalog(String, Map, Configuration)` via reflection (Iceberg 1.10.1 API change)
&nbsp; - Tiering Service ran as Flink streaming job, data verified via `$lake` virtual table queries reading directly from lake storage
&nbsp; - All `$lake` queries returned correct data with Fluss metadata columns (__bucket, __offset, __timestamp)


ForwardXu
x1q1j1@qq.com



        



         原始邮件
         
       
发件人:Yunhong Zheng <yunhong@apache.org&gt;
发件时间:2026年2月13日 22:51
收件人:dev <dev@fluss.apache.org&gt;
主题:Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)



       +1&nbsp;(binding)
&nbsp;
I&nbsp;have&nbsp;verified&nbsp;the&nbsp;following&nbsp;new&nbsp;introduced&nbsp;features:&nbsp;aggregate&nbsp;merge&nbsp;engine,&nbsp;auto&nbsp;increment&nbsp;column,&nbsp;add&nbsp;column,&nbsp;rebalance&nbsp;and&nbsp;the&nbsp;kv&nbsp;snapshot&nbsp;lease.&nbsp;All&nbsp;of&nbsp;these&nbsp;features&nbsp;passed&nbsp;in&nbsp;RC1.&nbsp;

Looking&nbsp;forward&nbsp;to&nbsp;the&nbsp;final&nbsp;release&nbsp;of&nbsp;Fluss&nbsp;0.9-incubating!

Yours,
Yunhong(Swuferhong)

On&nbsp;2026/02/13&nbsp;13:10:22&nbsp;Yang&nbsp;Wang&nbsp;wrote:
&gt;&nbsp;+1&nbsp;(non-binding)
&gt;&nbsp;
&gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;signatures&nbsp;and&nbsp;checksums:&nbsp;ok
&gt;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;the&nbsp;source&nbsp;builds&nbsp;correctly:&nbsp;ok
&gt;&nbsp;&nbsp;&nbsp;-&nbsp;checked&nbsp;the&nbsp;LICENSE&nbsp;and&nbsp;NOTICE&nbsp;files&nbsp;are&nbsp;correct
&gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Rebalance&nbsp;feature&nbsp;with&nbsp;Flink&nbsp;2.2.0&nbsp;(1&nbsp;coordinator&nbsp;+&nbsp;3
&gt;&nbsp;&nbsp;&nbsp;tablet-servers):&nbsp;ok
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;interface&nbsp;validation&nbsp;(add_server_tag,&nbsp;rebalance,
&gt;&nbsp;&nbsp;&nbsp;list_rebalance,&nbsp;cancel_rebalance)
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;effect&nbsp;verification&nbsp;(node&nbsp;offline&nbsp;migration,&nbsp;replica
&gt;&nbsp;&nbsp;&nbsp;distribution,&nbsp;leader&nbsp;distribution)
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;data&nbsp;correctness&nbsp;across&nbsp;rebalance&nbsp;operations
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;list_rebalance&nbsp;ClassCastException&nbsp;from&nbsp;rc0&nbsp;is
&gt;&nbsp;&nbsp;&nbsp;fixed&nbsp;in&nbsp;rc1
&gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Delta&nbsp;Join&nbsp;with&nbsp;Flink&nbsp;2.2.0:&nbsp;ok
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;verified&nbsp;DeltaJoin&nbsp;optimization&nbsp;works&nbsp;correctly&nbsp;for&nbsp;CDC
&gt;&nbsp;&nbsp;&nbsp;sources&nbsp;with&nbsp;table.delete.behavior='IGNORE'
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;built&nbsp;and&nbsp;verified&nbsp;with&nbsp;official&nbsp;git&nbsp;tag
&gt;&nbsp;&nbsp;&nbsp;(v0.9.0-incubating-rc1)
&gt;&nbsp;&nbsp;&nbsp;-&nbsp;tested&nbsp;Paimon&nbsp;DV&nbsp;Union&nbsp;Read&nbsp;with&nbsp;Flink&nbsp;1.20.3&nbsp;+&nbsp;Paimon&nbsp;1.3.1:
&gt;&nbsp;&nbsp;&nbsp;ok
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;confirmed&nbsp;PR&nbsp;#2326&nbsp;resolved&nbsp;rc0&nbsp;issues&nbsp;where&nbsp;DV&nbsp;table&nbsp;Union
&gt;&nbsp;&nbsp;&nbsp;Read&nbsp;returned&nbsp;0&nbsp;rows&nbsp;or&nbsp;stale&nbsp;data
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;Union&nbsp;Read&nbsp;correctly&nbsp;returns&nbsp;complete&nbsp;and&nbsp;up-to-date&nbsp;data
&gt;&nbsp;&nbsp;&nbsp;across&nbsp;multiple&nbsp;update&nbsp;scenarios
&gt;&nbsp;
&gt;&nbsp;Best,
&gt;&nbsp;Yang
&gt;&nbsp;
&gt;&nbsp;yuxia&nbsp;<luoyuxia@alumni.sjtu.edu.cn&gt;&nbsp;于2026年2月12日周四&nbsp;20:03写道:
&gt;&nbsp;
&gt;&nbsp;&gt;&nbsp;Hi&nbsp;everyone,
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Please&nbsp;review&nbsp;and&nbsp;vote&nbsp;on&nbsp;the&nbsp;release&nbsp;candidate&nbsp;#1&nbsp;for&nbsp;the&nbsp;Apache&nbsp;Fluss
&gt;&nbsp;&gt;&nbsp;version&nbsp;0.9.0-incubating,&nbsp;as&nbsp;follows:
&gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;+1,&nbsp;Approve&nbsp;the&nbsp;release
&gt;&nbsp;&gt;&nbsp;[&nbsp;]&nbsp;-1,&nbsp;Do&nbsp;not&nbsp;approve&nbsp;the&nbsp;release&nbsp;(please&nbsp;provide&nbsp;specific&nbsp;comments)
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;The&nbsp;complete&nbsp;staging&nbsp;area&nbsp;is&nbsp;available&nbsp;for&nbsp;your&nbsp;review,&nbsp;includes:
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;The&nbsp;official&nbsp;source&nbsp;release&nbsp;and&nbsp;binary&nbsp;convenience&nbsp;releases&nbsp;to&nbsp;be&nbsp;deployed
&gt;&nbsp;&gt;&nbsp;to:
&gt;&nbsp;&gt;&nbsp;*
&gt;&nbsp;&gt;&nbsp;https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Helm&nbsp;charts&nbsp;are&nbsp;available&nbsp;on:
&gt;&nbsp;&gt;&nbsp;*&nbsp;https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
&gt;&nbsp;&gt;&nbsp;(NB:&nbsp;you&nbsp;have&nbsp;to&nbsp;build&nbsp;the&nbsp;Docker&nbsp;images&nbsp;locally&nbsp;with&nbsp;the&nbsp;version
&gt;&nbsp;&gt;&nbsp;0.9.0-incubating&nbsp;in&nbsp;order&nbsp;to&nbsp;test&nbsp;Helm&nbsp;charts)
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;All&nbsp;the&nbsp;files&nbsp;are&nbsp;signed&nbsp;with&nbsp;the&nbsp;key&nbsp;with&nbsp;fingerprint&nbsp;56A9F259A4C18F9C,
&gt;&nbsp;&gt;&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;KEYS&nbsp;file&nbsp;here:
&gt;&nbsp;&gt;&nbsp;*&nbsp;https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;All&nbsp;artifacts&nbsp;to&nbsp;be&nbsp;deployed&nbsp;to&nbsp;the&nbsp;Maven&nbsp;Central&nbsp;Repository:
&gt;&nbsp;&gt;&nbsp;*&nbsp;https://repository.apache.org/content/repositories/orgapachefluss-1004/
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Git&nbsp;tag&nbsp;for&nbsp;the&nbsp;release:
&gt;&nbsp;&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Git&nbsp;commit&nbsp;for&nbsp;the&nbsp;release:
&gt;&nbsp;&gt;&nbsp;*
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Website&nbsp;pull&nbsp;request&nbsp;for&nbsp;the&nbsp;release&nbsp;announcement&nbsp;blog&nbsp;post
&gt;&nbsp;&gt;&nbsp;*&nbsp;https://github.com/apache/fluss/pull/2590
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Upgrade&nbsp;note&nbsp;for&nbsp;the&nbsp;new&nbsp;release:
&gt;&nbsp;&gt;&nbsp;*
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Docker&nbsp;images&nbsp;for&nbsp;the&nbsp;release&nbsp;candidate:
&gt;&nbsp;&gt;&nbsp;*&nbsp;fluss:&nbsp;apache/fluss:0.9.0-incubating-rc1
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Please&nbsp;download,&nbsp;verify&nbsp;and&nbsp;test.&nbsp;To&nbsp;learn&nbsp;more&nbsp;about&nbsp;how&nbsp;to&nbsp;verify:
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;The&nbsp;vote&nbsp;will&nbsp;be&nbsp;open&nbsp;for&nbsp;at&nbsp;least&nbsp;72&nbsp;hours.&nbsp;It&nbsp;is&nbsp;adopted&nbsp;by&nbsp;majority
&gt;&nbsp;&gt;&nbsp;approval,&nbsp;with&nbsp;at&nbsp;least&nbsp;3&nbsp;PPMC&nbsp;affirmative&nbsp;votes.
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;
&gt;&nbsp;&gt;&nbsp;Best&nbsp;regards,
&gt;&nbsp;&gt;&nbsp;Yuxia
&gt;&nbsp;&gt;
&gt;&nbsp;

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Yunhong Zheng <yu...@apache.org>.
+1 (binding)
 
I have verified the following new introduced features: aggregate merge engine, auto increment column, add column, rebalance and the kv snapshot lease. All of these features passed in RC1. 

Looking forward to the final release of Fluss 0.9-incubating!

Yours,
Yunhong(Swuferhong)

On 2026/02/13 13:10:22 Yang Wang wrote:
> +1 (non-binding)
> 
>   - verified signatures and checksums: ok
>   - verified the source builds correctly: ok
>   - checked the LICENSE and NOTICE files are correct
>   - tested Rebalance feature with Flink 2.2.0 (1 coordinator + 3
>   tablet-servers): ok
>     - interface validation (add_server_tag, rebalance,
>   list_rebalance, cancel_rebalance)
>     - effect verification (node offline migration, replica
>   distribution, leader distribution)
>     - data correctness across rebalance operations
>     - confirmed list_rebalance ClassCastException from rc0 is
>   fixed in rc1
>   - tested Delta Join with Flink 2.2.0: ok
>     - verified DeltaJoin optimization works correctly for CDC
>   sources with table.delete.behavior='IGNORE'
>     - built and verified with official git tag
>   (v0.9.0-incubating-rc1)
>   - tested Paimon DV Union Read with Flink 1.20.3 + Paimon 1.3.1:
>   ok
>     - confirmed PR #2326 resolved rc0 issues where DV table Union
>   Read returned 0 rows or stale data
>     - Union Read correctly returns complete and up-to-date data
>   across multiple update scenarios
> 
> Best,
> Yang
> 
> yuxia <lu...@alumni.sjtu.edu.cn> 于2026年2月12日周四 20:03写道:
> 
> > Hi everyone,
> >
> > Please review and vote on the release candidate #1 for the Apache Fluss
> > version 0.9.0-incubating, as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> >
> > The complete staging area is available for your review, includes:
> >
> > The official source release and binary convenience releases to be deployed
> > to:
> > *
> > https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
> >
> > Helm charts are available on:
> > * https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> > (NB: you have to build the Docker images locally with the version
> > 0.9.0-incubating in order to test Helm charts)
> >
> > All the files are signed with the key with fingerprint 56A9F259A4C18F9C,
> > you can find the KEYS file here:
> > * https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
> >
> > All artifacts to be deployed to the Maven Central Repository:
> > * https://repository.apache.org/content/repositories/orgapachefluss-1004/
> >
> > Git tag for the release:
> > * https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
> >
> > Git commit for the release:
> > *
> >
> > https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
> >
> > Website pull request for the release announcement blog post
> > * https://github.com/apache/fluss/pull/2590
> >
> > Upgrade note for the new release:
> > *
> >
> > https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
> >
> > Docker images for the release candidate:
> > * fluss: apache/fluss:0.9.0-incubating-rc1
> >
> > Please download, verify and test. To learn more about how to verify:
> >
> > https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
> >
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PPMC affirmative votes.
> >
> >
> > Best regards,
> > Yuxia
> >
> 

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Yang Wang <pl...@gmail.com>.
+1 (non-binding)

  - verified signatures and checksums: ok
  - verified the source builds correctly: ok
  - checked the LICENSE and NOTICE files are correct
  - tested Rebalance feature with Flink 2.2.0 (1 coordinator + 3
  tablet-servers): ok
    - interface validation (add_server_tag, rebalance,
  list_rebalance, cancel_rebalance)
    - effect verification (node offline migration, replica
  distribution, leader distribution)
    - data correctness across rebalance operations
    - confirmed list_rebalance ClassCastException from rc0 is
  fixed in rc1
  - tested Delta Join with Flink 2.2.0: ok
    - verified DeltaJoin optimization works correctly for CDC
  sources with table.delete.behavior='IGNORE'
    - built and verified with official git tag
  (v0.9.0-incubating-rc1)
  - tested Paimon DV Union Read with Flink 1.20.3 + Paimon 1.3.1:
  ok
    - confirmed PR #2326 resolved rc0 issues where DV table Union
  Read returned 0 rows or stale data
    - Union Read correctly returns complete and up-to-date data
  across multiple update scenarios

Best,
Yang

yuxia <lu...@alumni.sjtu.edu.cn> 于2026年2月12日周四 20:03写道:

> Hi everyone,
>
> Please review and vote on the release candidate #1 for the Apache Fluss
> version 0.9.0-incubating, as follows:
> [ ] +1, Approve the release
> [ ] -1, Do not approve the release (please provide specific comments)
>
>
> The complete staging area is available for your review, includes:
>
> The official source release and binary convenience releases to be deployed
> to:
> *
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
>
> Helm charts are available on:
> * https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> (NB: you have to build the Docker images locally with the version
> 0.9.0-incubating in order to test Helm charts)
>
> All the files are signed with the key with fingerprint 56A9F259A4C18F9C,
> you can find the KEYS file here:
> * https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
>
> All artifacts to be deployed to the Maven Central Repository:
> * https://repository.apache.org/content/repositories/orgapachefluss-1004/
>
> Git tag for the release:
> * https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
>
> Git commit for the release:
> *
>
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
>
> Website pull request for the release announcement blog post
> * https://github.com/apache/fluss/pull/2590
>
> Upgrade note for the new release:
> *
>
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
>
> Docker images for the release candidate:
> * fluss: apache/fluss:0.9.0-incubating-rc1
>
> Please download, verify and test. To learn more about how to verify:
>
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
>
>
> The vote will be open for at least 72 hours. It is adopted by majority
> approval, with at least 3 PPMC affirmative votes.
>
>
> Best regards,
> Yuxia
>

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by yuxia <lu...@alumni.sjtu.edu.cn>.
Thanks JB for identifying the issues and volunteering to fix them.
Based on this, I'll proceed to cancel the current RC1.

Best regards,
Yuxia

----- 原始邮件 -----
发件人: "Jean-Baptiste Onofré" <jb...@nanthrax.net>
收件人: "dev" <de...@fluss.apache.org>
发送时间: 星期三, 2026年 2 月 18日 上午 4:17:51
主题: Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

+0 (binding)

The source distribution is OK but I think the LICENSE & NOTICE in the
binary distribution are not correct (see below).

I'm volunteering to fix these issues.

I checked:
- source distribution
-- incubating is in the name/version
-- signature and checksum are good
-- DISCLAIMER is present
-- LICENSE and NOTICE are good (nit: in the NOTICE file, it's not strictly
required to mention all ASF NOTICE (only if relevant) as we already have
"This product includes software developed at The Apache Software Foundation
(http://www.apache.org/)."
-- ASF header present in expected file
-- No binary/compiled binary found in the source distribution
- binary distribution
-- incubating is in the name/version
-- signature and checksum are good
-- DISCLAIMER is present
-- LICENSE should be a bit updated. For instance, mvnw is not part/used in
the code of the distribution. The licenses folder contains some confusing
files (for instance LICENSE-re2j and LICENSE.re2j, which one is relevant,
LICENSE.cddlv1.1 applies to which dependency ?, ...). The NOTICE is not
fully correct: the NOTICE should include the NOTICE for Apache
dependencies. The list of BSD licensed dependencies (like jsch, paranamer,
...) should not be in the NOTICE, it should be in LICENSE.
-- ASF header is present in expected file

Regards
JB

On Thu, Feb 12, 2026 at 1:03 PM yuxia <lu...@alumni.sjtu.edu.cn> wrote:

> Hi everyone,
>
> Please review and vote on the release candidate #1 for the Apache Fluss
> version 0.9.0-incubating, as follows:
> [ ] +1, Approve the release
> [ ] -1, Do not approve the release (please provide specific comments)
>
>
> The complete staging area is available for your review, includes:
>
> The official source release and binary convenience releases to be deployed
> to:
> *
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
>
> Helm charts are available on:
> * https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> (NB: you have to build the Docker images locally with the version
> 0.9.0-incubating in order to test Helm charts)
>
> All the files are signed with the key with fingerprint 56A9F259A4C18F9C,
> you can find the KEYS file here:
> * https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
>
> All artifacts to be deployed to the Maven Central Repository:
> * https://repository.apache.org/content/repositories/orgapachefluss-1004/
>
> Git tag for the release:
> * https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
>
> Git commit for the release:
> *
>
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
>
> Website pull request for the release announcement blog post
> * https://github.com/apache/fluss/pull/2590
>
> Upgrade note for the new release:
> *
>
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
>
> Docker images for the release candidate:
> * fluss: apache/fluss:0.9.0-incubating-rc1
>
> Please download, verify and test. To learn more about how to verify:
>
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
>
>
> The vote will be open for at least 72 hours. It is adopted by majority
> approval, with at least 3 PPMC affirmative votes.
>
>
> Best regards,
> Yuxia
>

Re: [VOTE] Release Fluss 0.9.0-incubating (RC1)

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
+0 (binding)

The source distribution is OK but I think the LICENSE & NOTICE in the
binary distribution are not correct (see below).

I'm volunteering to fix these issues.

I checked:
- source distribution
-- incubating is in the name/version
-- signature and checksum are good
-- DISCLAIMER is present
-- LICENSE and NOTICE are good (nit: in the NOTICE file, it's not strictly
required to mention all ASF NOTICE (only if relevant) as we already have
"This product includes software developed at The Apache Software Foundation
(http://www.apache.org/)."
-- ASF header present in expected file
-- No binary/compiled binary found in the source distribution
- binary distribution
-- incubating is in the name/version
-- signature and checksum are good
-- DISCLAIMER is present
-- LICENSE should be a bit updated. For instance, mvnw is not part/used in
the code of the distribution. The licenses folder contains some confusing
files (for instance LICENSE-re2j and LICENSE.re2j, which one is relevant,
LICENSE.cddlv1.1 applies to which dependency ?, ...). The NOTICE is not
fully correct: the NOTICE should include the NOTICE for Apache
dependencies. The list of BSD licensed dependencies (like jsch, paranamer,
...) should not be in the NOTICE, it should be in LICENSE.
-- ASF header is present in expected file

Regards
JB

On Thu, Feb 12, 2026 at 1:03 PM yuxia <lu...@alumni.sjtu.edu.cn> wrote:

> Hi everyone,
>
> Please review and vote on the release candidate #1 for the Apache Fluss
> version 0.9.0-incubating, as follows:
> [ ] +1, Approve the release
> [ ] -1, Do not approve the release (please provide specific comments)
>
>
> The complete staging area is available for your review, includes:
>
> The official source release and binary convenience releases to be deployed
> to:
> *
> https://dist.apache.org/repos/dist/dev/incubator/fluss/fluss-0.9.0-incubating-rc1
>
> Helm charts are available on:
> * https://dist.apache.org/repos/dist/dev/incubator/fluss/helm-chart
> (NB: you have to build the Docker images locally with the version
> 0.9.0-incubating in order to test Helm charts)
>
> All the files are signed with the key with fingerprint 56A9F259A4C18F9C,
> you can find the KEYS file here:
> * https://dist.apache.org/repos/dist/release/incubator/fluss/KEYS
>
> All artifacts to be deployed to the Maven Central Repository:
> * https://repository.apache.org/content/repositories/orgapachefluss-1004/
>
> Git tag for the release:
> * https://github.com/apache/fluss/releases/tag/v0.9.0-incubating-rc1
>
> Git commit for the release:
> *
>
> https://github.com/apache/fluss/commit/d6fd1f1f607a2672bff5d18d5ca811bfa920bbd7
>
> Website pull request for the release announcement blog post
> * https://github.com/apache/fluss/pull/2590
>
> Upgrade note for the new release:
> *
>
> https://github.com/apache/fluss/blob/release-0.9/website/docs/maintenance/operations/upgrade-notes-0.9.md
>
> Docker images for the release candidate:
> * fluss: apache/fluss:0.9.0-incubating-rc1
>
> Please download, verify and test. To learn more about how to verify:
>
> https://fluss.apache.org/community/how-to-release/verifying-a-fluss-release/
>
>
> The vote will be open for at least 72 hours. It is adopted by majority
> approval, with at least 3 PPMC affirmative votes.
>
>
> Best regards,
> Yuxia
>