Skip to content

Latest commit

 

History

History
118 lines (96 loc) · 8.73 KB

ChangeLog.md

File metadata and controls

118 lines (96 loc) · 8.73 KB

Changelog for HStream

Unreleased

v0.20.0 [2024-04-26]

HStream Kafka Server

New Features

  • Add a new network server implemented in C++ for better performance
    • introduce C++ network server #1739
    • do not free NULL stable_ptr #1747
    • make Haskell callback asynchronous #1754
    • switch to using asio #1761
    • improve C++ server #1765
  • Add basic supports for Kafka ACL
    • implement basic ACL lib and handlers #1751
    • use metastore interfaces for ACL #1766
    • make ACL mechanism fully optional #1768
    • support ACL in produce (0) handler #1767
    • do authorization on create/delete topics & create partitions #1771
    • do authorization on group-related handlers ([11..16]) #1772
    • do authorization on list and commit offsets (2, 8) #1774
    • do authorization on fetch offsets (9) #1773
    • do authorization on metadata (3) #1779
    • do authorization on describe configs (32) #1777
    • do authorization on find coordinator (10) #1778
    • do authorization on fetch (1) #1776

Enhancements

  • Support CreatePartitions #1757
    • use partitionId as loggroup name #1756
    • add listStreamPartitionsOrderedByName #1755
  • Refactor kafka protocol modules #1787
  • Upgrade max produce API version to v7 #1782
  • Do not re-encode batches in produce handler #1783
  • Refactor fetch handler for better performance #1749
    • add decodeNextRecordOffset #1750
  • Ensure fetch returns some data even when minBytes is set to 0 #1781
  • Validate topic name when create #1788
  • Validate topic name in listTopicConfigs #1793
  • Auto trim CheckpointedOffsetStorage #1796
  • [meta] Support auto reconnection for zookeeper client #1800
  • [perf] Increase Haskell RTS -A to 128MB #1741
  • improve TOPIC_ALREADY_EXISTS error message #1780
  • Remove consumer group member if sync timeout and improve group logs #1746
  • Update consumer group heartbeat after committing offsets #1753
  • [build] Upgrade Haskell image to GHC 9.4 #1763
  • [build] Download cabal-store-gc directly in dockerfile #1764
  • [build] Workaround for building hstream with system-provided jemalloc #1769, #1790
  • [build] Use system's jemalloc #1770
  • [build] Improve support for arm64 build in dockerfile #1786
  • [ci] Add new Kafka test suits #1792

Changes and Bug fixes

  • Fix the concurrent issue in withOffsetN #1784
  • Fix parsing AdvertisedListeners #1791
  • Fix the bug of re startReading while the fetch response is empty #1794
  • Workarounds: make the size of replicaNodes equal to the replicationFactor #1798

HStream gRPC Server

  • [io] Add alterConnectorConfig #1742
  • [io] Add fixed-connector-image options #1752
  • [io] Improve logs #1785
  • [query] Fix incorrect metadata of queries with namespace #1744
  • [query] Trim log which stores changelog of query state after snapshotting #1745
  • Return empty if trimShards request send empty recordIds #1797
  • Catch exception for stats handler and gossip nodeChangeEvent #1760
  • Log errors for all unexpected exceptions in Gossip asyncs #1759

v0.19.0 [2024-01-12]

HStream v0.19.0 introduces support for Kafka API, so users can interact with HStream using Kafka clients now.

New Features

  • Add support for Kafka API, compatible with Apache Kafka 0.11 or later.
  • Add a new hstream-kafka command line tool for working with HStream Kafka API.

Enhancements

  • Add support for configuring gRPC channel settings. #1659
  • Add support for logging to files. #1708
  • Add isAlive metric for connectors. #1593
  • Support GHC 9.4. #1698
  • cli(hadmin-store): Add support for updating replicate-across attribute. #1608

Changes and Bug fixes

  • Set read timeout for ldreader in readStreamByKey. #1575
  • Ignore Earliest position in trimShards. #1579
  • Fix unary handler may block in hs-grpc. #1585
  • Fix destroyed lambda ref in hstore FFI stubs. #1642
  • Fix build for HStreamUseGrpcHaskell. #1670
  • Fix a parsing issue with multiple AdvertisedListeners. #1671
  • Wait for the cluster epoch to sync before making a new assignment. #1676
  • Handle errors in trimShards. #1707
  • Handle unrecoverable gaptype for shardReader. #1713
  • Avoid log flushing when no logging is present. #1701
  • Dockerfile: upgrade base image to ubuntu jammy. #1664
  • Add a --log-flush-immediately option to flush logs immediately. #1654
  • connector: Recover tasks from listRecoverableResources. #1612
  • connector: Recover connectors without checking. #1644
  • connector: Handle zk exception. #1624
  • connector: Init ioTaskKvs table. #1673
  • sql: Fix CREATE CONNECTOR clauses. #1588
  • query: Recover tasks from listRecoverableResources. #1613
  • cli: Fix read-stream --from timestamp --until latest may fail. #1595
  • cli: Fix wrong server version for the result of hstream node status command. #1631
  • cli(hadmin-store): Fix formatting and handling of logReplicateAcross attribute display. #1622