Verify Hackathon: Dead Code Hunt
Problem to Solve
Find and remove any unused, deprecated, dead code! Get issue weight
per merge request.
Issues
Issue/MR | Assignee | Description | Amount deleted (LOC, data size) current and final |
---|---|---|---|
Trigger Token's ref attribute is not used (#299985 - closed) | @fabiopitino | Unused column with NULL values | Nothing now but evetually will remove a column across 118,000+ rows |
Remove dead code surrounding `gitlab_ci` settings (#26062 - closed) | @avielle | LOC +0, -10
|
|
Remove from `job/request` the `job_age` (#334253 - closed) | @fabiopitino | Unused feature: API param and related code - Scheduled for removal in %16.0 | N/A |
Removing Ci::LegacyStage (#238586 - closed) | @lauraX | LOC +48 -561
|
|
Remove unused CI code (!91066 - merged) | @fabiopitino | Unused methods/constants | LOC +1, -25
|
#344793 (closed) | @avielle | Unused column: `additional_amount_available | |
#366333 (closed) / !91328 (closed) | @drew | tmp_index_ci_job_artifacts_on_id_where_trace_and_expire_at | DB 8 KB
|
!91031 (merged) | @mbobin | unused code, refactoring | LOC +9, -93
|
!91047 (merged) | @mbobin | unused column | LOC +15, -23
|
!91258 (merged) | @mbobin | unused index | DB 4421 MB
|
!91267 (merged) | @mbobin | This adds more code(DB migration), but it should allow removal in the next release. |
+27, -1 , but should allow the removal of 154 LOC in the next release |
!91268 (closed) | @morefice | unused feature flag | |
!91473 (merged) | @morefice | unused index | |
!91470 (merged) | @morefice | unused index | |
#366482 (closed) | @alberts-gitlab | unused worker - depends on FF removal first !91336 (merged) | |
#366481 (closed) | @alberts-gitlab | unused worker - depends on FF removal first !91336 (merged) | |
Enable FF for self managed !91336 (merged) | @alberts-gitlab | feature flag has been enabled on GitLab.com but not self managed - need to be enabled and released before deprecated workers #366482 (closed) and #366481 (closed) can be removed | |
Remove unused Projects::JobsController#status (!91393 - merged) | @fabiopitino | Unused controller action and serializer method | LOC +2, -85
|
!91576 (merged) | @mbobin | no longer used method of storing variables | LOC +5, -39
|
!91595 (merged) | @mbobin | old queuing code | LOC +34, -549
|
Some ideas from tech debt issues:
- Drop column `additional_amount_available` for C... (#344793 - closed)
- Remove legacy indices from ci_builds (#271620 - closed)
- Remove legacy columns from ci_builds (#271619 - closed) - previous analysis also in &4685 (comment 435280900)
- Remove deprecated service API params (#222808 - closed)
- Drop deprecated support for null `scheduling_type` (#208228)
- Remove ExpireBuildInstanceArtifactsWorker (#35907 - closed)
- Backend: Consider removing `index_ci_builds_on_... (#358117 - closed)
- Consider removing `index_ci_builds_on_user_id_a... (#358116 - closed)
- Remove ExpirePipelineCacheWorker and ExpireJobC... (#350708 - closed)
- Remove `token` column from `ci_builds` (#339192 - closed)
- Feature flags??
- Find more through code coverage reports - Extra points for unlisted items.
Why this is important?
Dead code not only brings a maintenance cost but also a cognitive cost for developers understanding the code. Unused data represents a cost in terms of resources and sometimes performance.
Requested expertise
Anyone who enjoys the feeling of removing code.
Effort expected
It can be a time bound exercise.
Artifacts to be produced
We can share and celebrate the amount of code and data we deleted.
Edited by Fabio Pitino