Skip to content

Commit 3711c58

Browse files
author
Wiktor Maj
authored
Merge branch 'master' into fix/75-parallel-replication
2 parents 7d41cf4 + 2af3ee3 commit 3711c58

10 files changed

Lines changed: 29 additions & 10 deletions

File tree

.github/workflows/publish.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ jobs:
1515
contents: "read"
1616
packages: "write"
1717
strategy:
18+
fail-fast: false
1819
matrix:
1920
include:
2021
- image: "ghcr.io/szachovy/superset-cluster-mysql-server"

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2222
* Migrated CI from self-hosted to GitHub-hosted runners with Docker-in-Docker test infrastructure. (#94)
2323
* Test workflow always builds service images locally for reproducibility. (#97)
2424
* Enabled parallel replication applier threads on secondary MySQL nodes. (#75)
25+
* Clean up temporary `.pyc` files on remote nodes after execution. (#51)
26+
* Set `innodb_flush_method=O_DIRECT` to eliminate double caching in containers. (#74)
27+
* Reduced InnoDB change buffer size for read-heavy BI workload. (#72)
28+
* Set InnoDB buffer pool size to 1G for improved query performance. (#71)
29+
* Relaxed Terraform version constraint to accept any 1.x release. (#40)
30+
31+
### Removed
32+
33+
* Removed personal contact section from README. (#159)
2534

2635
### Fixed
2736

2837
* Fixed `run_mysql_server()` not instantiating `MySQLServer` class. (#94)
2938
* Disabled MD060 markdownlint rule to fix table column style false positives in documentation. (#94)
39+
* Made `create_directory()` idempotent to support deployment re-runs. (#35)
40+
* Added default inventory directive to `ansible.cfg`. (#42)
41+
* Fixed Publish workflow `write_package` permission denied by adding OCI source labels for GHCR repository linking. (#99)
3042

3143
## 1.0 - 2024-10-13
3244

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,6 @@ If you notice anything missing, spot a bug, or have an enhancement proposal,
104104
feel free to open an issue with the appropriate label.
105105
Pull requests are welcome. Please ensure that the tests are updated as necessary.
106106

107-
## Personal contact information
108-
109-
In case of any inquiries, please write an email to: _wjmaj98@gmail.com_
110-
111107
## Additional resources
112108

113109
* [What is Apache Superset?](https://superset.apache.org/docs/intro)

services/mysql-mgmt/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
ARG BUILDPLATFORM="amd64"
22
FROM --platform=${BUILDPLATFORM} ubuntu:22.04
33

4-
LABEL version="1.0"
4+
LABEL version="1.0" \
5+
org.opencontainers.image.source="https://github.com/szachovy/superset-cluster"
56

67
ARG MYSQL_SHELL_VERSION="mysql-shell-8.3.0-linux-glibc2.28-x86-64bit" \
78
MYSQL_SHELL_MD5_CHECKSUM="c71280416014b9340b34b90160f42e23" \

services/mysql-server/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
ARG BUILDPLATFORM="amd64"
22
FROM --platform=${BUILDPLATFORM} mysql:8.0-debian
33

4-
LABEL version="1.0"
4+
LABEL version="1.0" \
5+
org.opencontainers.image.source="https://github.com/szachovy/superset-cluster"
56

67
ENV LANG="C.UTF-8" \
78
LC_ALL="C.UTF-8"

services/mysql-server/mysql_config.cnf.tpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,7 @@ max_connect_errors = "50"
1717
replica_parallel_workers = "4"
1818
replica_parallel_type = "LOGICAL_CLOCK"
1919
replica_preserve_commit_order = "ON"
20+
innodb_flush_method = "O_DIRECT"
21+
innodb_change_buffer_max_size = "10"
22+
innodb_buffer_pool_size = "1G"
23+
innodb_buffer_pool_instances = "1"

services/superset/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
ARG BUILDPLATFORM="amd64"
22
FROM --platform=${BUILDPLATFORM} apache/superset:4.0.2
33

4-
LABEL version="1.0"
4+
LABEL version="1.0" \
5+
org.opencontainers.image.source="https://github.com/szachovy/superset-cluster"
56

67
COPY --chown=superset:superset "." "/app/"
78

src/remote.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,12 @@ def run_python_container_command(self, command: str) -> dict:
130130
marshal.dump(code_object, pyc_file)
131131
self.upload_file(content=pyc_file.getvalue(), remote_file_path=f'/opt/{nonce}.pyc')
132132
_, stdout, stderr = self.ssh_client.exec_command(f"python3 /opt/{nonce}.pyc")
133-
return {
133+
result = {
134134
"output": stdout.read().decode(),
135135
"error": stderr.read().decode()
136136
}
137+
self.ssh_client.exec_command(f"rm -f /opt/{nonce}.pyc")
138+
return result
137139

138140
def upload_directory(self, local_directory_path: str, remote_directory_path: str) -> None:
139141
stack = [(local_directory_path, remote_directory_path)]
@@ -152,7 +154,7 @@ def upload_directory(self, local_directory_path: str, remote_directory_path: str
152154
self.sftp_client.put(local_item_path, remote_item_path)
153155

154156
def create_directory(self, remote_directory_path: str) -> None:
155-
self.sftp_client.mkdir(remote_directory_path)
157+
self.ssh_client.exec_command(f"mkdir -p {remote_directory_path}")
156158

157159
def upload_file(self, content: str | bytes, remote_file_path: str) -> None:
158160
if isinstance(content, str):

tests/setup/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
terraform {
2-
required_version = "1.0.10"
2+
required_version = ">= 1.0.0, < 2.0.0"
33
required_providers {
44
null = {
55
source = "hashicorp/null"

tests/testsuite/ansible.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
[defaults]
2+
inventory = inventory.yml
23
roles_path = ./roles
34
forks = 32

0 commit comments

Comments
 (0)