department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
283 stars 205 forks source link

Identify and document orphaned sidekiq jobs for ZSF initiative #94632

Closed rmtolmach closed 3 weeks ago

rmtolmach commented 1 month ago

partially written by AI

User Story

As a member of the Platform team, I want to identify any orphaned Sidekiq jobs in the vets-api repo so that we can support the Zero Silent Failure (ZSF) initiative.

Issue Description

As a follow up to https://github.com/department-of-veterans-affairs/va.gov-team/issues/92876, we need to review the 100+ Sidekiq jobs in vets-api. The goal is to identify any jobs that are not currently owned by any team and document them. Once the orphaned jobs are identified, we will pass this information on to OCTO for further action (maybe the IIR can take action?). Before proceeding, we should run this task by Matt Dingee to make him aware of the effort and make sure someone else isn't already doing this.

Jobs can be found in vets-api by looking in lib/sidekiq, app/sidekiq by running the command find . -name "*_job.rb" to find the ones in modules.

Tasks

Success Metrics

Acceptance Criteria

Validation

Assignee to add steps to this section. List the actions that need to be taken to confirm this issue is complete. Include any necessary links or context. State the expected outcome.

humancompanion-usds commented 1 month ago

@va-albers - Can you confirm that this is a task that is not being done by anyone else?

rmtolmach commented 1 month ago

I'm taking inventory of the sidekiq jobs in vets-api. I've organized them by how/where they're called.

Called only in PERIODIC JOBS Called elsewhere in the app Called in other Sidekiq job(s) Don't appear to be called anywhere directly Definitely not veteran-facing
AccountLoginStatisticsJob Form526ConfirmationEmailJob DeleteAttachmentJob DirectDepositEmailJob FeatureCleanerJob (Flipper)
BenefitsIntakeRemediationStatusJob Form526SubmissionFailedEmailJob CallbackUrlJob CreateCh31SubmissionsReportJob SidekiqStatsJob
BenefitsIntakeStatusJob GIBillFeedbackSubmissionJob NotificationsJob PollForm526PdfStatus DailyMaintenance (TUD)
DeleteOldPiiLogsJob ProcessFileJob SchedulerJob DisabilityCompensationForm::Metrics RotateKeysJob (KMS)
DeleteOldTransactionsJob VANotifyDdEmailJob BaseSubmissionJob DisabilityCompensationForm::JobStatus BatchInitiatorJob (KMS)
ExportBreakerStatus VANotifyEmailJob SubmitForm526 Create10203ApplicantDecisionLetters 8 files in CypressViewportUpdater
ExternalServicesStatusJob Submit1900Job DisabilityCompensationForm::Job VA5495, VA5490, VA1995, VA1995, VA1990n, VA1990e, VA1990, VA0994, VA0993 (education forms)
Form526FailureStateSnapshotJob SubmitDependentsPdfJob Form4142DocumentUploadFailureEmail NodEmailLoaderJob
Form526ParanoidSuccessPollingJob SignUpServiceUpdaterJob Form0781DocumentUploadFailureEmail McpNotificationEmailJob
Form526StatusPollingJob ProcessDataJob Form526DocumentUploadFailureEmail DeleteOldClaims (CentralMail)
Form526SubmissionProcessingReportJob AuditLoginJob EVSSDocument BGS::Job
InProgressFormCleaner AuditLogoutJob VA10203 ApplicationJob (CovidResearch)
LoadAverageDaysForClaimCompletionJob PhrUpdateJob VHASubmissionJob
TransactionalEmailAnalyticsJob SubmitCareerCounselingJob
DeleteExpiredSessionsJob SubmitBenefitsIntakeClaim
CertificateCheckerJob IncomeAndAssetsIntakeJob
DeleteValidationRecordsJob DocumentUpload
ValidationJob DocumentUploadSynchronous
DeleteOldUploads CreateIntentToFileJob
CacheGlobalDowntime SubmissionJob (HCA)
PollMaintenanceWindows LogEmailDiffJob
Form526DocumentUploadPollingJob EzrSubmissionJob
StdZipcodeImport AnonSubmissionJob
StdStateImport SubmissionJob (Form1010cg)
StdIncomeThresholdImport UpdateClaimFromRemoteJob
StdCountyImport RetrieveClaimsFromRemoteJob
GmtThresholdsImport RequestDecision
UserAcceptableVerifiedCredentialTotalsJob DocumentUpload (EVSS)
StdInstitutionImportJob DependentsApplicationJob
New1095BsJob UploadBddInstructions (DisabilityCompensationForm EVSS)
DeleteOldUploadsJob SubmitUploads (DisabilityCompensationForm EVSS)
DeleteOldClaims (EVSS) SubmitForm8940
Process10203Submissions SubmitForm0781
DeleteOldApplications SubmitForm526Cleanup
Create10203SpoolSubmissionsReport SubmitForm526AllClaim
CreateSpoolSubmissionsReport Form8940Document
CreateDailyFiscalYearToDateReport SendSchoolCertifyingOfficialsEmail
SavedClaimScStatusUpdaterJob EducationFacility
SavedClaimNodStatusUpdaterJob CreateDailyYearToDateReport
SavedClaimHlrStatusUpdaterJob CreateDailySpoolFiles
DeleteSavedClaimRecordsJob SubmitUpload (DecisionReview)
ExpandedSubmissionStateJob NodSendEmailJob
ScheduledBatchJob Form4142Submit
ExpandedScheduledSubmissionJob ParseNewStatementsJob
OptionsetDataJob NewStatementNotificationJob
TopicsDataJob SubmitForm4142Job
FindPoasJob SubmitCentralForm686cJob
MissingFormStatusJob SubmitForm686cJob
SubmitForm674Job
FlashUpdater (BGS)
VANotifyEmailJob
GenisisDeliveryJob
ConfirmationMailerJob
VBASubmissionJob
VBSSubmissionJob
SharepointSubmissionJob
ExpandedSubmissionJob
EnrollmentUploadJob
ExpandedRegistrationEmailJob
CovidVaccine::SubmissionJob
RegistrationEmailJob
PoaFormBuilderJob (v2)
PoaFormBuilderJob (V1)
PoaVBMSUploadJob
EvidenceWaiverBuilderJob
EmailJob (used A LOT)
IcnJob
UserAccountJob
PreCacheClaimsAndAppealsJob
Vet360LinkingJob
PdfSubmitJob
AppealReceivedJob
StatusUpdatedJob
PensionBenefitIntakeJob
ExtendSessionJob
Form526BackupSubmissionProcess
va-albers commented 1 month ago

