Right now we have SyncErrors all over ModelTypeChangeProcessor methods and ModelTypeSyncBridge's callbacks. These are pretty much uniformly unused. If the model type has a synchronous implementation, then it likely cannot encounter an error. If it is asynchronous, then the processor has already lost all the context that would allow it to do anything intelligent and retry.
Lets remove SyncErrors from these interfaces, and allow the model type to at any point tell the processor that it's encountered an error. If the processor was waiting for metadata, then it will want to try to send it on through start_callback_.
Comment 1 by pnoland@chromium.org
, Nov 2 2016