DescriptionFixed Implicit Permanent Folders issues found when testing with alpha server
This addresses two more issues found when testing the client with
Sync Server Alpha server with Implicit Permanent Folders feature
enabled. Additionally this change bumps the protocol version
to
45 - the version required on the server to turn this feature on.
The issues fixed are:
1) Directory::InitialSyncEndedForType expected the permanent
folder to be created from a server update. That isn't the case anymore.
Permanent folders are created on demand on the client when
processing updates. I've simplified the check to skip the base
version check.
2) In Traversal::SupportsHierarchy the check for whether an
item supports hierarchy was based on presence of Parent ID
field. That cased an issue committing a new DeviceInfo which
still had Parent ID specified - an attempt to commit the client
side created DeviceInfo permanent folder to the server.
Even if the type uses implicit permanent folders it might for a
transition period still have a mix of items with and without
the parent ID. The hierarchy traversal for commit
should use a static check based on the type rather than
checking each item's Parent ID individually.
I tested sync between a client with this fixes connected to the
Alpha server and a regular client connected to the regular server
and didn't find any further issues.
BUG=438313
Committed: https://crrev.com/b19a0a0cb7b4c2b1757c2fc828e10a93e55ac8ae
Cr-Commit-Position: refs/heads/master@{#331717}
Patch Set 1 #Patch Set 2 : Bumped protocol version #
Messages
Total messages: 8 (2 generated)
|