Closed DRK3 closed 2 years ago
Merging #237 (e4d9a05) into main (16a2b0b) will decrease coverage by
1.20%
. The diff coverage is88.88%
.
@@ Coverage Diff @@
## main #237 +/- ##
==========================================
- Coverage 86.25% 85.04% -1.21%
==========================================
Files 13 13
Lines 1797 1558 -239
==========================================
- Hits 1550 1325 -225
+ Misses 152 145 -7
+ Partials 95 88 -7
Impacted Files | Coverage Δ | |
---|---|---|
cmd/edv-rest/startcmd/start.go | 80.96% <ø> (+0.40%) |
:arrow_up: |
pkg/edvprovider/edvprovider.go | 89.81% <87.50%> (-2.01%) |
:arrow_down: |
pkg/restapi/operation/operations.go | 85.95% <100.00%> (-0.10%) |
:arrow_down: |
pkg/restapi/operation/respond.go | 79.79% <0.00%> (-3.63%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 16a2b0b...e4d9a05. Read the comment docs.
Improvements to the way documents are stored in the underlying database. This new mechanism is much more efficient. Before, when using encrypted attributes, "mapping documents" needed to be created - they are no longer needed, which reduces storage bloat and will improve query speed as it eliminates the need to multiples calls to the underlying database.
This new mechanism lacks a way to create indexes in the underlying database. The current EDV spec does not have a way to do this. In another commit, I will add a mechanism for this and then propose it in the spec.
Removed support for the "unique" tag that can be used on attribute pairs as I don't currently have a way to support this with this new mechanism. I've created a follow-up issue on GitHub.
Data Vault Configurations are now directly stored in the stores used for their associated vault instead of being put in a central store common to all vaults. The reason for this is because MongoDB won't create a database until there is an actual storage call (like a Put or Create Index type of call). This is a problem since other EDV server instances (like in a load balanced type of configuration) can't detect whether a vault exists or not. Another scenario is if an EDV server goes down after creating the vault but before the user has stored their first document. The user will have a vault ID but the MongoDB database won't have any record of it. Before this commit, there was an index created for the "mapping documents" on every new vault creation which ended up ensuring the underlying database would be created. Since the "mapping documents" are now gone (and the index with it), I needed a new way to force the database creation. Storing the data vault configuration in the new vault store solves this issue and makes sense anyway.
With the removal of the central location of Data Vault Configurations, the ReferenceIDs are no longer checked to ensure they're unique. This is OK since we're not using that and it's not required by the spec anyway.
Signed-off-by: Derek Trider Derek.Trider@securekey.com