-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CBG-3788 Support HLV operations in BlipTesterClient #6689
Conversation
Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all makes sense.
Couple of inline suggestions but they're not critical, feel free to follow up with them in another PR.
rest/blip_client_test.go
Outdated
doc.body = body | ||
if doc.revMode == revModeHLV { | ||
_ = doc.HLV.AddVersion(VersionFromRevID(revID)) | ||
doc.body = body |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done on line 142
doc.body = body |
rest/blip_client_test.go
Outdated
doc.revHistory = append(doc.revHistory, "") | ||
copy(doc.revHistory[1:], doc.revHistory) | ||
doc.revHistory[0] = revID |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think this is equivalent ("Push Front/Unshift" in SliceTricks)
doc.revHistory = append(doc.revHistory, "") | |
copy(doc.revHistory[1:], doc.revHistory) | |
doc.revHistory[0] = revID | |
doc.revHistory = append([]string{revID}, doc.revHistory...) |
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
* CBG-3788 Support HLV operations in BlipTesterClient Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document. BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test). Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID. * Fixes based on PR review
CBG-3788
Switches the BlipTesterCollectionClient to maintain client HLV and (linear) revtree per document. Switches the docs struct to a map of a new BlipTesterDoc struct, instead of a map of revs per document.
BlipTesterDoc still maintains a history of all rev messages received (revMessageHistory) to support test evaluation of received messages, but also defines a linear revTreeId history or an HLV (depending on protocol enabled for the test).
Includes a refactor of revID to revTreeID in RevAndVersion, as a step toward standardizing ‘revID’ as the generic property used during replication (which can be currentRev or cv), and revTreeID as a traditional revtree revision ID.
Integration Tests
GSI=true,xattrs=true
https://jenkins.sgwdev.com/job/SyncGateway-Integration/2304/