@va-albers - Can you confirm that this is a task that is not being done by anyone else?

@humancompanion-usds I don't know if anyone else doing this. Bill Chapman did this previously though for Code Yellow 2 - he created a spreadsheet. Jeff Keene set up a project board for reviewing them as well.

rmtolmach commented 1 month ago

@va-albers - Can you confirm that this is a task that is not being done by anyone else?

@humancompanion-usds I don't know if anyone else doing this. Bill Chapman did this previously though for Code Yellow 2 - he created a spreadsheet. Jeff Keene set up a project board for reviewing them as well.

Thanks for the insight, Steve! I think I found the Board: https://github.com/orgs/department-of-veterans-affairs/projects/1166. Very nice!! I will try to identify any platform-owned and/or orphaned jobs so the Platform can move forward with any ZSF work that we need to do.

rmtolmach commented 1 month ago

Follow-up on some jobs that don't appear to be called anywhere directly. The board I reference is the one I linked in my previous comment. The sidekiq-exception-handling-review board.

rmtolmach commented 1 month ago

Now I'm searching the board by "owner". I will take a look at the ones categorized as owned by Platform, Orphaned (owner-(team):"Orphaned?") and the ones without an owner. There are 12 Platform, 36 orphaned, and 13 with no owner.

Platform

There were some listed as being owned by Platform that weren't. And some that had been deleted. I provided evidence of that and then changed the team. Listed below are the ones that are still considered "Platform". The only two that might need more attention are in bold.

No Owner

I either assigned a team, did not assign a team (but assured that it was not platform-owned). The two jobs below need our attention:

Orphaned?

I ended up assigning these two to Platform. Neither are veteran facing.

There are now only 21 items in the "Orphaned?" category (down from 36!). I was able to move some to done b/c they were deleted. And I was able to determine team assignment based on CODEOWNERS. The rest seem truly orphaned and/or definitely not Platform.

jwoodman5 commented 1 month ago

@rmtolmach is done with Platform owned and now focusing on orphaned jobs.

rmtolmach commented 1 month ago

Status: I went through all of the jobs on the board and edited my previous comment with updates. Any jobs Platform owns are labeled as such on the board (see here). Since they are "Drafts", I converted the Cyprus job to an issue (https://github.com/department-of-veterans-affairs/va.gov-team/issues/95353), and we already had an open issue for the PollMaintenance window job (#89547), and then I reached out to Jeff about TransactionalEmailAnalyticsJob here. The rest of the Platform-owned jobs are Low in priority so don't need to be addressed as part of this initiative.

The board was created in January, so I searched thorough the sidekiq history to see if anyone on the Platform had added a new job, but nope! No new Platform jobs.

rmtolmach commented 3 weeks ago

TransactionalEmailAnalyticsJob is not veteran facing. The only two jobs that have come out of this ticket are:

  1. https://github.com/department-of-veterans-affairs/va.gov-team/issues/89547
  2. https://github.com/department-of-veterans-affairs/va.gov-team/issues/95353

There are other jobs Platform owns that wouldn't be categorized as Silent Failures under the ZSF initiative because they're not veteran-facing and haven't ended up in the dead queue. Do we want to do an audit of these anyway?

rmtolmach commented 3 weeks ago

All items for this ticket are complete. I created this follow-up ticket for more work: