close
Skip to content

Releases: apache/fluss

Apache Fluss 0.9.1-incubating

04 May 09:49
6bf969f

Choose a tag to compare

DISCLAIMER: Apache Fluss (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.

Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.

While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Apache Fluss 0.9.1-incubating is a patch release on the 0.9 line containing bug fixes, Helm chart improvements, dependency upgrades, and documentation updates. It is fully compatible with 0.9.0 — no client or server changes are required to upgrade.

📥 Downloads: https://fluss.apache.org/downloads/#apache-fluss-091


🐛 Bug Fixes

Server / KV / Storage

  • Fix Paimon IOManager leak in MergeTreeWriter causing /tmp disk exhaustion during tiering (#3193)
  • Fix non-target columns not being nulled during partial update on first insert (#3157)
  • Fix OutOfBoundsException in partial update / delete after ADD COLUMN (#3090)
  • Fix ListDatabaseSummary always returning a table count of 0 or 1 (#2899)
  • Still remove server tag if the tablet server no longer exists (#2884)
  • Validate non-primary-key tables for KvSnapshotLease acquire / release APIs (#2736)

Client

  • Fix early termination in SortMergeReader on changelog deletes (#3137)
  • Catch Throwable to avoid silent failure on remote file download (#3136)

Flink Connector

  • Fix $changelog and $binlog virtual tables failing with NPE on checkpoint completion (#2743)
  • Fix release of KV snapshot lease for log tables (#2721)
  • Fix acquire of KV snapshot lease for legacy clusters (#2720)

Filesystem

  • Propagate S3 path-style-access config from server to client via delegation token (#3165)

✨ Improvements

  • [flink] Push down lake filters for non-partitioned scans (#3181)
  • [flink] Allow partial updates for the AGGREGATION merge engine (#2905)
  • [server / netty] Introduce netty.server.max-request-size to bound request size (#3108)
  • [filesystem / s3] Support the default AWS credential chain for S3 delegation (#3094)
  • [filesystem / rustfs] Support AssumeRole STS for RustFS (#2989)

⛵ Helm Chart

  • Bump chart version to 0.9.1-incubating (#3205)
  • Add existingSecret support for SASL credentials (#3189)
  • Support injecting environment variables and external secrets (#3184)
  • Add pod annotations, labels, and PodDisruptionBudget support (#3185)
  • Add scheduling primitives (nodeSelector / tolerations / affinity) (#3175)
  • Backport general Helm chart improvements to release-0.9 (#3183)
  • Reintroduce the Quickstart image (#3166)

📦 Dependency Upgrades

  • Bump org.assertj:assertj-core 3.23.1 → 3.27.7 (#3119)
  • Bump org.apache.logging.log4j:log4j-1.2-api 2.17.1 → 2.25.4 (#3118)
  • Bump com.google.protobuf:protobuf-java 2.5.0 → 3.25.5 (#3112)
  • Bump org.apache.kafka:kafka-clients 3.9.1 → 3.9.2 (#3111)

📚 Documentation

  • Add "Insert If Not Exists" section to Lookup Joins documentation (#3037)
  • Fix RustFS AssumeRole documentation (#3058)

🔗 Full Changelog

v0.9.0-incubating...v0.9.1-incubating

Apache Fluss 0.9.0-incubating

02 Mar 09:46
v0.9.0-incubating

Choose a tag to compare

DISCLAIMER: Apache Fluss (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.

Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.

While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

What's Changed

  • [docs] Add labels to versions under releasing and Update Fluss Docker image repository by @wuchong in #1866
  • [hotfix] Use literal directly instead of PARTITION_GENERATE_LEGCY_NAME to avoid NoSuchField error by @luoyuxia in #1880
  • [server] Tablet server should register lakeCatalogDynamicLoader in dynamicConfigManager by @loserwang1024 in #1879
  • [hotfix][client] Fix potential metadata inconsistency by deduplicating getBucketLocation call by @swuferhong in #1897
  • [hotfix] fix sidebar naming conversion by @polyzos in #1898
  • [hotfix][client] Use more efficient EnumMap in ConverterCommons by @snuyanzin in #1882
  • [docs] upgrade 0.7 to 0.8 about sasl authorization and default database. by @loserwang1024 in #1871
  • [Docs] Add upgrade notes for fluss package changes by @caozhen1937 in #1869
  • [FLUSS-1873][server] Added Retry Handler to Address Snapshotting Test Asynchrony by @rionmonster in #1881
  • [lake] LakeCatalog supports multi-tenancy by @LiebingYu in #1901
  • [docs] Update docs/website images for 0.8 release by @michaelkoepf in #1905
  • [hotfix] Set paimon warehouse in FlinkCatalogITCase to make it consistent by @luoyuxia in #1902
  • [lake/lance] add Flink memory usage note by @xx789633 in #1909
  • [client] Add support for inner class and is/has methods for boolean by @snuyanzin in #1908
  • [Docs] Remove unwanted emojis to make document standard Lakehouse by @MehulBatra in #1865
  • refactor directory to fit helm charts into the project by @dreger1997 in #1917
  • Add docs for Deploying with helm charts #1756 by @dreger1997 in #1862
  • [doc] Add docs for delta join support with Flink 2.1 by @xuyangzhong in #1875
  • Add documentation for updating table configs and cluster configs by @loserwang1024 in #1870
  • remove sensitive catalog properties in getTable by @xx789633 in #1860
  • [hotfix] Make paimonConfig of PaimonLakeStorage protected in case a subclass needs to use it by @LiebingYu in #1916
  • [client][hotfix] Invoke RowType#getFieldNames only once in ConverterCommons by @snuyanzin in #1920
  • Fix timestamp precision by @buvb in #1931
  • Aggregate fluss client connection metrics. by @loserwang1024 in #1896
  • [lake] Avoid to generate empty split in tiering source enumerator by @LiebingYu in #1925
  • [metric] Update metric group infix to meet document by @zcoo in #1942
  • [website] Release 0.8 blog post and update Download page by @wuchong in #1868
  • [release] Fix missing LICENSE and DISCLAIMER in binary distribution by @wuchong in #1922
  • [Client] Fix LookupSender doesn't update bucket metadata when receive NotLeaderOrFollowerException in bucket level by @swuferhong in #1928
  • [hotfix] add flink 2.1 missing jar by @polyzos in #1957
  • [server] Recover log and index file for unclean shutdown by @LiebingYu in #1749
  • [hotfix] add lake jars in the download page by @polyzos in #1960
  • [doc] improve quickstart: merge Iceberg/Paimon sections & adjust DML behavior by @xx789633 in #1924
  • [FLUSS-1935][docs] Added Fluss Team Section by @rionmonster in #1938
  • [bug] fix Iceberg quickstart insertion SQL by @xx789633 in #1964
  • [server] Tolerate Paimon lake table existent if the schema and properties matches by @LiebingYu in #1847
  • [bug fix] set finish before notifying load in LanceArrowWriter setFinished method by @xx789633 in #1985
  • [lake] Tolerate Paimon lake table existent with different insignificant options by @LiebingYu in #1995
  • [lake/paimon] Support passing Fluss table comments through to the Paimon table by @LiebingYu in #1999
  • [docs] Fix Lakehouse diagrams by @MehulBatra in #2001
  • [website] Hero section update by @MehulBatra in #2002
  • [flink] Tiering job name as per lake format by @MehulBatra in #2003
  • Support Array type in log table (Arrow row format) by @XuQianJin-Stars in #1987
  • [iceberg] minor improvements by @nastra in #2015
  • [server] Register signal handlers to log termination due to SIGTERM, SIGHUP and SIGINT by @LiebingYu in #2012
  • [server] Close the DynamicConfigManager before closing the ZookeeperClient to prevent exceptions by @LiebingYu in #2018
  • [server] Close ZooKeeperClient only after all dependent components have been shut down to prevent exceptions by @LiebingYu in #2023
  • [docs] Clarify the supported flink versions for delta join by @xuyangzhong in #2000
  • [server] Set the waiting time of executing server shutdown hook to 120s to avoid an unclean server shutdown by @swuferhong in #2026
  • [hotfix] remove kafka compatibility from the roadmap by @polyzos in #2027
  • [Flink] Upgrade Flink dependency to 1.20.3 and 2.1.1 by @sd4324530 in #1988
  • [docs] Make README consistent with developer guide regarding minimum Java version by @michaelkoepf in #1944
  • [server] Disable shutdown hook for log4j to ensure Fluss log in shutdown hook can be collected by @LiebingYu in #2020
  • [hotfix] fix typo in tiering enumerator by @polyzos in #2034
  • [lake/paimon] Bump Paimon version to 1.3.1 by @sd4324530 in #2035
  • [Hotfix] Revert Recover log and index file for unclean shutdown (#1749) by @swuferhong in #2036
  • Fix thread-safety problem of PrimaryKeyLoookuper and PrefixKeyLookuper by @platinumhamburg in #1915
  • Bump Hadoop to 3.4.0 by @nastra in #2009
  • [iceberg] Upgrade iceberg version to 1.10.0 by @nastra in #2008
  • [zk] Allow to set jute.maxbuffer for zk client by @luoyuxia in #2048
  • [client]Support initial cluster with retries to avoid initial failed when bootstrap server only contains one available address by @swuferhong in #2024
  • [hotfix][docs] Fix typo in downloads.md: hhttps -> https by @zhan7236 in #2050
  • [server] Optimize log recovery time by @LiebingYu in #2044
  • [client] Get tableInfo via the Admin API instead of via metadata updater by @swuferhong in #2016
  • [hotfix][client] Retry to initial cluster when encounter TimeoutException by @swuferhong in #2055
  • [client] Fix npe error throw by MetadataUpdater when getting bucket count by @swuferhong in #2054
  • [client] Lookup sender need retry to send when leader not found in metadata cache by @swuferhong in #2052
  • [FLUSS-1961][docs] Upgrade Docusaurus to 3.9.2 by @rionmonster in #1962
  • Support Add Column in Fluss. by @loserwang1024 in #2010
  • [Flink] Support Array type in Flink connector by @XuQianJin-Stars in #2040
  • Avoid ReplicaFetcher busy loop retry storm during leader election or bucket migration by @platinumhamburg in #2075
  • [rpc] Prevent EventLoop blocking and implement TCP-level backpressure in RequestChannel by @platinumhamburg in #2065
  • Bump exec-maven-plugin to 3.1.0 by @loserwang1024 in #2082
  • [FLUSS-2062][docs] Added Redirect for Latest Stable Version Docs by @rionmonster in #2085
  • [FLUSS-2089][docs] Fixed Language Discrepancy in build_versioned_docs ...
Read more

Apache Fluss 0.8.0-incubating

06 Nov 04:00
v0.8.0-incubating
c18e53e

Choose a tag to compare

DISCLAIMER: Apache Fluss (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.

Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.

While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

What's Changed

  • [Docs] Add embedded Google calendar for community events by @michaelkoepf in #1089
  • [hotfix] Fix data freshness don't work issue by @luoyuxia in #1090
  • [docs] Add show partitions by given partition spec ddl in ddl.md by @swuferhong in #1093
  • [row] improve test on VectorizedColumnBatch by @gyang94 in #1049
  • [server] Fix Sasl's createPrincipal mismatch username and type by @loserwang1024 in #1099
  • [test] Fix unstable test cases in FlussAuthorizationITCase by @swuferhong in #1102
  • [minor][lake] Set default name for flink tiering service job by @leonardBang in #1105
  • [lake/paimon] Fix than tiering service for paimon missed timestampNtz support by @leonardBang in #1122
  • [lake/docs] Update paimon integration docs in lakehouse section by @leonardBang in #1113
  • [lake/paimon] Fix union read timestamp type issue (#1128) by @luoyuxia in #1130
  • minor paimon page improvements by @polyzos in #1133
  • Add a use cases section in the introduction page by @polyzos in #1134
  • [flink] Move Factory tests which depends on different version of Flink frameworks to submodule by @loserwang1024 in #1132
  • [lake/docs] Update lakehouse storage pages to adapt to new architecture by @luoyuxia in #1139
  • [docs] Add security documents including authentication and authorization. by @loserwang1024 in #1060
  • [hotfix] Add isClosed protect for LogFetcher#handleFetchLogException to avoid throw exception if channel close by @swuferhong in #1107
  • Fluss 0.7 Release Announcement by @polyzos in #1137
  • Update source files use the standard Apache boilerplate headers by @wuchong in #1147
  • [test] Expose Clock to FlussClusterExtension. by @loserwang1024 in #1136
  • Add quickstart: Secure Your Fluss Cluster by @loserwang1024 in #1108
  • [docs]Fix: Fix the formatting error of the coordinator.io-pool.size parameter table in the configuration document by @ZmmBigdata in #1169
  • [doc] Add tips for building fluss with Java 8 by @leonardBang in #1177
  • [connector] pass Fluss schema to lake writer by @xx789633 in #1192
  • [test/flink] Se forkCount=1 for versioned flink e2e tests by @leonardBang in #1179
  • [test/flink] Cover full data types in UnionRead tests and polish some tests by @naivedogger in #1167
  • [doc]The type of Sink is incorrect. FinkSink is not public and cannot be referenced from outside the package by @ZmmBigdata in #1196
  • [docs] fix small typo in security comments by @polyzos in #1199
  • [website] Fix the formatting for other options by @MehulBatra in #1202
  • [doc]The deletion operation requires the equivalence condition of the primary key by @ZmmBigdata in #1201
  • [website] add agenda doc link in the community page by @MehulBatra in #1211
  • [server] Fix zk partition residual when using dynamic partition by @zcoo in #1187
  • [doc]Without switching the query mode of FlinkSQL, an exception will be thrown when deleting data from the fluss primary key table by @ZmmBigdata in #1189
  • [docs] Add docs for racks by @swuferhong in #1148
  • hotfix: typo by @gyang94 in #1174
  • [Website] Remove version from "Building Fluss from Source" by @michaelkoepf in #1164
  • [git] update the latest release version & change the task/feature description by @MehulBatra in #1218
  • [server] Avoid memory copy when follower fetch log from leader by @swuferhong in #1186
  • [hotfix] fix typos in getting-started.md by @yx91490 in #1223
  • [hotfix] Fix the missing brackets in java-client.md by @LiebingYu in #1225
  • [website][docs] Make figures consistent by @michaelkoepf in #1236
  • [doc]Remove 'testcatalog'. 'testdb' from the ddl statement by @ZmmBigdata in #1234
  • [doc]Adjust ddl.md document structure by @ZmmBigdata in #1232
  • [doc]: add download link for tiering service jar by @gyang94 in #1229
  • [doc]The DDL and DQL column names in the context do not match by @ZmmBigdata in #1190
  • [doc]Code structure issues by @ZmmBigdata in #1240
  • Add exception in throwable in lake writer & committer by @polyzos in #1254
  • [blog]: tiering service deep dive by @gyang94 in #1249
  • [lake] Ensure LakeStoragePlugin uses the plugin classloader for all operations by @beryllw in #1224
  • [website] Add apache mailing list info for community by @MehulBatra in #1250
  • [server] Optimize auto drop partition perfomance by @LiebingYu in #1047
  • [HotFix] Class name for logger in RemoteLogIndexCache by @polyzos in #1265
  • [hotfix] Fix typo in server.yaml by @XianmingZhou00 in #1277
  • [client] Fluss client shouldn't load plugin by thread context classloader. by @loserwang1024 in #1267
  • [website] Learn page for talks & videos draft version by @MehulBatra in #1278
  • [Docs] Coordinator event metrics by @zcoo in #1272
  • [File system] Add HuaweiCloud OBS integration by @andybj0228 in #1274
  • [website] update roadmap to account latest requirements by @MehulBatra in #1214
  • [website] create a seperate page for bug report & feature request by @MehulBatra in #1213
  • [blog] Fluss java client guide by @polyzos in #1253
  • Add Fluss ASF Blog Post by @polyzos in #1288
  • [docs] Fix typo in configuration.md by @xiedeyantu in #1300
  • rename fluss to Apache Fluss(Incubating) in readme by @polyzos in #1263
  • [website] Fix community call phrase by @MehulBatra in #1308
  • [website] Fix blog post author titles by @michaelkoepf in #1309
  • [debug] Add coordinator event debug log by @zcoo in #1296
  • Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.18.0 by @dependabot[bot] in #1310
  • [coordinator] add retry for Coordinator Server when register to zk by @zcoo in #1307
  • Limit read permission to license-check.yml workflow by @wuchong in #1312
  • Bump org.apache.kafka:kafka-clients from 3.9.0 to 3.9.1 in /fluss-kafka by @dependabot[bot] in #1294
  • [build] update vcs.xml link addr by @totalo in #1293
  • Potential fix for code scanning alert no. 5: Implicit narrowing conversion in compound assignment by @wuchong in #1313
  • [hotfix] fix error word commitable to committable. by @zhuangchong in #1318
  • [doc]Remove redundant statement terminators in the reads document by @ZmmBigdata in #1336
  • [doc]Modify the table format in the pk-table document by @ZmmBigdata in #1335
  • [docs] update apache fluss slack link by @MehulBatra in #1316
  • [CI] add apache rat for license check of non java files by @MehulBatra in #1219
  • set up fluss-lake-iceberg module and IcebergLakeStorage by @xx789633 in #1339
  • [hotfix] Optimize the error msg when throwing LogOffsetOutOfRangeException by @swuferhong in #1216
  • [docs][blog] fix: blog url and image by @gyang94 in #1349
  • [kv] upgrade rocksdb to comm...
Read more