Skip to content

Commit b037def

Browse files
committed
no-mistakes(document): Fix stale cube lane ordering in cube-export docs
1 parent fa39ff5 commit b037def

6 files changed

Lines changed: 11 additions & 7 deletions

File tree

‎docs/features/cube-export.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -648,8 +648,8 @@ both together), the TPH subtype's `sql`, a one-to-one join from both ends, the i
648648
`CASE`, and a two-hop `@spine` report, whose rows, the spine rows with no facts included, must
649649
equal the lowered view's. Each query's rows are compared with plain SQL on the same database.
650650

651-
Run it with `scripts/ci-local.sh --only cube`. The full `scripts/ci-local.sh` runs it after the
652-
integration suite, and `--quick` and `--no-integration` drop it. The first run pulls the Cube
651+
Run it with `scripts/ci-local.sh --only cube`. The full `scripts/ci-local.sh` runs it as its own
652+
parallel lane, and `--quick` and `--no-integration` drop it. The first run pulls the Cube
653653
image, which is about 1 GB. With Docker down, the lane records a SKIP behind a banner, never a
654654
pass; under `--strict-toolchains` it is a failure. In CI it is a `cube` entry in
655655
`integration-tests.yml`, which runs on release tags and on manual dispatch, not on every push.

‎server/csharp/MetaObjects.IntegrationTests/Runner/MySqlDatabase.cs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ private async Task<string> StartAsync()
3131
var existing = Environment.GetEnvironmentVariable(ExistingServerEnv);
3232
if (!string.IsNullOrWhiteSpace(existing)) return FromUrl(existing);
3333

34-
_container = new MySqlBuilder().WithImage("mysql:8.4").WithUsername("root").Build();
34+
_container = new MySqlBuilder().WithImage("mysql:8.4").WithUsername("root")
35+
.WithCommand("--innodb-use-native-aio=0").Build();
3536
await _container.StartAsync();
3637
return _container.GetConnectionString();
3738
}

‎server/java/integration-tests-kotlin/src/test/kotlin/com/metaobjects/integration/kotlin/MySqlContainer.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class MySqlContainer : AutoCloseable {
3939
"-e", "MYSQL_ROOT_PASSWORD=$PASSWORD",
4040
"-e", "MYSQL_DATABASE=$DB",
4141
"-p", "127.0.0.1::3306",
42-
IMAGE,
42+
IMAGE, "--innodb-use-native-aio=0",
4343
)
4444
val url = "jdbc:mysql://127.0.0.1:${PostgresContainer.publishedPort(name, 3306)}/$DB"
4545
waitForReady(url)

‎server/java/integration-tests/src/test/java/com/metaobjects/integration/MySqlContainer.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public MySqlContainer() {
5151
"-e", "MYSQL_ROOT_PASSWORD=" + PASSWORD,
5252
"-e", "MYSQL_DATABASE=" + DB,
5353
"-p", "127.0.0.1::3306",
54-
IMAGE);
54+
IMAGE, "--innodb-use-native-aio=0");
5555
String url = "jdbc:mysql://127.0.0.1:" + PostgresContainer.publishedPort(name, 3306) + "/" + DB;
5656
waitForReady(url);
5757
this.jdbcUrl = url;

‎server/python/tests/integration/mysql_container.py‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ def __init__(self) -> None:
8585
"run", "-d", "--name", self._name,
8686
"-e", f"MYSQL_ROOT_PASSWORD={self.PASSWORD}",
8787
"-e", f"MYSQL_DATABASE={self.DATABASE}",
88-
"-p", "127.0.0.1::3306", self.IMAGE,
88+
# Native AIO reserves ~17k kernel aio-nr slots per server; with the default
89+
# fs.aio-max-nr (65536) parallel lanes exhaust it and InnoDB dies with EAGAIN
90+
# at io_setup(). Buffered I/O is plenty for a test database.
91+
"-p", "127.0.0.1::3306", self.IMAGE, "--innodb-use-native-aio=0",
8992
)
9093
port = published_port(self._name, 3306)
9194
self._info = MySqlInfo("127.0.0.1", port, self.DATABASE, self.USER, self.PASSWORD)

‎server/typescript/packages/integration-tests/src/mysql-container.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export async function startMysql(): Promise<MysqlContainerHandle> {
3636
let url: string;
3737
try {
3838
docker(["run", "-d", "--name", name, "-e", `MYSQL_ROOT_PASSWORD=${PASSWORD}`,
39-
"-e", `MYSQL_DATABASE=${DATABASE}`, "-p", "127.0.0.1::3306", IMAGE]);
39+
"-e", `MYSQL_DATABASE=${DATABASE}`, "-p", "127.0.0.1::3306", IMAGE, "--innodb-use-native-aio=0"]);
4040
url = `mysql://root:${PASSWORD}@127.0.0.1:${publishedPort(name, 3306)}/${DATABASE}`;
4141
} catch (e) {
4242
stop();

0 commit comments

Comments
 (0)