Skip to content

feat: lower evergreen sitemap threshold#3760

Merged
idoshamun merged 2 commits intomainfrom
eng-1182-seo-p1-lower-evergreen-sitemap-threshold-from-50-to-10
Mar 31, 2026
Merged

feat: lower evergreen sitemap threshold#3760
idoshamun merged 2 commits intomainfrom
eng-1182-seo-p1-lower-evergreen-sitemap-threshold-from-50-to-10

Conversation

@idoshamun
Copy link
Copy Markdown
Member

Summary

  • lower the evergreen sitemap threshold from 50 to 10 upvotes for posts older than 90 days
  • paginate evergreen sitemap output and include evergreen pages in the sitemap index so larger result sets stay discoverable
  • keep existing quality filters in place and extend sitemap integration coverage for the new threshold and pagination behavior

Key Decisions

  • kept the low-reputation/private/banned/deleted filters unchanged to avoid leaking thin or spammy content
  • reused shared pagination helpers for post-based sitemaps so the evergreen change does not duplicate sitemap paging logic
  • verified the change with focused lint, build, and sitemap integration test runs in daily-api

Issue: ENG-1182 - [SEO P1] Lower evergreen sitemap threshold from 50 to 10 upvotes
https://linear.app/dailydev/issue/ENG-1182/seo-p1-lower-evergreen-sitemap-threshold-from-50-to-10-upvotes

Closes ENG-1182


Created by Huginn 🐦‍⬛

@pulumi
Copy link
Copy Markdown

pulumi Bot commented Mar 31, 2026

🍹 The Update (preview) for dailydotdev/api/prod (at fd3d33f) was successful.

✨ Neo Explanation

This is a standard application version rollout — all deployments, cron jobs, and migration jobs are being updated to run the latest build. The main watch point is the database and ClickHouse migrations, which will run against production data as part of this deployment.

Root Cause Analysis

A new version of the API application has been built and is being rolled out to production. Every workload is being updated from the previous build to the new one, with both database migration jobs (Postgres via TypeORM and ClickHouse) being replaced to run against the new image.

Dependency Chain

The new application image triggers updates across all Kubernetes resources that reference it:

  • 7 Deployments (API, background, worker, WebSocket, private, temporal, personalized digest) are being rolled out with the new image via a standard rolling update.
  • 38 CronJobs have their image and version label updated so future scheduled runs will use the new build.
  • 2 migration Jobs (DB and ClickHouse) tied to the previous build are deleted, and 2 new ones are created for the new build — this is how one-time migration jobs are versioned per deployment.

Risk Analysis

The DB and ClickHouse migration jobs involve schema changes against stateful databases. If a migration fails or introduces a breaking schema change, it could impact running services. The deployments themselves use rolling updates, so no downtime is expected from the application rollout. There is also a non-critical GCP credentials warning that doesn't block the deployment.

Resource Changes

    Name                                                       Type                           Operation
~   vpc-native-user-profile-analytics-clickhouse-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-bg-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-private-deployment                              kubernetes:apps/v1:Deployment  update
+   vpc-native-api-db-migration-d95526d2                       kubernetes:batch/v1:Job        create
~   vpc-native-channel-digests-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-opportunities-cron                 kubernetes:batch/v1:CronJob    update
-   vpc-native-api-clickhouse-migration-c0442f55               kubernetes:batch/v1:Job        delete
~   vpc-native-post-analytics-clickhouse-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-deployment                  kubernetes:apps/v1:Deployment  update
~   vpc-native-hourly-notification-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tags-str-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-user-companies-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-channel-highlights-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-channel-highlights-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-stale-user-transactions-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-gifted-plus-cron                          kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-images-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-history-day-clickhouse-cron      kubernetes:batch/v1:CronJob    update
~   vpc-native-update-highlighted-views-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-history-clickhouse-cron  kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-public-threshold-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-update-trending-cron                            kubernetes:batch/v1:CronJob    update
+   vpc-native-api-clickhouse-migration-d95526d2               kubernetes:batch/v1:Job        create
~   vpc-native-check-analytics-report-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-ws-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-expired-better-auth-sessions-cron         kubernetes:batch/v1:CronJob    update
~   vpc-native-sync-subscription-with-cio-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-update-views-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-rotate-weekly-quests-cron                       kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-tag-view-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-squad-posts-analytics-refresh-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-rotate-daily-quests-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-generate-search-invites-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-update-current-streak-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-daily-digest-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-updated-sync-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-user-posts-analytics-refresh-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-worker-job-deployment                           kubernetes:apps/v1:Deployment  update
... and 10 other changes

@idoshamun idoshamun merged commit df93bcb into main Mar 31, 2026
9 checks passed
@idoshamun idoshamun deleted the eng-1182-seo-p1-lower-evergreen-sitemap-threshold-from-50-to-10 branch March 31, 2026 11:27
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