summaryrefslogtreecommitdiff
path: root/common/pkg/utils.py
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2016-07-22 19:53:21 +0200
committerdrebs <drebs@leap.se>2016-07-25 09:19:53 -0300
commit239273e765ffc2cf3f74dc2bdd6b7ac8a8acdccd (patch)
tree1b74f80737d71181b1017ff638f0a1fc5a4d7cd9 /common/pkg/utils.py
parentfda2acf0c8aaf123359470ced37f56e8223a3286 (diff)
[feat] do not use couch views for sync metadata
When compared to plain couch document get, the use of the simplest view functions takes around double the time, while the use of the simplest list function can take more than 8 times: get 100 docs: total: 0.440337 secs mean: 0.004403 query 100 views: total: 0.911425 secs mean: 0.009114 query 100 lists: total: 3.711537 secs mean: 0.037115 Besides that, the current implementation of sync metadata storage over couch is dependent of timestamps of document puts, what can lead to metadata corruption if the clock of the system is changed for any reason. Because of these reasons, we seek to change the implementation of database metadata. This commit implements the storage of transaction log data on couch documents with special ids, in the form "gen-xxxxxxxxxx", where the x's are replaced by the generation index. Each generation document holds a dictionary containing the generation, doc_id and transaction_id for the changed document. For each modified document, a generation document is inserted holding the transaction metadata.
Diffstat (limited to 'common/pkg/utils.py')
0 files changed, 0 insertions, 0 deletions