Enrich 3.2.3 released

We are pleased to announce version 3.2.3 of Snowplow’s Enrich

This release contains fixes for three bugs, which might have affected your pipeline depending on your setup.

Stream Enrich: Fix to the enrichment order

This bug could affect your pipeline only if you run a stream enrich flavour of enrich, i.e. you are not running the more modern enrich-kinesis or enrich-pubsub. The bug was introduced in version 3.2.0, and does not affect older versions.

Enrich promises to run enrichments in a certain strict order. But because of this bug, some of the enrichments were run in the incorrect order. You might be affected if your pipeline is sensitive to the order in which enrichments are run; for example if your custom Javascript enrichment absolutely depends on the outputs of the IP Lookups enrichment. The Github issue has complete description of which enrichments were run out of order.

The bug is fixed in this new 3.2.3 release. When you upgrade to version 3.2.3, your enrichments will run in the correct order again.

Enrich Kinesis and Enrich Pubsub: Fix to the request headers in API Request Enrichment

This could affect your pipeline if you run enrich-kinesis or enrich-pubsub. This bug does not affect the older stream enrich flavours of enrich. The bug was introduced in version 3.2.0, and does not affect older versions.

The Api Request Enrichment promises to support APIs with basic authorization, by sending a username and password with the HTTP request. However, since version 3.2.0 the enrich-kinesis and enrich-pubsub implementations were failing to send the Authorization header. Furthermore, they were failing to set the Content-Type request header to application/json.

In this new 3.2.3 release, we fixed the Api Request enrichment so it correctly sets the Authorization and Content-Type headers when it calls your API.

Enrich-Kinesis: more resilient to Kinesis resharding

This bug could affect your pipeline if you run enrich-kinesis and if you configure Kinesis to scale the number of shards in response to fluctuating event volumes. The bug has been around since the 3.0.0 release.

This bug could cause the enrich-kinesis app to crash under some circumstances when the Kinesis stream was scaled to have more shards or fewer shards. If you upgrade to enrich-kinesis version 3.2.3, you will find it much more resilient to keep on running even as the number of shards scales up or down.

The bug fix makes enrich-kinesis more resilient to this edge case.

Upgrading to 3.2.3

If you are already running a recent version of Enrich, then upgrading is as easy as pulling the newer version of the docker image:

docker pull snowplow/snowplow-enrich-pubsub:3.2.3
docker pull snowplow/snowplow-enrich-kinesis:3.2.3
docker pull snowplow/stream-enrich-kafka:3.2.3

Check out the Enrich documentation for the full guide on running and configuring the apps.

2 Likes