Skip to content

Releases: lensesio/stream-reactor

Stream Reactor 8.1.29

03 Mar 15:36
fa66e09
Compare
Choose a tag to compare

Follow the release notes here

Stream Reactor 8.1.28

10 Feb 15:08
3efef7c
Compare
Choose a tag to compare

Stream Reactor 8.1.27

07 Feb 10:00
e09ab56
Compare
Choose a tag to compare

Stream Reactor 8.1.26

04 Feb 03:58
8651362
Compare
Choose a tag to compare

** Azure Service Bus Source

Removes the offset and source maps from the Connect record created. For Azure messages with a lot of annotations, the Connect offset storage takes a lot of memory

** GCP Pub Sub Source

The source was not setting the headers for the Connect record created

Stream Reactor 8.1.25

24 Jan 16:25
7e6e823
Compare
Choose a tag to compare

Stream Reactor 8.1.24

23 Jan 17:17
6f65d1f
Compare
Choose a tag to compare

Stream Reactor 8.1.23

09 Jan 17:56
771ed92
Compare
Choose a tag to compare

DataLakes (S3, GCP) source fixes

Polling Backoff

The connector incurs high costs when there is no data available in the buckets because it continuously polls the data lake in a tight loop, as controlled by Kafka Connect.

From this version by default a backoff queue is used, introducing a standard method for backing off calls to the underlying cloud platform.

Avoid filtering by lastSeenFile where a post process action is configured

When ordering by LastModified and a post-process action is configured, avoid filtering to the latest result.

This change avoids bugs caused by inconsistent LastModified dates used for sorting.
If LastModified sorting is used, ensure objects do not arrive late, or use a post-processing step to handle them.

Add a flag to populate kafka headers with the watermark partition/offset

  • This adds a connector property for GCP Storage and S3 Sources:
    connect.s3.source.write.watermark.header
    connect.gcpstorage.source.write.watermark.header

If set to true then the headers in the source record produced will include details of the source and line number of the file.

If set to false (the default) then the headers won't be set.

Currently this does not apply when using the envelope mode.

Stream Reactor 8.1.22

20 Dec 11:53
490bbe0
Compare
Choose a tag to compare

Enhance DataLake Source Connectors: Robust State Management and Move Location Path Handling

This release addresses two critical issues:

  • Corrupted connector state when DELETE/MOVE is used: The connector is designed to store the last processed document and its location within its state for every message sent to Kafka. This mechanism ensures that the connector can resume processing from the correct point in case of a restart. However, when the connector is configured with a post-operation to move or delete processed objects within the data lake, it stores the last processed object in its state. If the connector restarts and the referenced object has been moved or deleted externally, the state points to a non-existent object, causing the connector to fail. The current workaround requires manually cleaning the state and restarting the connector, which is inefficient and error-prone.

  • Incorrect Handling of Move Location Prefixes: When configuring the move location within the data lake, if the prefix ends with a forward slash (/), it results in malformed keys like a//b. Such incorrect paths can break compatibility with query engines like Athena, which may not handle double slashes properly.

Stream Reactor 8.1.21

16 Dec 15:09
3b8788f
Compare
Choose a tag to compare

Azure Service Bus source

Performance improvements in the source to handle a higher throughput. The code now leverages prefetch count, and disables the auto complete. The following connector configs were added:

  • connect.servicebus.source.prefetch.count The number of messages to prefetch from ServiceBus
  • connect.servicebus.source.complete.retries.max The maximum number of retries to attempt while completing a message
  • connect.servicebus.source.complete.retries.min.backoff.ms The minimum duration in milliseconds for the first backoff
  • connect.servicebus.source.sleep.on.empty.poll.ms The duration in milliseconds to sleep when no records are returned from the poll. This avoids a tight loop in Connect.

Stream Reactor 8.1.20

04 Dec 23:11
91e9428
Compare
Choose a tag to compare
NullPointerException information lost (#174)

The change brings extra logging to identify where the exception occurs. It changes the error log information.

Co-authored-by: stheppi <[email protected]>
Co-authored-by: Andrew Stevenson <[email protected]>