Skip to content

Conversation

@jborlase-snowplow
Copy link

Description

Implements a new feature which allows users to perform a keyhole backfill for unified. Users can set the following variables and when it is enabled, it will override the incremental logic to reprocess any sessions which had events during the keyhole date period.

vars:
   snowplow__keyhole_backfill_enabled: true
   snowplow__keyhole_backfill_lower_limit: '2025-03-10 00:00:00'
   snowplow__keyhole_backfill_upper_limit: '2025-03-20 00:00:00'

How it works

The keyhole backfill works by doing the following when snowplow__keyhole_backfill_enabled is set to true:

  • Disabling the post-hooks which update the Snowplow Incremental Manifest - this prevents your incremental manifest from losing the current state of your models.
  • Setting the base event run dates to be the keyhole dates that are provided.
  • Overriding the get_run_limits macro to provide information to the console for when the keyhole backfill is running
  • Removing the logic in the base events table to fetch all events for sessions that occur within the keyhole period.

What type of PR is this? (check all applicable)

  • 🍕 Feature
  • 🐛 Bug Fix
  • 📝 Documentation Update
  • 🎨 Style
  • 🧑‍💻 Code Refactor
  • 🔥 Performance Improvements
  • ✅ Test
  • 🤖 Build
  • 🔁 CI
  • 📦 Chore (Release)
  • ⏩ Revert

Related Tickets & Documents

Checklist

  • 💣 Is your change a breaking change?
  • 📖 I have updated the CHANGELOG.md

Added tests?

  • 👍 yes
  • 🙅 no, because they aren't needed
  • 🙋 no, because I need help

Added to documentation?

  • 📓 internal package docs (ymls, macros, readme, if applicable)
  • 📕 I have raised a Snowplow documentation PR if applicable (Link here if required)
  • 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?

[optional] What gif best describes this PR or how it makes you feel?

@jborlase-snowplow jborlase-snowplow requested a review from a team as a code owner June 13, 2025 08:22
@snowplowcla snowplowcla added the cla:yes [Auto generated] Snowplow Contributor License Agreement has been signed. label Jun 13, 2025
@ilias1111 ilias1111 changed the base branch from main to feature/duck-db June 16, 2025 15:34
@ilias1111 ilias1111 changed the base branch from feature/duck-db to main June 16, 2025 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla:yes [Auto generated] Snowplow Contributor License Agreement has been signed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants