Skip to content

Conversation

And1sS
Copy link
Collaborator

@And1sS And1sS commented Aug 19, 2025

🔧 Type of changes

  • new bid adapter
  • bid adapter update
  • new feature
  • new analytics adapter
  • new module
  • module update
  • bugfix
  • documentation
  • configuration
  • dependency update
  • tech debt (test coverage, refactorings, etc.)

✨ What's the context?

Context is described in public PRD: https://docs.google.com/document/d/1LcUkGfWL4aKFys0MRSNjKgo8NML2gS3VUtf1GQFKF_4/edit?tab=t.0

This is the first phase of the module, which includes all schema and result functions from prd, seat-non-bids, and analytics tags. For now, only account configuration is supported.

The implementation supports rule caching to reduce heavy-weight parsing. The following properties are available for cache configuration:
hooks.pb-rule-engine.rule-cache.expire-after-minutes - TTL for rules
hooks.pb-rule-engine.rule-cache.max-size - cache size

Since broken configs are not cached and must be parsed on each request, a single broken config can significantly degrade PBS performance. To mitigate this, exponential backoff has been implemented for parsing. The following properties are available for backoff configuration:
hooks.pb-rule-engine.rule-parsing.retry-initial-delay-millis - initial delay in milliseconds
hooks.pb-rule-engine.rule-parsing.retry-max-delay-millis - maximum delay in milliseconds
hooks.pb-rule-engine.rule-parsing.retry-exponential-factor - backoff factor
hooks.pb-rule-engine.rule-parsing.retry-exponential-jitter - jitter

🧪 Test plan

Unit tests and funcitonal tests.

🏎 Quality check

  • Are your changes following our code style guidelines?
  • Are there any breaking changes in your code?
  • Does your test coverage exceed 90%?
  • Are there any erroneous console logs, debuggers or leftover code in your changes?

CTMBNara
CTMBNara previously approved these changes Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants