[MCOL-3880] ColumnStore docker image needs an option to pass the AWS S3 region to the container Created: 2020-03-11  Updated: 2021-12-14  Resolved: 2021-12-14

Status: Closed
Project: MariaDB ColumnStore
Component/s: Docker
Affects Version/s: 1.4.3
Fix Version/s: 6.1.1

Type: Bug Priority: Minor
Reporter: Daniel Lee (Inactive) Assignee: Todd Stoffel (Inactive)
Resolution: Fixed Votes: 0
Labels: None


 Description   

Build tested: 1.4.3-4 docker image

The goal is to start a ColumnStore docker container, configured to use AWS S3 storage.

When starting a container, the user can do the following:

docker run -d -p 3306:3306 \
-e MARIADB_ROOT_HOST=% \
-e MARIADB_ROOT_PASSWORD=mypassword \
-e USE_S3_STORAGE=1 \
-e S3_BUCKET=your_bucket_name_here \
-e S3_ENDPOINT=your_url_here \
-e S3_ACCESS_KEY_ID=your_id_here \
-e S3_SECRET_ACCESS_KEY=your_key_here \
--name mcs_container mcs_image

There is not an option to specify the region. The storagemanager.cnf file has the region setting commented out. Even if I manually added to the file, the entry would get commented out automatically. Without the region, ColumnStore would fail with the following error in the err.log file:

[root@cb94ff67365a columnstore]# cat err.log
Mar 11 20:27:52 cb94ff67365a StorageManager[309]: S3Storage::putObject(): failed to PUT, server says 'The authorization header is malformed; a non-empty region must be provided in the credential.'. bucket = dleeqadbroot1, key = connectivity_test. Retrying...
Mar 11 20:27:57 cb94ff67365a StorageManager[309]: S3Storage::putObject(): failed to PUT, server says 'The authorization header is malformed; a non-empty region must be provided in the credential.'. bucket = dleeqadbroot1, key = connectivity_test. Retrying...

The end result is system catalog is not created and DBRM is in read-only state.


Generated at Thu Feb 08 02:46:08 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.