Skip to content
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

Bugfix/arsn 368 id and principal on policy hotfix #2173

Conversation

benzekrimaha
Copy link
Contributor

No description provided.

jonathan-gramain and others added 25 commits February 23, 2023 23:00
* update lifecycle utils to support
* remove `console.log`
…sNoncurrentVersionSupport' into w/7.70/bugfix/ARSN-308/addLifecycleUtilsNoncurrentVersionSupport
- retain metric config types
- set asPrometheus as async fn
…m-client' into w/7.70/improvement/ARSN-313-upgrade-prom-client
Use a state machine for cleaner state management in DelimiterVersions
listing algo, with Typescript for enhanced type checking

Also, fix an inefficiency with listing params generated from the
KeyMarker parameter when there is a delimiter: it was listing more
keys than necessary when the KeyMarker equals a CommonPrefix.
Add support for null keys in versions listing:

- when they exist, output the null keys at the appropriate position in
  the Versions array

- handle KeyMarker/VersionIdMarker appropriately as if the null keys
  were real versions. This requires the listing to start at the very
  first version of the next key each time to see the null key, then
  potentially skip over the versions below VersionIdMarker using
  skip-scan optimization.
And a markdown file with summary of what the listing algo does
Collecting default metrics should not be the default, should be invoked when needed. This causes build errors when multiple components use Arsenal.
…' into tmp/octopus/w/7.70/improvement/ARSN-315-disable-default-metrics-collection
…n-7-10-46' into w/7.70/improvement/ARSN-315-bump-version-7-10-46
Port the listVersionKeys() helper from the Metadata backend to the
BucketFile backend, as a first step towards supporting null keys in
BucketFile.
Use "logger.addDefaultFields()" to set bucket, key and options to the
logs, which cleans up log calls.

Log repair errors with `log.error` unless it's ObjNotFound
Support null keys in BucketFile backend - null keys are the new way to
store null versions, where a single database key with a specific empty
version ID is used instead of referencing the null version via
"nullVersionId" in object metadata.

Add relevant unit tests to check the new behavior (those were copied
and mechanically adapted from the Metadata repository).
This new attribute will be set whenever a Cloudserver supporting null
keys sets the "isNull" attribute to a master key, along with it.

The purpose of this attribute is to allow Cloudserver to optimize by
not having to check and delete a null versioned key when the null
master has "isNull2" set, as it is guaranteed not to exist.

We need to introduce a new attribute to keep backward compatibility,
the naming is a bit unfortunate but it has the benefit of being short
and not too specific to a particular optimization, just stating that
it is a "new" null master.
The maximum length should be 2048 characters
having 31 characters on the fixed length prefix
this explains the 2017 max limit put in the schema

(cherry picked from commit 73c6f41)
Signed-off-by: Maha Benzekri <maha.benzekri@scality.com>
(cherry picked from commit 9ea39c6)
@bert-e
Copy link
Contributor

bert-e commented Oct 2, 2023

Hello benzekrimaha,

My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.

Status report is not available.

@bert-e
Copy link
Contributor

bert-e commented Oct 2, 2023

Incorrect fix version

The Fix Version/s in issue ARSN-368 contains:

  • 7.10.43-1

  • 7.70.4-1

Considering where you are trying to merge, I expected to find at least:

  • 7.10.43.1

Please check the Fix Version/s of ARSN-368, or the target
branch of this pull request.

@benzekrimaha benzekrimaha deleted the bugfix/ARSN-368-id-and-principal-on-policy-hotfix branch October 2, 2023 12:27
@benzekrimaha benzekrimaha restored the bugfix/ARSN-368-id-and-principal-on-policy-hotfix branch October 2, 2023 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants