-
v1.0.0c22b23b9 · ·
v1.0.0 Takedown requests have now been processed in production! 🥳 New features: - The new `requested` field in recovery bundles list the origin URLs and SWHIDs given to `swh alter remove`. - The new `referencing` fields in recovery bundles list SWHIDs in the archive referenced by the objects contained in the bundle. This allows to ask for confirmation when restoring a bundle referencing missing objects. Correctness: - Ignore objects missing in storage when looking for references outside the set of candidates for removal. - Ignore objects missing in storage when checking if new references have been added during a removal. - Flush storage at every loop during restore. User experience: - Error out when an origin can’t be found. - Error out when the inventory phase gets stuck. - Improve progressbar displayed during the inventory phase. - Add progressbar to `swh alter list-candidates`. - Display timing information when removing from objstorages. - Fix spurious warnings when an object cannot be found in an objstorage. - Downgrade log messages about submodules to DEBUG level. - Improve the error messages when we find new references. - Remove the “Assuming […] is an origin URL” message. - Reword a couple of user-facing messages. Improve tests: - Use a storage config closer to production in tests. - Move common fixtures to conftest.py - Avoid configuring multiple loggers. - Reset loggers once we are done with CLI tests. - Parse SWHIDs earlier. - Remove a leftover print(). - Remove `storage_with_references_from_forked_origin` fixture. Code quality: - Use a dedicated object for `Remover.get_removable()` results. - Refactor `RecoveryBundleCreator` initialization. - Remove some unneeded SWHID to string conversions.
-
v0.1.0777b8312 · ·
v0.1.0 New features: - Allow resuming a removal from a recovery bundle - Add `swh alter list-candidates` to help masking operations - Add some progress bars for long-running operations - Ensure recovery bundle file can be written early - Account for an outdated graph (for example if objects have been removed from storage before the graph has been updated). - Add support for removing RawExtrinsicMetadata and ExtID Improve performances: - inventory: skip duplicates when adding edges from swh.graph - inventory: add nodes and edges from swh.graph in bulk - removable: hardcode a set of never-removable objects - removable: use max_matching_nodes instead of max_edges for neighbors query Improve tests: - Fix storage configuration in tests - Test logs in test_remover_restore_recovery_bundle - don't let the CliRunner catch exceptions Misc: - cli: Stop assuming a default configuration - Fix how we count restored objects - Refactor logging in CLI and in recovery_bundle module - cli: Move Remover initialization to its own function - removable: make debug logging of extra predecessors more useful - recovery_bundle: increase logging for failed external calls - subgraph: fix the _DEBUG_EDGE_INSERTION flag - Factor out handling SWHIDs depending on their object types - Fix typo in submodule predecessor logging - adapt to the renaming of model.TargetType to model.SnapshotTargetType - model: start using richer type for object_type - model: further cleanup the code and directly use BaseModel in typing - Add support for revision_log returning Revision objects - Apply swh-py-template v0.2.0
-
v0.0.68bd7246c · ·
v0.0.6 - HEADS UP! The configuration format has changed: each facility must now be listed according to its use. - Implement removal from objstorage. - Display an error if the secret sharing configuration is wrong before doing any processing in the `remove` command. - Clarify that we count SWHIDs in the removal confirmation message. - In `remove`, `--dry-run` can now stop before recovery bundle creation or the actual removal operation. - Ensure compatibility with rage v0.10.0. - Switch to mypy to 1.8.0.