-
Notifications
You must be signed in to change notification settings - Fork 59
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
Migrate runs to archive table according to user/group configuration #3619
Labels
Comments
ekazachkova
added a commit
that referenced
this issue
Aug 6, 2024
…nfiguration - API for archive run
ekazachkova
added a commit
that referenced
this issue
Aug 6, 2024
…nfiguration - manual archive runs
ekazachkova
added a commit
that referenced
this issue
Aug 8, 2024
…nfiguration - async and limit for query support
ekazachkova
added a commit
that referenced
this issue
Aug 8, 2024
…nfiguration - archive run statuses
ekazachkova
added a commit
that referenced
this issue
Aug 8, 2024
…nfiguration - archive run statuses
ekazachkova
added a commit
that referenced
this issue
Aug 9, 2024
…nfiguration - fix for async and transactions
ekazachkova
added a commit
that referenced
this issue
Aug 12, 2024
…nfiguration - debug logs extended
ekazachkova
added a commit
that referenced
this issue
Aug 12, 2024
…nfiguration - introduce common background jobs executor
ekazachkova
added a commit
that referenced
this issue
Aug 13, 2024
…3635) * Issue #3619: Migrate runs to archive table according to user/group configuration - API for archive run * Issue #3619: Migrate runs to archive table according to user/group configuration - monitoring part * Issue #3619: Migrate runs to archive table according to user/group configuration - manual archive runs * Issue #3619: Migrate runs to archive table according to user/group configuration - billing service * Issue #3619: Migrate runs to archive table according to user/group configuration - cleanups * Issue #3619: Migrate runs to archive table according to user/group configuration - test update * Issue #3619: Migrate runs to archive table according to user/group configuration - async and limit for query support * Issue #3619: Migrate runs to archive table according to user/group configuration - archive run statuses * Issue #3619: Migrate runs to archive table according to user/group configuration - archive run statuses * Issue #3619: Migrate runs to archive table according to user/group configuration - fix for async and transactions * Issue #3619: Migrate runs to archive table according to user/group configuration - debug logs extended * Issue #3619: Migrate runs to archive table according to user/group configuration - introduce common background jobs executor * Issue #3619: Migrate runs to archive table according to user/group configuration - owners batch
NShaforostov
added a commit
that referenced
this issue
Aug 30, 2024
Merged
NShaforostov
added a commit
that referenced
this issue
Sep 2, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Background
Cloud Pipeline does not allow remove runs and it would be nice to support it because a huge runs count can affect queries performance.
billing service
may require runs data for whole period. Therefore, API shall be able to return archived runs with statuses.Approach
1. API
run_archive_days
for users or groups. The name of this field shall be managed viasystem.archive.run.metadata.key
preference. This value indicates the number of days to archive runs - all runs that finished more thatN
days ago shall be archived for user or group entity that provides this metadata value.run_archive
with the same structure aspipeline_run
archive_run_status_change
with the same structure asrun_status_change
archive
flag forGET run/activity
API method. If enabled runs data fromrun_archive
andarchive_run_status_change
tables shall be loaded as well for requested period. Default: off.POST /runs/archive
. Monitoring service shall call this method.This operation available for admin users only.
Steps:
run_archive_days
keyDB table dependents:
run_user
pipeline_run_log
restart_run
pipeline_run_service_url
run_status_change
stop_serverless_run
POST /runs/archive/owners
that migrates runs for specified user or group. Request parameters:ownerSid
- user name/id or group name/idprincipal
- true for usersdays
- optional, if not specified the number of days shall be loaded from the metadata. If no corresponding metadata is specified for the requested user or group, an error shall occur. If days parameter specified this value shall be used to process runs regardless of whether the value is present in the metadata.This operation shall be available for admin users only.
NOTES:
BackgroundJobs
. The executor's pool size shall be changed viabackground.api.jobs.pool.size=${CP_API_BACKGROUND_JOBS_POOL_SIZE:10}
application property.2.1.
owners
- let's load runs by owners partially. Add a new system preferencesystem.archive.run.owners.chunk.size
(default: 100) to change the chunk size.2.2.
runs
- let's load master runs with limit and delete dependents for limited data only. Add a new system preferencesystem.archive.run.runs.chunk.size
(default: 1000) to change this limit.2. Monitoring service
Add a new monitoring class that initiates runs data migration. Support preferences:
monitoring.archive.runs.delay
(default: 1 day in ms) - to manipulate the monitoring frequencymonitoring.archive.runs.enable
(default: off) - to enable archive runs monitor3. Billing service
Load
GET run/activity
witharchive
flag to support archive runs pricing.The text was updated successfully, but these errors were encountered: