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

Issue 651415 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature

Blocked on:
issue 650258



Sign in to add a comment

Merge FakeSyncServer and LoopbackServer

Project Member Reported by pastarmovj@chromium.org, Sep 29 2016

Issue description

Evaluate and if possible replace the FakeSyncServer with the LoopbackServer. 

The LoopbackServer impl is based on the FakeServer impl and can technically do at least as much as it. The part that is missing is a way to inspect and modify and verify the server state which is needed for tests but not for production code. 
 
Cc: sky@chromium.org
Note to self. Make sure recent changes to the FakeServer are not lost e.g. https://codereview.chromium.org/2564663003/
Cc: -sky@chromium.org s...@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, May 31 2017

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

commit 092f21a0129935b175abf418e957e3b644bc23d3
Author: pastarmovj <pastarmovj@chromium.org>
Date: Wed May 31 09:52:11 2017

[sync] Pull the Sieve implementation from FakeServer to LoopbackServer.

This is a clone of https://codereview.chromium.org/2564663003 in
preparation for replacing the FakeServer impl with the LoopbackServer.
It should also improve the loopack server main purpose.

Original description of the clonned CL:
"Fake server now updates each model type's progress markers independently.

 Previously the fake server used to update all of the progress markers
 to the highest single version of an entity being returned in a
 GetUpdates response. This caused odd behaviors when clients asked for
 different sets of model types. This in turn resulted in tests failing
 when they never agreed on some progress marker's version that wasn't
 actually being actively updated.

 This change separates all model types version/progress markers in the
 fake server code. This should help clients that are being enabled
 mid-test to get match progress markers when priority and non-priority
 types are requested across separate GetUpdates messages.

 Also removed some special case logic around filtering deleted items. It
 is unclear what purpose that logic was serving."

BUG= 651415 
TEST=components_unittests, browser_tests

