Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(recordings): remove hub dependency on recordings ingestion #14418

Merged
merged 8 commits into from
Feb 28, 2023

Conversation

hazzadous
Copy link
Contributor

@hazzadous hazzadous commented Feb 27, 2023

Hub is a grab bag of depencencies that are not all required for
recordings ingestion. To keep the recordings ingestion lean, we
remove the hub dependency and use the postgres and kafka client
directly.

This should increase the availability of the session recordings
workload, e.g. it should not go down it Redis or ClickHouse is down.

The driver behind this is that we're doing a whole load of things on the
recording ingestion pods that we don't need to. It hurts startup times
and as a result autoscaling. And it hurts e.g. resources on ClickHouse
and Redis. It hurts availability of the recordings ingestion.

I've also added a healthcheck for session recordings that will mean that
recordings pods are restarted if they get into trouble ingesting.

Note that I have refactored some of the db.ts to call out to specific calls
in e.g. teamManager, which should have the most knowledge of what teams
look like in the database, rather than including it in the catch all db. there
isn't much benefit to decoupling that from the teamManager and just means
that it is confusing to follow the code paths related to it.

Problem

Changes

👉 Stay up-to-date with PostHog coding conventions for a smoother review.

How did you test this code?

Harry Waye added 7 commits February 27, 2023 14:01
Hub is a grab bag of depencencies that are not all required for
recordings ingestion. To keep the recordings ingestion lean, we
remove the hub dependency and use the postgres and kafka client
directly.

This should increase the availability of the session recordings
workload, e.g. it should not go down it Redis or ClickHouse is down.
@hazzadous hazzadous requested review from a team and benjackwhite February 27, 2023 16:33
@hazzadous
Copy link
Contributor Author

I’m sorry for the very long pr, I will happily accept reviews that suggest breaking this up to smaller parts

@hazzadous hazzadous enabled auto-merge (squash) February 28, 2023 10:08
@hazzadous hazzadous merged commit dcc9acc into master Feb 28, 2023
@hazzadous hazzadous deleted the chore/remove-hub-dependency-from-recordings branch February 28, 2023 10:23
fuziontech added a commit that referenced this pull request Feb 28, 2023
* master: (53 commits)
  fix: cut the undeterministic snapshots (#14461)
  feat(hogql): Events table based on hogql (#14315)
  fix(breakdown): ensure breakdown sort can sort through values of different types (#14459)
  feat(capture): gracefully catch non-string tokens (#14453)
  chore(plugin-server): add healthcheck logging for failure (#14455)
  fix(tests): Safer migrations (#14452)
  revert: "fix(person-overrides): add constraints to catch race conditions" (#14445)
  dev(codespaces): update to python3.10 (#14449)
  chore(deps): Update posthog-js to 1.50.0 (#14448)
  feat(capture): support LIGHTWEIGHT_CAPTURE_ENDPOINT_ENABLED_TOKENS=* (#14421)
  chore: upgrade d3 (#14442)
  fix(person-overrides): add constraints to catch race conditions (#14277)
  feat(cohorts): Remove postgres calculations for flags (#14272)
  feat(capture): check token shape before team resolution too (#14439)
  feat: dashboard templates (#14322)
  feat: add a 'What's New?' button to the dropdown (#14379)
  chore(recordings): don't DLQ on PostgreSQL errors (#14438)
  chore: update autocapture attribute capture (#14435)
  chore(recordings): remove hub dependency on recordings ingestion (#14418)
  chore(deps): Update posthog-js to 1.49.0 (#14436)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant