Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 175d54f3 authored by Sanath Kumar's avatar Sanath Kumar
Browse files

Add Abandoned job reschedule data to the atom

The number of times abandoned jobs got rescheduled and the boolean
indicator if the aggressive backoff policy was applied to such jobs will
be included in the existing job scheduler atom.

bug: 372529068
Test: atest CtsJobSchedulerTestCases
Test: atest FrameworksMockingServicesTests
Flag: android.app.job.handle_abandoned_jobs

Change-Id: I13ce36584d45527db2601687cd80d143b409764c
parent 874bddff
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -1981,7 +1981,12 @@ public class JobSchedulerService extends com.android.server.SystemService
                    jobStatus.getNumAppliedFlexibleConstraints(),
                    jobStatus.getNumDroppedFlexibleConstraints(),
                    jobStatus.getFilteredTraceTag(),
                    jobStatus.getFilteredDebugTags());
                    jobStatus.getFilteredDebugTags(),
                    jobStatus.getNumAbandonedFailures(),
                    /* 0 is reserved for UNKNOWN_POLICY */
                    jobStatus.getJob().getBackoffPolicy() + 1,
                    shouldUseAggressiveBackoff(jobStatus.getNumAbandonedFailures()));


            // If the job is immediately ready to run, then we can just immediately
            // put it in the pending list and try to schedule it.  This is especially
@@ -2422,7 +2427,11 @@ public class JobSchedulerService extends com.android.server.SystemService
                    cancelled.getNumAppliedFlexibleConstraints(),
                    cancelled.getNumDroppedFlexibleConstraints(),
                    cancelled.getFilteredTraceTag(),
                    cancelled.getFilteredDebugTags());
                    cancelled.getFilteredDebugTags(),
                    cancelled.getNumAbandonedFailures(),
                    /* 0 is reserved for UNKNOWN_POLICY */
                    cancelled.getJob().getBackoffPolicy() + 1,
                    shouldUseAggressiveBackoff(cancelled.getNumAbandonedFailures()));
        }
        // If this is a replacement, bring in the new version of the job
        if (incomingJob != null) {
+10 −2
Original line number Diff line number Diff line
@@ -546,7 +546,11 @@ public final class JobServiceContext implements ServiceConnection {
                    job.getNumAppliedFlexibleConstraints(),
                    job.getNumDroppedFlexibleConstraints(),
                    job.getFilteredTraceTag(),
                    job.getFilteredDebugTags());
                    job.getFilteredDebugTags(),
                    job.getNumAbandonedFailures(),
                    /* 0 is reserved for UNKNOWN_POLICY */
                    job.getJob().getBackoffPolicy() + 1,
                    mService.shouldUseAggressiveBackoff(job.getNumAbandonedFailures()));
            sEnqueuedJwiAtJobStart.logSampleWithUid(job.getUid(), job.getWorkCount());
            final String sourcePackage = job.getSourcePackageName();
            if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
@@ -1681,7 +1685,11 @@ public final class JobServiceContext implements ServiceConnection {
                completedJob.getNumAppliedFlexibleConstraints(),
                completedJob.getNumDroppedFlexibleConstraints(),
                completedJob.getFilteredTraceTag(),
                completedJob.getFilteredDebugTags());
                completedJob.getFilteredDebugTags(),
                completedJob.getNumAbandonedFailures(),
                /* 0 is reserved for UNKNOWN_POLICY */
                completedJob.getJob().getBackoffPolicy() + 1,
                mService.shouldUseAggressiveBackoff(completedJob.getNumAbandonedFailures()));
        if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
            Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_SYSTEM_SERVER,
                    JobSchedulerService.TRACE_TRACK_NAME, getId());