New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 867425 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Task



Sign in to add a comment

Cleanup SyncScheduler configuration retries

Project Member Reported by treib@chromium.org, Jul 25

Issue description

SyncScheduler::ScheduleConfiguration receives a ConfigurationParams argument which (among other things) contains two callbacks, a |ready_task| and a |retry_task|. If CanRunJobNow() is false at the time when the configuration is actually attempted (SyncSchedulerImpl::DoConfigurationSyncCycleJob), then the |retry_task| is run.

The |retry_task| eventually resolves to DataTypeManagerImpl::OnDownloadRetry, where it does... nothing!
The path is: DataTypeManagerImpl::StartNextDownload -> SyncBackendHostImpl::ConfigureDataTypes (inherited via SyncEngine->ModelTypeConfigurer) -> SyncBackendHostCore::DoConfigureSyncer -> SyncManagerImpl::ConfigureSyncer -> SyncSchedulerImpl::ScheduleConfiguration.

Since the whole thing eventually does nothing, let's get rid of all the useless wiring.

Note: SyncSchedulerImpl does keep the |pending_configuration_params_| around in the "retry", so *maybe* the configuration does actually get retried somehow? It's certainly not obvious, and it doesn't require all the wiring back to DataTypeManager.
 
Labels: -Type-Bug sync-fixit-2018q4 Type-Task
Owner: treib@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8fdd39db45ac8e24749d3c5dfeee16bd20593e09

commit 8fdd39db45ac8e24749d3c5dfeee16bd20593e09
Author: Marc Treib <treib@chromium.org>
Date: Mon Nov 19 11:03:29 2018

SyncScheduler: Remove retry_task and all its plumbing

The retry task was plumbed back from SyncSchedulerImpl through
SyncManagerImpl, SyncBackendHostCore, SyncBackendHostImpl to
DataTypeManagerImpl, where it did nothing.

Bug:  867425 
Change-Id: I1788573635da7c12062ed8aea094b74ef8349b0d
Reviewed-on: https://chromium-review.googlesource.com/c/1341532
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609235}
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/driver/data_type_manager_impl.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/driver/data_type_manager_impl.h
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/driver/glue/sync_backend_host_core.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/driver/glue/sync_backend_host_impl.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/driver/glue/sync_backend_host_impl.h
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/driver/glue/sync_backend_host_impl_unittest.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine/fake_sync_manager.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine/fake_sync_manager.h
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine/model_type_configurer.h
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine/sync_manager.h
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine_impl/sync_manager_impl.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine_impl/sync_manager_impl.h
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine_impl/sync_manager_impl_unittest.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine_impl/sync_scheduler.h
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine_impl/sync_scheduler_impl.cc
[modify] https://crrev.com/8fdd39db45ac8e24749d3c5dfeee16bd20593e09/components/sync/engine_impl/sync_scheduler_impl_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment