Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Issue 280983002: Implement sync in the NonBlockingTypeProcessor (Closed)

Created:
6 years, 7 months ago by rlarocque
Modified:
6 years, 7 months ago
Reviewers:
Nicolas Zea
CC:
chromium-reviews, tim+watch_chromium.org, haitaol+watch_chromium.org, maniscalco+watch_chromium.org, pavely
Visibility:
Public.

Description

Implement sync in the NonBlockingTypeProcessor Introduces the NonBlockingTypeProcessor's sync logic. When combined with the NonBlockingTypeProcessorCore's sync logic (which will be introduced in a follow-up commit), this will be an alternative to the existing sync engine implemented with DirectoryUpdateHandler and DirectoryCommitContributor. Adds non_blocking_sync_common.h, which defines structs to be used to pass messages between the processor and processor core. Adds DataTypeState as a parameter to the processor to processor core connection methods. Eventually this will be used to initialize the processor core with state that the processor loaded from disk. Adds a lot of unit tests and unit test framework intrastructure. The NonBlockingTypeProcessor and NonBlockingTypeProcessorCore's communications with each other will be very racy. These tests are intended to help manage the complexity this will cause by allowing us to test all the possible race conditions individually. BUG=351005 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=272329

Patch Set 1 #

Total comments: 5

Patch Set 2 : Add some comments #

Total comments: 54

Patch Set 3 : Rebase #

Patch Set 4 : Addressed many comments #

Total comments: 2

Patch Set 5 : Add some expectations on non_unique_name #

Total comments: 1

Patch Set 6 : More review fixes #

Total comments: 2

Patch Set 7 : Fix typo #

Patch Set 8 : Rebase #

