Collector Path change, Stream Enrich doesn't like it

I’ve changed the default collector path from

 # The collector responds with a cookie to requests with a path that matches the 'vendor/version' protocol.
  # The expected values are:
  # - com.snowplowanalytics.snowplow/tp2 for Tracker Protocol 2
  # - r/tp2 for redirects
  # - com.snowplowanalytics.iglu/v1 for the Iglu Webhook
  # Any path that matches the 'vendor/version' protocol will result in a cookie response, for use by custom webhooks
  # downstream of the collector.
  # But you can also map any valid (i.e. two-segment) path to one of the three defaults.
  # Your custom path must be the key and the value must be one of the corresponding default paths. Both must be full
  # valid paths starting with a leading slash.
  # Pass in an empty map to avoid mapping.
  paths {
     "/com.acme/track" = "/com.snowplowanalytics.snowplow/tp2"
     "/com.acme/redirect" = "/r/tp2"
     "/com.acme/iglu" = "/com.snowplowanalytics.iglu/v1"
  }

to

collector {
  interface = "127.0.0.1"
  port = 8290

  paths {
    "/com.acme/track" = "/com.info.nl/info2"
    "/com.acme/redirect" = "/r/info2"
    "/com.acme/iglu" = "/com.info.nl/info1"
  }

But stream enrich doesn’t like it and shoots them towards the bad Kafka Topic.

This is the error I get: Payload with vendor com.info.nl and version info2 not supported by this version of Scala Common Enrich

Am I missing something here? The sole goal is to avoid adblockers which are blocking the /com.snowplowanalytics.snowplow/tp2 path. So… I can collect, I just can’t seem to enrich. How do I solve this?

Hey @MrMoronIV the idea of the paths mapping is to redirect your custom path to one of our defined defaults. So you would map “/r/info2” -> “/r/tp2”. The destination should be one of our defined defaults - you only need to change the “key” to your own custom path for this to work.

Hope this helps!

I think that did the trick!

1 Like

Hi guys, I got a similar error but in my case I didn’t touch the default values:
Collector config:

    # Prevent adblockers to block JS tracker
    paths {
      "/somecompany/hdrrqsf" = "/com.snowplowanalytics.snowplow/tp2"
    }

Error:

Payload with vendor somecompany and version hdrrqsf not supported by this version of Scala Common Enrich

Missing “com.”? or do I also need to specify the 2 other aliases (redirect and iglu)?

Thanks!

Did you manage to fix this? I’m running into this issue also. It appears as though the scala encricher does not like the paths being changed.

Resolved for me:

My issue was that I was referring to https://github.com/snowplow/snowplow-docker for the latest version numbers so I was on an old version. https://hub.docker.com/r/snowplow/scala-stream-collector-kinesis has the latest images.