Review-Url: https://codereview.chromium.org/2910993002
Cr-Commit-Position: refs/heads/master@{#475859}

[modify] https://crrev.com/092f21a0129935b175abf418e957e3b644bc23d3/components/sync/engine_impl/loopback_server/loopback_server.cc

Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 13 2017

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

commit 4993d7744127a9b1367c2834908d97397a372c29
Author: pastarmovj <pastarmovj@chromium.org>
Date: Tue Jun 13 07:27:32 2017

Replace FakeServer's implementation with LoopbackServer invocations.

This makes FakeServer a debugging adapter for LoopbackServer. It mostly
forwards calls to the actual implementation in the LoopbackServer but
also allows for simulating various exceptional conditions and deeper
ispection in the data flow.

BUG= 651415 
TEST=All tests still pass.

Review-Url: https://codereview.chromium.org/2909173003
Cr-Commit-Position: refs/heads/master@{#478921}

[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/chrome/browser/sync/test/integration/single_client_bookmarks_sync_test.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/chrome/browser/sync/test/integration/single_client_extensions_sync_test.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/chrome/browser/sync/test/integration/single_client_password_manager_setting_migrator_service_sync_test.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/chrome/browser/sync/test/integration/single_client_wallet_sync_test.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/BUILD.gn
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/loopback_server.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/loopback_server.h
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/loopback_server_entity.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/persistent_permanent_entity.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/persistent_permanent_entity.h
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/persistent_tombstone_entity.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/persistent_tombstone_entity.h
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/persistent_unique_client_entity.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/engine_impl/loopback_server/persistent_unique_client_entity.h
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/test/fake_server/android/fake_server_helper_android.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/test/fake_server/android/fake_server_helper_android.h
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/bookmark_entity.cc
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/bookmark_entity.h
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/test/fake_server/bookmark_entity_builder.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/test/fake_server/bookmark_entity_builder.h
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/test/fake_server/fake_server.cc
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/components/sync/test/fake_server/fake_server.h
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/fake_server_entity.cc
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/fake_server_entity.h
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/permanent_entity.cc
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/permanent_entity.h
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/tombstone_entity.cc
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/tombstone_entity.h
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/unique_client_entity.cc
[delete] https://crrev.com/f88c5b041d56422d91ee46d144833efa3d152f42/components/sync/test/fake_server/unique_client_entity.h
[modify] https://crrev.com/4993d7744127a9b1367c2834908d97397a372c29/ios/chrome/test/app/sync_test_util.mm

Status: Fixed (was: Started)
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 13 2017

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

commit 3806e2ca7233962157119ad8ac1768fc528013b9
Author: grunell <grunell@chromium.org>
Date: Tue Jun 13 09:08:35 2017

Revert of [sync] Replace FakeServer's implementation with LoopbackServer invocations. (patchset #8 id:140001 of https://codereview.chromium.org/2909173003/ )

Reason for revert:
Breaks several bots.

Example: https://uberchromegw.corp.google.com/i/chromium.linux/builders/Linux%20Tests/builds/57987

Original issue's description:
> Replace FakeServer's implementation with LoopbackServer invocations.
>
> This makes FakeServer a debugging adapter for LoopbackServer. It mostly
> forwards calls to the actual implementation in the LoopbackServer but
> also allows for simulating various exceptional conditions and deeper
> ispection in the data flow.
>
> BUG= 651415 
> TEST=All tests still pass.
>
> Review-Url: https://codereview.chromium.org/2909173003
> Cr-Commit-Position: refs/heads/master@{#478921}
> Committed: https://chromium.googlesource.com/chromium/src/+/4993d7744127a9b1367c2834908d97397a372c29

TBR=zea@chromium.org,baxley@chromium.org,pastarmovj@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 651415 

Review-Url: https://codereview.chromium.org/2938553003
Cr-Commit-Position: refs/heads/master@{#478944}

[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/chrome/browser/sync/test/integration/single_client_bookmarks_sync_test.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/chrome/browser/sync/test/integration/single_client_extensions_sync_test.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/chrome/browser/sync/test/integration/single_client_password_manager_setting_migrator_service_sync_test.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/chrome/browser/sync/test/integration/single_client_wallet_sync_test.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/BUILD.gn
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/loopback_server.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/loopback_server.h
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/loopback_server_entity.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/persistent_permanent_entity.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/persistent_permanent_entity.h
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/persistent_tombstone_entity.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/persistent_tombstone_entity.h
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/persistent_unique_client_entity.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/engine_impl/loopback_server/persistent_unique_client_entity.h
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/android/fake_server_helper_android.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/android/fake_server_helper_android.h
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/bookmark_entity.cc
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/bookmark_entity.h
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/bookmark_entity_builder.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/bookmark_entity_builder.h
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/fake_server.cc
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/fake_server.h
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/fake_server_entity.cc
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/fake_server_entity.h
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/permanent_entity.cc
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/permanent_entity.h
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/tombstone_entity.cc
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/tombstone_entity.h
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/unique_client_entity.cc
[add] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/components/sync/test/fake_server/unique_client_entity.h
[modify] https://crrev.com/3806e2ca7233962157119ad8ac1768fc528013b9/ios/chrome/test/app/sync_test_util.mm

Status: Started (was: Fixed)
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 10 2017

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

commit b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc
Author: pastarmovj <pastarmovj@chromium.org>
Date: Mon Jul 10 14:16:55 2017

Reland - Replace FakeServer's implementation with LoopbackServer invocations.

This makes FakeServer a debugging adapter for LoopbackServer. It mostly
forwards calls to the actual implementation in the LoopbackServer but
also allows for simulating various exceptional conditions and deeper
inspection in the data flow.

BUG= 651415 
TEST=All tests still pass.
TBR=baxley@chromium.org

Review-Url: https://codereview.chromium.org/2969643002
Cr-Commit-Position: refs/heads/master@{#485261}

[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/chrome/browser/sync/test/integration/single_client_bookmarks_sync_test.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/chrome/browser/sync/test/integration/single_client_extensions_sync_test.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/chrome/browser/sync/test/integration/single_client_user_events_sync_test.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/chrome/browser/sync/test/integration/single_client_wallet_sync_test.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/BUILD.gn
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/loopback_server.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/loopback_server.h
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/loopback_server_entity.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/persistent_permanent_entity.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/persistent_permanent_entity.h
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/persistent_tombstone_entity.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/persistent_tombstone_entity.h
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/persistent_unique_client_entity.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/engine_impl/loopback_server/persistent_unique_client_entity.h
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/test/fake_server/android/fake_server_helper_android.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/test/fake_server/android/fake_server_helper_android.h
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/bookmark_entity.cc
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/bookmark_entity.h
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/test/fake_server/bookmark_entity_builder.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/test/fake_server/bookmark_entity_builder.h
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/test/fake_server/fake_server.cc
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/components/sync/test/fake_server/fake_server.h
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/fake_server_entity.h
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/permanent_entity.cc
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/permanent_entity.h
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/tombstone_entity.cc
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/tombstone_entity.h
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/unique_client_entity.cc
[delete] https://crrev.com/c76d136a3896d6cb15b833193035333a3f3ca161/components/sync/test/fake_server/unique_client_entity.h
[modify] https://crrev.com/b0a0d75dc28c61572f5a0e0b236c3ae5295d12fc/ios/chrome/test/app/sync_test_util.mm

Status: Fixed (was: Started)
Seems to be sticking this time.

Sign in to add a comment