Patch Set 9 : Fix gyp error and some tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1559 lines, -51 lines) Patch
M components/sync_driver/non_blocking_data_type_controller_unittest.cc View 1 5 chunks +35 lines, -5 lines 0 comments Download
A sync/engine/model_thread_sync_entity.h View 1 2 3 4 5 1 chunk +186 lines, -0 lines 0 comments Download
A sync/engine/model_thread_sync_entity.cc View 1 2 3 4 5 1 chunk +157 lines, -0 lines 0 comments Download
A sync/engine/model_thread_sync_entity_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +178 lines, -0 lines 0 comments Download
A sync/engine/non_blocking_sync_common.h View 1 2 3 4 5 6 1 chunk +98 lines, -0 lines 0 comments Download
A sync/engine/non_blocking_sync_common.cc View 1 chunk +33 lines, -0 lines 0 comments Download
M sync/engine/non_blocking_type_processor.h View 1 2 3 3 chunks +42 lines, -7 lines 0 comments Download
M sync/engine/non_blocking_type_processor.cc View 1 2 3 4 5 5 chunks +142 lines, -7 lines 0 comments Download
M sync/engine/non_blocking_type_processor_core.h View 2 chunks +4 lines, -0 lines 0 comments Download
M sync/engine/non_blocking_type_processor_core.cc View 1 chunk +5 lines, -0 lines 0 comments Download
A sync/engine/non_blocking_type_processor_core_interface.h View 1 1 chunk +24 lines, -0 lines 0 comments Download
A sync/engine/non_blocking_type_processor_core_interface.cc View 1 chunk +16 lines, -0 lines 0 comments Download
A sync/engine/non_blocking_type_processor_unittest.cc View 1 2 3 4 1 chunk +524 lines, -0 lines 0 comments Download
M sync/internal_api/public/sync_core_proxy.h View 2 chunks +2 lines, -0 lines 0 comments Download
M sync/internal_api/public/test/null_sync_core_proxy.h View 1 chunk +1 line, -0 lines 0 comments Download
M sync/internal_api/sync_core.h View 2 chunks +5 lines, -3 lines 0 comments Download
M sync/internal_api/sync_core.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M sync/internal_api/sync_core_proxy_impl.h View 2 chunks +2 lines, -0 lines 0 comments Download
M sync/internal_api/sync_core_proxy_impl.cc View 2 chunks +9 lines, -7 lines 0 comments Download
M sync/internal_api/test/null_sync_core_proxy.cc View 1 chunk +2 lines, -1 line 0 comments Download
M sync/sessions/model_type_registry.h View 2 chunks +2 lines, -0 lines 0 comments Download
M sync/sessions/model_type_registry.cc View 1 2 3 4 5 3 chunks +49 lines, -7 lines 0 comments Download
M sync/sessions/model_type_registry_unittest.cc View 1 2 3 4 5 5 chunks +32 lines, -12 lines 0 comments Download
M sync/sync_core.gypi View 1 chunk +6 lines, -0 lines 0 comments Download
M sync/sync_tests.gypi View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
rlarocque
Here's the first big chunk of the sync engine implementation. Please review. https://codereview.chromium.org/280983002/diff/1/sync/engine/model_thread_sync_entity_unittest.cc File sync/engine/model_thread_sync_entity_unittest.cc ...
6 years, 7 months ago (2014-05-13 23:20:29 UTC) #1
Nicolas Zea
Does this patch account for any of the concerns/discussions we had the other day, particularly ...
6 years, 7 months ago (2014-05-15 21:58:54 UTC) #2
Nicolas Zea
+CC Nick/Pavel
6 years, 7 months ago (2014-05-15 21:59:28 UTC) #3
rlarocque
On 2014/05/15 21:58:54, Nicolas Zea wrote: > Does this patch account for any of the ...
6 years, 7 months ago (2014-05-15 22:28:45 UTC) #4
rlarocque
https://codereview.chromium.org/280983002/diff/20001/sync/sessions/model_type_registry.cc File sync/sessions/model_type_registry.cc (right): https://codereview.chromium.org/280983002/diff/20001/sync/sessions/model_type_registry.cc#newcode22 sync/sessions/model_type_registry.cc:22: class NonBlockingTypeProcessorCoreWrapper On 2014/05/15 21:58:55, Nicolas Zea wrote: > ...
6 years, 7 months ago (2014-05-15 22:28:54 UTC) #5
maniscalco
On 2014/05/15 22:28:45, rlarocque wrote: > On 2014/05/15 21:58:54, Nicolas Zea wrote: > > Does ...
6 years, 7 months ago (2014-05-16 20:37:19 UTC) #6
rlarocque
On 2014/05/16 20:37:19, maniscalco wrote: > On 2014/05/15 22:28:45, rlarocque wrote: > > On 2014/05/15 ...
6 years, 7 months ago (2014-05-19 20:32:56 UTC) #7
Nicolas Zea
https://codereview.chromium.org/280983002/diff/20001/sync/engine/model_thread_sync_entity.h File sync/engine/model_thread_sync_entity.h (right): https://codereview.chromium.org/280983002/diff/20001/sync/engine/model_thread_sync_entity.h#newcode65 sync/engine/model_thread_sync_entity.h:65: // this item. mention that this is a subset ...
6 years, 7 months ago (2014-05-19 23:54:15 UTC) #8
rlarocque
Here's a bunch of responses and an updated patch. Your comment about non_unique_name made me ...
6 years, 7 months ago (2014-05-20 01:39:46 UTC) #9
rlarocque
Added some expectations for non_unique_names. I decided against plumbing adding more support for non_unique_names in ...
6 years, 7 months ago (2014-05-20 17:29:33 UTC) #10
Nicolas Zea
https://codereview.chromium.org/280983002/diff/20001/sync/engine/model_thread_sync_entity.h File sync/engine/model_thread_sync_entity.h (right): https://codereview.chromium.org/280983002/diff/20001/sync/engine/model_thread_sync_entity.h#newcode173 sync/engine/model_thread_sync_entity.h:173: // client ID. We don't use it for much ...
6 years, 7 months ago (2014-05-20 21:51:07 UTC) #11
rlarocque
Patch updated. PTAL. https://codereview.chromium.org/280983002/diff/20001/sync/engine/model_thread_sync_entity.h File sync/engine/model_thread_sync_entity.h (right): https://codereview.chromium.org/280983002/diff/20001/sync/engine/model_thread_sync_entity.h#newcode173 sync/engine/model_thread_sync_entity.h:173: // client ID. We don't use ...
6 years, 7 months ago (2014-05-20 22:29:21 UTC) #12
Nicolas Zea
LGTM! https://codereview.chromium.org/280983002/diff/100001/sync/engine/non_blocking_sync_common.h File sync/engine/non_blocking_sync_common.h (right): https://codereview.chromium.org/280983002/diff/100001/sync/engine/non_blocking_sync_common.h#newcode26 sync/engine/non_blocking_sync_common.h:26: // A data type context. Sent to the ...
6 years, 7 months ago (2014-05-21 22:20:07 UTC) #13
rlarocque
https://codereview.chromium.org/280983002/diff/100001/sync/engine/non_blocking_sync_common.h File sync/engine/non_blocking_sync_common.h (right): https://codereview.chromium.org/280983002/diff/100001/sync/engine/non_blocking_sync_common.h#newcode26 sync/engine/non_blocking_sync_common.h:26: // A data type context. Sent to the server ...
6 years, 7 months ago (2014-05-21 22:39:33 UTC) #14
rlarocque
The CQ bit was checked by rlarocque@chromium.org
6 years, 7 months ago (2014-05-21 22:39:41 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rlarocque@chromium.org/280983002/130001
6 years, 7 months ago (2014-05-21 22:43:50 UTC) #16
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-22 09:04:16 UTC) #17
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-05-22 09:30:11 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/187104)
6 years, 7 months ago (2014-05-22 09:30:12 UTC) #19
rlarocque
The CQ bit was checked by rlarocque@chromium.org
6 years, 7 months ago (2014-05-22 17:18:19 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rlarocque@chromium.org/280983002/80002
6 years, 7 months ago (2014-05-22 17:21:06 UTC) #21
commit-bot: I haz the power
6 years, 7 months ago (2014-05-22 21:40:13 UTC) #22
Message was sent while issue was closed.
Change committed as 272329

Powered by Google App Engine
This is Rietveld 408576698