We'd like to wrap the legacy architecture (SyncableService) in the more modern USS architecture, in order to share the most important codepaths, and eventually get rid of the legacy directory altogether.
This will allow to:
- Unify logic across datatypes by avoiding subtle behavioral differences across architectures.
- Remove lots of code (~25K LoC), hence reduce maintenance cost and eng ramp-up time.
- Improve resource footprint (less RAM).
- Reduce the gap for datatypes to actually migrate to USS.
- Unblock a massive simplification of DataTypeManager and related classes, including controllers.
- Surface direct dependencies to Directory code outside datatypes (e.g. sync engine writting the cache GUID), which is a potential issue for ongoing efforts.
Design Doc (Googlers only): https://docs.google.com/document/d/14ScYZ0sop921gjBwXuReIEuQJlwftqkuSM1jMK_A_x4
Comment 1 by bugdroid1@chromium.org
, Sep 25