Skip to content

Releases: snowplow/stream-collector

2.2.1

26 Mar 12:55
Compare
Choose a tag to compare

This release fixes a bug identified in 2.1.2 and brings improvements to the surge protection feature introduced in 2.0.0.

Changes

Respect SQS batch request limit (#125)
Set network_userid to empty UUID in anonymous mode to prevent collector_payload_format_violation (#126)

Discourse

2.2.0

08 Mar 12:21
Compare
Choose a tag to compare

This release adds a new module that allows SQS to be configured as a sink.

Changes

  • Add SQS collector module #120
  • Serve robots.txt file #109

Many thanks to miike for contributing to this release.

Discourse

2.1.2

18 Feb 16:55
Compare
Choose a tag to compare

This release fixes a bug which would allow network_userid to be captured even when SP-Anonymous header is set

Bugfixes

  • Prevent network_userid being captured when SP-Anonymous header is set (#117)

2.1.1

29 Jan 10:38
Compare
Choose a tag to compare

This release fixes a bug which meant size violation and generic error (illegal querystring) bad rows were not emitted as self-describing events.

Bugfixes

  • Emit valid bad rows for size violation and generic error (#113)

Misc

  • Extend copyright to 2021 (#114)

Discourse: https://discourse.snowplowanalytics.com/t/stream-collector-2-1-1-released/4707

2.1.0

14 Dec 08:18
Compare
Choose a tag to compare

This release introduces three changes to how the collector works:

  • Support for tracker-controlled "cookieless" mode.
  • A rare scenario in which some malformed events could get dropped will now result in a bad row instead.
  • It is no longer required to have a Kinesis stream running in order to deploy the collector on AWS.

Collector behaviour changes

  • Do not set cookie if request has SP-Anonymous header (#90)
  • Generate BadRow if querystring cannot be parsed (#73)
  • Don't crash but warn if Kinesis stream and SQS queue don't exist (#100)

Dependency management

  • Bump specs2-core to 4.10.5 (#106)

Under the hood

  • Bump sbt to 1.4.4 (#105)
  • Migrate from Travis to GH actions (#91)
  • Bump to JDK 11 (#92)
  • Bump base-debian to 0.2.1 (#72)
  • Integrate coursier cache action (#93)
  • Fix assembly merge strategy (#97)

Misc

  • Reorganise imports (#104)
  • Update copyright to 2020 (#95)

2.0.1

23 Nov 17:28
Compare
Choose a tag to compare

This patch release overhauls the put retry logic for both SQS and Kinesis.

Patched retry logic

  • Increase number of Kinesis put retries when surge protection is on (#75)

Dependency management

  • Bump scalafmt to 2.3.2 (#87)
  • Bump akka to 2.5.32 (#86)
  • Bump akka-http to 10.1.12 (#85)
  • Bump prometheus-simpleclient to 0.9.0 (#82)
  • Bump config to 1.4.1 (#81)
  • Bump slf4j to 1.7.30 (#80)
  • Bump joda-time to 2.10.8 (#79)
  • Remove scalaz7 dependency (#84)
  • Remove softwaremill-retry dependency (#83)

2.0.0 - Adding surge protection for AWS

15 Sep 10:24
Compare
Choose a tag to compare

Surge protection

While PubSub is auto-scalable, Kinesis is not, and when Kinesis can't keep up with the throughput (in case of extreme traffic spikes for instance), events accumulate in collector memory for later (infinite) retries, which can lead to OutOfMemory errors.

To address this potential issue, it is now possible to specify a SQS buffer where to write events to in case of a problem when writing to Kinesis (e.g. maximum throughput exceeded).

To activate this feature, create the SQS queues (one for enriched events and one for bad rows) and populate these lines in the configuration of the collector. Please note that writing to SQS will be retried maximum 10 times and that the size limit of an event drops to 192kb.

To send events back from SQS to Kinesis, this app can be used. It is available on Docker Hub. To run it, specify SQS_QUEUE, KINESIS_STREAM_NAME and SENTRY_DSN environment variables. The writing to Kinesis is performed with back-pressure to not overwhelm it.

Changelog

  • Disable default redirect (#64)
  • Bump vulnerable libs (#56)
  • Implement surge protection (#57)
  • Add test for extracting a URL-encoded schema from the querystring (#60)
  • Add snyk monitor (#52)
  • Add DockerHub credentials to .travis.yml (#49)
  • Add travis integration (#59)

Breaking change

  • Disable default redirect (#64)

1.0.1

31 Mar 15:40
Compare
Choose a tag to compare
Prepare for release

1.0.0

31 Mar 15:40
Compare
Choose a tag to compare
Prepare for release

0.17.0

31 Mar 15:40
Compare
Choose a tag to compare
Prepare for release