Skip to content

Releases: line/decaton

9.0.1

02 Sep 05:52
Compare
Choose a tag to compare

Important

Please read the upgrade guide in https://github.com/line/decaton/releases/tag/v9.0.0 carefully

Breaking Changes

New Features

Bug Fixes

Improvements

  • Lower log level of partition processor core creation, to be virtual thread friendly #245

Other Changes

9.0.0

19 Aug 05:33
Compare
Choose a tag to compare

Important

Please read the upgrade guide section carefully

Breaking Changes

  • TaskMetadata as header (#238)
    • decaton-client:
      • DecatonClient no longer wraps tasks with DecatonTaskRequest-protobuf
    • decaton-processor:
      • DecatonTaskRequest is moved to com.linecorp.decaton.protocol.internal and marked as deprecated
      • Retry tasks are no longer produced in DecatonTaskRequest format unless decaton.retry.task.in.legacy.format is set to true
      • KafkaProducerSupplier signature change
      • TaskExtractor signature change
    • Please read below upgrade guide carefully!!!
  • Make Decaton can consume any topic with deserializer (#241)
    • decaton-processor:
      • ProcessorsBuilder#consuming(String topic, Deserializer<T> deserializer) no longer parses messages as DecatonTaskRequest-protobuf at all, unless decaton.legacy.parse.fallback.enabled
    • Please read below upgrade guide carefully!!!

New Features

Bug Fixes

Improvements

Other Changes

  • Fix potential key exposure in PKQ (#237)
  • Add task batching doc (#150)
  • Update docs and examples for 9.0.0 (#239)

Upgrade guide from 8.0.1 or earlier

  • As described in "Breaking Changes" section, Decaton made two big breaking changes in this release.
  • You MUST read below guide carefully and follow the instructions, or your application may encounter deserialization errors and fail to process tasks.

Depending on your use cases, there are 4 different upgrade paths.

Using retry queueing? Using DecatonClient? (i.e. tasks are parsed by Deserializer rather than TaskExtractor) Upgrade path
N N Case A
N Y Case B
Y N Case C
Y Y Case D

Case A: No retry queueing && non-DecatonClient

In this case, you can upgrade as usual without any special care.

  • Step1: Upgrade decaton-processors to 9.0.0 or higher.
  • That's it.

Case B: No retry queueing && DecatonClient

  • Step1: Upgrade decaton-processors to 9.0.0 or higher with decaton.legacy.parse.fallback.enabled=true
  • Step2: Upgrade decaton-clients to 9.0.0 or higher
  • Step3: Wait all old-format tasks are processed after Step2.
    • You can monitor topic's committed offset is caught-up
  • Step4: Set decaton.legacy.parse.fallback.enabled=false

Case C: Retry queueing && non-DecatonClient

  • Step1: Upgrade decaton-processors to 9.0.0 or higher with decaton.retry.task.in.legacy.format=true, decaton.legacy.parse.fallback.enabled=true
  • Step2: After all decaton-processors are upgraded, set decaton.retry.task.in.legacy.format=false
  • Step3: Wait all retry tasks are processed after Step2.
    • You can monitor retry-topic's offset lag becomes 0.
  • Step4: Set decaton.legacy.parse.fallback.enabled=false

Case D: Retry queueing && DecatonClient

  • Step1: Upgrade decaton-processors to 9.0.0 or higher with decaton.retry.task.in.legacy.format=true, decaton.legacy.parse.fallback.enabled=true
  • Step2: Upgrade decaton-clients to 9.0.0 or higher
  • Step3: After all decaton-processors are upgraded, set decaton.retry.task.in.legacy.format=false
  • Step4: Wait all old-format tasks and retry tasks are processed after Step3.
    • You can monitor topic's committed offset is caught-up and retry-topic's offset lag becomes 0.
  • Step5: Set decaton.legacy.parse.fallback.enabled=false

8.0.1

17 May 05:16
Compare
Choose a tag to compare

Breaking Changes

New Features

Bug Fixes

  • Use TopicPartition.topic for metrics #235

Improvements

Other Changes

  • Bump dependencies (micrometer/tracing, spring-boot, central-dogma) #233
  • Fix ResourceTracker in benchmark to work fine with VIRTUAL_THREAD #234

8.0.0

28 Mar 09:00
Compare
Choose a tag to compare

Breaking Changes

  • Add virtual threads support #224
    • AsyncShutdownable interface was replaced to AsyncClose

New Features

  • Add virtual threads support #224

Bug Fixes

Improvements

  • Cache CD dynamic properties #222

Other Changes

7.2.0

28 Nov 06:36
Compare
Choose a tag to compare

Breaking Changes

New Features

  • Add delivery latency and scheduled delay metrics (#218)

Bug Fixes

Improvements

  • Some updates and improvements for the benchmark module (#219)
  • New metrics follow up for #218 (#220)

Other Changes

  • Drop Java8 support, upgrade gradle and junit (#214)
    • NOTE: Java8 is still supported because we reverted it in #215
  • Bring back java 8 support (#215)

7.1.1

19 Sep 09:35
Compare
Choose a tag to compare

Breaking Changes

New Features

Bug Fixes

  • Prevent non-RuntimeException causes completion-leak fixes #211 (#212)

Improvements

Other Changes

7.1.0

17 Aug 08:45
Compare
Choose a tag to compare

Breaking Changes

New Features

  • Support spring boot 3 on decaton-spring #210

Bug Fixes

Improvements

Other Changes

7.0.0

21 Jul 01:59
Compare
Choose a tag to compare

Breaking Changes

  • Make max.pending.records property reloadable (#207)

New Features

Bug Fixes

Improvements

Other Changes

6.5.0

22 May 06:08
Compare
Choose a tag to compare

Breaking Changes

New Features

  • Support micrometer-tracing (#205)

Bug Fixes

Improvements

Other Changes

6.4.0

15 May 07:46
Compare
Choose a tag to compare

Breaking Changes

New Features

Bug Fixes

  • Pass Count-Min parameters correctly (#204)

Improvements

Other Changes