Request for Confirmation of the Resolution Procedure When Resources in the Target Blob Store Become Inaccessible After a Version Upgrade

background:After upgrading from 3.70.4 to 3.79.1, three errors appeared in nexus.log and resources in the blob store are no longer accessible. Please advise on the possible causes and workarounds.

<Background of Procedure>
At the above URL, after upgrading the version and starting Nexus, we have confirmed that the blobstore becomes inaccessible due to “Illegal character ‘@’ (code 0x40) in base64 content” and “Unable to start BlobStore.” Upon investigation, it was found that the password in the blobstore connection information stored in the database was not encrypted.

Following this event, we have prepared a procedure to reconfigure the blobstore connection password.
We have confirmed that this resolves the issue.

<Request>
Although it appears that the issue can be resolved with the following procedures, we would like you to review the steps below to confirm whether there are any other potential problems or concerns.

<Procedure>
The procedure consists of performing steps ① through ③. — ① Use the following API command to retrieve and save the blobstore information of the target repository.

API Command:
curl https:///service/rest/v1/blobstores/s3/example-blobstore
-k > “blobstore_data/example-blobstore”

(Sample result of API command) ※ Host name of the current node is “nexus_server”

[root@nexus_server tool]# curl [https://<Nexus URL>/service/rest/v1/blobstores/s3/example-blobstore](https://<Nexus URL>/service/rest/v1/blobstores/s3/example-blobstore) \-k > "blobstore_data/example-blobstore"
[root@nexus_server tool]# cat blobstore_data/example-blobstore

{
    "name": "example-blobstore",
    "softQuota": {
        "type": "spaceUsedQuota",
        "limit": 206158430208
    },
    "bucketConfiguration": {
        "bucket": {
            "region": "DEFAULT",
            "name": "example-bucket",
            "prefix": "nexus",
            "expiration": 7
        },
        "encryption": {
            "encryptionType": "none"
        },
        "bucketSecurity": {
            "accessKeyId": "<Access key ID>",
            "secretAccessKey": "#~PASSWORD~#"
        },
        "advancedBucketConnection": {
            "endpoint": "http://<Endpoint>:9090",
            "signerType": "AWSS3V4SignerType",
            "forcePathStyle": true,
            "maxConnectionPoolSize": 40
        }
    },
    "type": "S3"
}
[root@nexus_server tool]#

② Using the blobstore information obtained above, run the update blobstore API.

API Command:

curl -X 'PUT' \ "${base_url}/example-blobstore" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -H 'NX-ANTI-CSRF-TOKEN: <Token>' \ -H 'X-Nexus-UI: true' \ -d @"example-blobstore" \ -v

③ After executing the API for all repositories, perform the upgrade from “3.70.4 → 3.79.1” using the flow described in step ②.

This concludes the procedure.

Thank you in advance for your cooperation.