@ocoda/event-sourcing-mariadb 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/dist/mariadb.event-store.d.ts +9 -3
- package/dist/mariadb.event-store.d.ts.map +1 -1
- package/dist/mariadb.event-store.js +32 -19
- package/dist/mariadb.event-store.js.map +1 -1
- package/dist/mariadb.schema.d.ts +21 -7
- package/dist/mariadb.schema.d.ts.map +1 -1
- package/dist/mariadb.schema.js +24 -13
- package/dist/mariadb.schema.js.map +1 -1
- package/dist/mariadb.server.d.ts +64 -0
- package/dist/mariadb.server.d.ts.map +1 -0
- package/dist/mariadb.server.js +74 -0
- package/dist/mariadb.server.js.map +1 -0
- package/dist/mariadb.snapshot-store.d.ts +4 -1
- package/dist/mariadb.snapshot-store.d.ts.map +1 -1
- package/dist/mariadb.snapshot-store.js +20 -9
- package/dist/mariadb.snapshot-store.js.map +1 -1
- package/dist/mariadb.utils.d.ts +24 -2
- package/dist/mariadb.utils.d.ts.map +1 -1
- package/dist/mariadb.utils.js +42 -7
- package/dist/mariadb.utils.js.map +1 -1
- package/dist/migration/migrate.d.ts.map +1 -1
- package/dist/migration/migrate.js +10 -1
- package/dist/migration/migrate.js.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { isGaleraNode, isOff, systemVariableOf } from './mariadb.utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Asks the server what it is. MariaDB names itself in its version (`11.4.5-MariaDB-ubu2404`) or its comment; every
|
|
4
|
+
* other server is taken to speak MySQL's dialect.
|
|
5
|
+
* @throws what the query throws, such as a connection error
|
|
6
|
+
*/
|
|
7
|
+
export const probeServer = async (db) => {
|
|
8
|
+
const [{ version, comment }] = await db.query('SELECT @@version AS version, @@version_comment AS comment');
|
|
9
|
+
const flavour = /mariadb/i.test(`${version} ${comment ?? ''}`) ? 'mariadb' : 'mysql';
|
|
10
|
+
return { version, comment: comment ?? '', flavour };
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Tells the deployments apart by variables only one of them has (an unknown variable is 1193): `@@tidb_txn_mode` is
|
|
14
|
+
* TiDB's, `@@transaction_mode` is answered by `vtgate` itself, a Galera node has `@@wsrep_on` on and a provider loaded
|
|
15
|
+
* (`isGaleraNode`), and `@@group_replication_single_primary_mode` exists while the Group Replication plugin is loaded
|
|
16
|
+
* (explicitly off: multi-primary). Variables rather than `@@version`, which TiDB, Vitess and MariaDB let an operator
|
|
17
|
+
* change. Only a `vtgate` that doesn't answer `@@transaction_mode` is told by `server`'s version or comment.
|
|
18
|
+
* @throws what a query throws other than 1193, such as a connection error
|
|
19
|
+
*/
|
|
20
|
+
export const probeDeployment = async (db, server) => {
|
|
21
|
+
if (typeof (await systemVariableOf(db, 'tidb_txn_mode')) === 'string') {
|
|
22
|
+
return { kind: 'tidb' };
|
|
23
|
+
}
|
|
24
|
+
const transactionMode = await systemVariableOf(db, 'transaction_mode');
|
|
25
|
+
if (transactionMode !== undefined && transactionMode !== null) {
|
|
26
|
+
return { kind: 'vitess', transactionMode: String(transactionMode).toUpperCase() };
|
|
27
|
+
}
|
|
28
|
+
if (/-vitess/i.test(server.version) || /^Version: \S+.*\(Git revision /.test(server.comment)) {
|
|
29
|
+
return { kind: 'vitess', transactionMode: 'MULTI' };
|
|
30
|
+
}
|
|
31
|
+
if (await isGaleraNode(db)) {
|
|
32
|
+
return { kind: 'galera' };
|
|
33
|
+
}
|
|
34
|
+
if (isOff(await systemVariableOf(db, 'group_replication_single_primary_mode'))) {
|
|
35
|
+
return { kind: 'group-replication' };
|
|
36
|
+
}
|
|
37
|
+
return { kind: 'innodb' };
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* The capabilities of the event store on a deployment (ADR 0002 §3): `'gap-safe'` rests on one InnoDB server ordering
|
|
41
|
+
* the commits by the counter row's lock, so every other deployment gets `'best-effort'`. Appends stay atomic, except
|
|
42
|
+
* on Vitess outside `transaction_mode` `SINGLE` and `TWOPC`: with `MULTI` (the default) a transaction that spans
|
|
43
|
+
* shards commits shard by shard, and the counter and the events can sit on different shards.
|
|
44
|
+
*/
|
|
45
|
+
export const capabilitiesOf = (deployment) => {
|
|
46
|
+
switch (deployment.kind) {
|
|
47
|
+
case 'innodb':
|
|
48
|
+
return { atomicAppend: true, headers: true, globalOrder: 'gap-safe' };
|
|
49
|
+
case 'vitess':
|
|
50
|
+
return {
|
|
51
|
+
atomicAppend: ['SINGLE', 'TWOPC'].includes(deployment.transactionMode),
|
|
52
|
+
headers: true,
|
|
53
|
+
globalOrder: 'best-effort',
|
|
54
|
+
};
|
|
55
|
+
default:
|
|
56
|
+
return { atomicAppend: true, headers: true, globalOrder: 'best-effort' };
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const WARNINGS = {
|
|
60
|
+
galera: "Galera (wsrep_on) orders the global positions per node only: globalOrder is 'best-effort' on this cluster",
|
|
61
|
+
'group-replication': "MySQL Group Replication in multi-primary mode orders the global positions per member only: globalOrder is 'best-effort'. Single-primary mode is 'gap-safe' on the primary.",
|
|
62
|
+
tidb: "TiDB is not InnoDB, and its locking reads don't wait for an append in flight: globalOrder is 'best-effort'. TiDB is not a tested server of this store.",
|
|
63
|
+
vitess: "Vitess commits a transaction that spans shards shard by shard, and reads every shard at a snapshot of its own: globalOrder is 'best-effort', and with transaction_mode MULTI (the default) appends are not atomic. Vitess is not a tested server of this store.",
|
|
64
|
+
};
|
|
65
|
+
const warned = new Set();
|
|
66
|
+
/** Warns once per process and deployment kind that the store's guarantees are weaker on it. */
|
|
67
|
+
export const warnDeploymentOnce = (deployment, logger) => {
|
|
68
|
+
if (deployment.kind === 'innodb' || warned.has(deployment.kind)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
warned.add(deployment.kind);
|
|
72
|
+
logger.warn(WARNINGS[deployment.kind]);
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=mariadb.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mariadb.server.js","sourceRoot":"","sources":["../lib/mariadb.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { Type } from '@nestjs/common';
|
|
|
2
2
|
import { type AggregateRoot, type ILatestSnapshotFilter, type ISnapshot, type ISnapshotCollection, type ISnapshotCollectionFilter, type ISnapshotFilter, type ISnapshotPool, type MigrationOptions, type MigrationReport, SnapshotEnvelope, SnapshotStore, type SnapshotStream } from '@ocoda/event-sourcing';
|
|
3
3
|
import type { MariaDBSnapshotStoreConfig } from './interfaces/index.js';
|
|
4
4
|
/**
|
|
5
|
-
* A snapshot store on MariaDB (InnoDB), with schema v2 (ADR 0002 §3).
|
|
5
|
+
* A snapshot store on MariaDB or MySQL (InnoDB), with schema v2 (ADR 0002 §3).
|
|
6
6
|
*
|
|
7
7
|
* - One flagged (latest) snapshot per stream, which a unique index enforces; the last snapshot of a stream is the one
|
|
8
8
|
* with the highest version, which is also the flagged one.
|
|
@@ -11,11 +11,14 @@ import type { MariaDBSnapshotStoreConfig } from './interfaces/index.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class MariaDBSnapshotStore extends SnapshotStore<MariaDBSnapshotStoreConfig> {
|
|
13
13
|
private pool;
|
|
14
|
+
private server;
|
|
14
15
|
/** The schema version of the tables this store read or wrote, by table. */
|
|
15
16
|
private readonly schemaVersions;
|
|
16
17
|
/**
|
|
17
18
|
* Migrates the snapshot tables of a 3.x store to schema v2, without a NestJS application: converts every table (or
|
|
18
19
|
* the tables of `options.pools`) in place and repairs its latest flags. Stop every 3.x instance first.
|
|
20
|
+
*
|
|
21
|
+
* MariaDB only: on MySQL it throws an `UnsupportedOperationException` before it changes anything.
|
|
19
22
|
*/
|
|
20
23
|
static migrate(config: Omit<MariaDBSnapshotStoreConfig, 'driver'>, options?: MigrationOptions): Promise<MigrationReport>;
|
|
21
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mariadb.snapshot-store.d.ts","sourceRoot":"","sources":["../lib/mariadb.snapshot-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACN,KAAK,aAAa,EAElB,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAEpB,gBAAgB,EAEhB,aAAa,EAIb,KAAK,cAAc,EAGnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAyB,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"mariadb.snapshot-store.d.ts","sourceRoot":"","sources":["../lib/mariadb.snapshot-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,16 @@ import { setTimeout as sleep } from 'node:timers/promises';
|
|
|
2
2
|
import { DEFAULT_BATCH_SIZE, SnapshotCollection, SnapshotEnvelope, SnapshotNotFoundException, SnapshotStore, SnapshotStoreCollectionCreationException, SnapshotStorePersistenceException, SnapshotStoreVersionConflictException, StreamReadingDirection, getAggregateMetadata, } from '@ocoda/event-sourcing';
|
|
3
3
|
import { createPool } from 'mariadb';
|
|
4
4
|
import { CATALOG_TABLE, assertTableName, catalogDdl, catalogExists, escapeId, inspectSnapshotTable, registerSnapshotTableSql, snapshotSchemaRemedy, snapshotTableDdl, tableColumns, } from './mariadb.schema.js';
|
|
5
|
-
import {
|
|
5
|
+
import { probeServer } from './mariadb.server.js';
|
|
6
|
+
import { MariaDBErrorNumber, errorNumberOf, fromDateTime, fromJson, inBatches, isDuplicateEntryError, isFatalConnectionError, isRolledBackByServer, streamRows, toDateTime, withReadCommitted, } from './mariadb.utils.js';
|
|
6
7
|
import { runMigration } from './migration/migrate.js';
|
|
7
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* How often an append runs when InnoDB picks it as the victim of a deadlock, or MySQL Group Replication refuses its
|
|
10
|
+
* commit.
|
|
11
|
+
*/
|
|
8
12
|
const DEADLOCK_ATTEMPTS = 10;
|
|
9
13
|
/**
|
|
10
|
-
* A snapshot store on MariaDB (InnoDB), with schema v2 (ADR 0002 §3).
|
|
14
|
+
* A snapshot store on MariaDB or MySQL (InnoDB), with schema v2 (ADR 0002 §3).
|
|
11
15
|
*
|
|
12
16
|
* - One flagged (latest) snapshot per stream, which a unique index enforces; the last snapshot of a stream is the one
|
|
13
17
|
* with the highest version, which is also the flagged one.
|
|
@@ -16,11 +20,14 @@ const DEADLOCK_ATTEMPTS = 10;
|
|
|
16
20
|
*/
|
|
17
21
|
export class MariaDBSnapshotStore extends SnapshotStore {
|
|
18
22
|
pool;
|
|
23
|
+
server;
|
|
19
24
|
/** The schema version of the tables this store read or wrote, by table. */
|
|
20
25
|
schemaVersions = new Map();
|
|
21
26
|
/**
|
|
22
27
|
* Migrates the snapshot tables of a 3.x store to schema v2, without a NestJS application: converts every table (or
|
|
23
28
|
* the tables of `options.pools`) in place and repairs its latest flags. Stop every 3.x instance first.
|
|
29
|
+
*
|
|
30
|
+
* MariaDB only: on MySQL it throws an `UnsupportedOperationException` before it changes anything.
|
|
24
31
|
*/
|
|
25
32
|
static migrate(config, options) {
|
|
26
33
|
return runMigration(config, 'snapshots', options);
|
|
@@ -41,14 +48,16 @@ export class MariaDBSnapshotStore extends SnapshotStore {
|
|
|
41
48
|
this.logger.log('Starting store');
|
|
42
49
|
const { driver: _driver, useDefaultPool: _useDefaultPool, ddl: _ddl, ...poolConfig } = this.options ?? {};
|
|
43
50
|
const pool = createPool(withReadCommitted(poolConfig));
|
|
44
|
-
//
|
|
51
|
+
// Also makes a bad connection fail the bootstrap
|
|
52
|
+
let server;
|
|
45
53
|
try {
|
|
46
|
-
await pool
|
|
54
|
+
server = await probeServer(pool);
|
|
47
55
|
}
|
|
48
56
|
catch (error) {
|
|
49
57
|
await pool.end().catch(() => undefined);
|
|
50
58
|
throw error;
|
|
51
59
|
}
|
|
60
|
+
this.server = server;
|
|
52
61
|
this.pool = pool;
|
|
53
62
|
}
|
|
54
63
|
async disconnect() {
|
|
@@ -58,6 +67,7 @@ export class MariaDBSnapshotStore extends SnapshotStore {
|
|
|
58
67
|
}
|
|
59
68
|
this.logger.log('Stopping store');
|
|
60
69
|
this.pool = undefined;
|
|
70
|
+
this.server = undefined;
|
|
61
71
|
await pool.end();
|
|
62
72
|
}
|
|
63
73
|
/**
|
|
@@ -73,7 +83,7 @@ export class MariaDBSnapshotStore extends SnapshotStore {
|
|
|
73
83
|
// SnapshotStoreCollectionCreationException has no message of its own: the statements to run are logged, and
|
|
74
84
|
// in its cause
|
|
75
85
|
const missing = (what) => {
|
|
76
|
-
const message = `${what} doesn't exist and ddl is 'none'. ${snapshotSchemaRemedy(collection)}`;
|
|
86
|
+
const message = `${what} doesn't exist and ddl is 'none'. ${snapshotSchemaRemedy(collection, this.server?.flavour)}`;
|
|
77
87
|
this.logger.error(message);
|
|
78
88
|
return new Error(message);
|
|
79
89
|
};
|
|
@@ -91,11 +101,11 @@ export class MariaDBSnapshotStore extends SnapshotStore {
|
|
|
91
101
|
if (none) {
|
|
92
102
|
throw missing(`The ${collection} table`);
|
|
93
103
|
}
|
|
94
|
-
await db.query(snapshotTableDdl(collection));
|
|
104
|
+
await db.query(snapshotTableDdl(collection, { flavour: this.server?.flavour }));
|
|
95
105
|
}
|
|
96
106
|
else if (state !== 'v2') {
|
|
97
107
|
version = 1;
|
|
98
|
-
this.logger.warn(`The ${collection} table has the 3.x snapshot schema. It keeps working, without the unique latest flag and with registered_on to the second; migrate it with MariaDBSnapshotStore.migrate().`);
|
|
108
|
+
this.logger.warn(`The ${collection} table has the 3.x snapshot schema. It keeps working, without the unique latest flag and with registered_on to the second; migrate it with MariaDBSnapshotStore.migrate() (MariaDB only).`);
|
|
99
109
|
}
|
|
100
110
|
await db.query(registerSnapshotTableSql(collection, version));
|
|
101
111
|
// How registered_on is read and written follows its type: a table that a migration stopped in may have converted it
|
|
@@ -175,7 +185,8 @@ export class MariaDBSnapshotStore extends SnapshotStore {
|
|
|
175
185
|
return envelope;
|
|
176
186
|
}
|
|
177
187
|
catch (error) {
|
|
178
|
-
|
|
188
|
+
// A deadlock victim, or a commit that MySQL Group Replication refused: the transaction was rolled back
|
|
189
|
+
if (!isRolledBackByServer(error) || attempt >= DEADLOCK_ATTEMPTS) {
|
|
179
190
|
throw error;
|
|
180
191
|
}
|
|
181
192
|
await connection.rollback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mariadb.snapshot-store.js","sourceRoot":"","sources":["../lib/mariadb.snapshot-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mariadb.snapshot-store.js","sourceRoot":"","sources":["../lib/mariadb.snapshot-store.ts"],"names":[],"mappings":"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"}
|
package/dist/mariadb.utils.d.ts
CHANGED
|
@@ -30,6 +30,11 @@ export declare const MariaDBErrorNumber: {
|
|
|
30
30
|
readonly SpecificAccessDenied: 1227;
|
|
31
31
|
/** `ER_SUBQUERY_NO_1_ROW`: what the migration's lock statement raises when another migration holds the lock. */
|
|
32
32
|
readonly SubqueryReturnsMoreThanOneRow: 1242;
|
|
33
|
+
/**
|
|
34
|
+
* `ER_TRANSACTION_ROLLBACK_DURING_COMMIT`: MySQL Group Replication refused the transaction at `COMMIT` (it conflicts
|
|
35
|
+
* with a transaction of another member) and rolled it back.
|
|
36
|
+
*/
|
|
37
|
+
readonly TransactionRollbackDuringCommit: 3101;
|
|
33
38
|
};
|
|
34
39
|
/** The error number of an error of the `mariadb` connector, if it has one. */
|
|
35
40
|
export declare const errorNumberOf: (error: unknown) => number | undefined;
|
|
@@ -44,11 +49,28 @@ export declare const isDuplicateEntryError: (error: unknown) => boolean;
|
|
|
44
49
|
*/
|
|
45
50
|
export declare const duplicateKeyOf: (error: unknown) => string | undefined;
|
|
46
51
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
52
|
+
* The value of a system variable of the session (`@@<name>`), or `undefined` when the server doesn't know it (1193).
|
|
53
|
+
* One statement per variable: an unknown variable fails the whole statement.
|
|
49
54
|
* @throws what the query throws otherwise, such as a connection error
|
|
50
55
|
*/
|
|
56
|
+
export declare const systemVariableOf: (db: Queryable, name: string) => Promise<unknown>;
|
|
57
|
+
/** Whether the value of a boolean system variable is on (`1`, `ON` or `true`, as the servers and the connector read it). */
|
|
58
|
+
export declare const isOn: (value: unknown) => boolean;
|
|
59
|
+
/** Whether the value of a boolean system variable is explicitly off (`0`, `OFF` or `false`). */
|
|
60
|
+
export declare const isOff: (value: unknown) => boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Whether the server is a Galera node, whose row locks don't order the commits of other nodes: `@@wsrep_on` is on (the
|
|
63
|
+
* session's value: on Percona XtraDB Cluster it is a session variable only), and a provider is loaded. A standalone
|
|
64
|
+
* MariaDB server started with `wsrep_on=ON` and no provider (`none`) reads 1 too. A server without the variable (1193)
|
|
65
|
+
* isn't one.
|
|
66
|
+
* @throws what a query throws otherwise, such as a connection error
|
|
67
|
+
*/
|
|
51
68
|
export declare const isGaleraNode: (db: Queryable) => Promise<boolean>;
|
|
69
|
+
/**
|
|
70
|
+
* Whether the server rolled the transaction back when it refused its `COMMIT`: a deadlock (1213, also how Galera reports
|
|
71
|
+
* a failed certification) or a MySQL Group Replication conflict (3101). Nothing of the transaction is stored then.
|
|
72
|
+
*/
|
|
73
|
+
export declare const isRolledBackByServer: (error: unknown) => boolean;
|
|
52
74
|
/**
|
|
53
75
|
* The pool options of a store: its `initSql` runs first, then `READ COMMITTED` for the session, so that a read never
|
|
54
76
|
* sees an append that isn't committed yet (`READ UNCOMMITTED`) whatever the server's default isolation is. Appends and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mariadb.utils.d.ts","sourceRoot":"","sources":["../lib/mariadb.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iDAAiD;AACjD,eAAO,MAAM,kBAAkB;IAC9B,8GAA8G;aAC9G,SAAS,EAAE,IAAI;IACf,sBAAsB;aACtB,QAAQ,EAAE,IAAI;IACd,qEAAqE;aACrE,oBAAoB,EAAE,IAAI;IAC1B,yFAAyF;aACzF,QAAQ,EAAE,IAAI;IACd,oEAAoE;aACpE,cAAc,EAAE,IAAI;IACpB,sFAAsF;aACtF,cAAc,EAAE,IAAI;IACpB,qEAAqE;aACrE,iBAAiB,EAAE,IAAI;IACvB,0BAA0B;aAC1B,WAAW,EAAE,IAAI;IACjB,qFAAqF;aACrF,qBAAqB,EAAE,IAAI;IAC3B,8BAA8B;aAC9B,eAAe,EAAE,IAAI;IACrB,oFAAoF;aACpF,aAAa,EAAE,IAAI;IACnB,2EAA2E;aAC3E,QAAQ,EAAE,IAAI;IACd,+EAA+E;aAC/E,oBAAoB,EAAE,IAAI;IAC1B,gHAAgH;aAChH,6BAA6B,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"mariadb.utils.d.ts","sourceRoot":"","sources":["../lib/mariadb.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iDAAiD;AACjD,eAAO,MAAM,kBAAkB;IAC9B,8GAA8G;aAC9G,SAAS,EAAE,IAAI;IACf,sBAAsB;aACtB,QAAQ,EAAE,IAAI;IACd,qEAAqE;aACrE,oBAAoB,EAAE,IAAI;IAC1B,yFAAyF;aACzF,QAAQ,EAAE,IAAI;IACd,oEAAoE;aACpE,cAAc,EAAE,IAAI;IACpB,sFAAsF;aACtF,cAAc,EAAE,IAAI;IACpB,qEAAqE;aACrE,iBAAiB,EAAE,IAAI;IACvB,0BAA0B;aAC1B,WAAW,EAAE,IAAI;IACjB,qFAAqF;aACrF,qBAAqB,EAAE,IAAI;IAC3B,8BAA8B;aAC9B,eAAe,EAAE,IAAI;IACrB,oFAAoF;aACpF,aAAa,EAAE,IAAI;IACnB,2EAA2E;aAC3E,QAAQ,EAAE,IAAI;IACd,+EAA+E;aAC/E,oBAAoB,EAAE,IAAI;IAC1B,gHAAgH;aAChH,6BAA6B,EAAE,IAAI;IACnC;;;OAGG;aACH,+BAA+B,EAAE,IAAI;CAC5B,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,MAAM,GAAG,SAGvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAW,OAAO,KAAG,OAGtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,MAAM,GAAG,SAMxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,OAAc,SAAS,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAanF,CAAC;AAEF,4HAA4H;AAC5H,eAAO,MAAM,IAAI,UAAW,OAAO,KAAG,OAC6D,CAAC;AAEpG,gGAAgG;AAChG,eAAO,MAAM,KAAK,UAAW,OAAO,KAAG,OAC8D,CAAC;AAEtG;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,OAAc,SAAS,KAAG,OAAO,CAAC,OAAO,CAQjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,OAGrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,WAAY,UAAU,KAAG,UAGrD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,OACU,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,UAAU,SAAU,IAAI,KAAG,MAA2D,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,YAAY,UAAW,MAAM,GAAG,IAAI,KAAG,IACoB,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,KAAG,CAAiE,CAAC;AAE/G;;;;;;;GAOG;AACH,wBAAuB,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAoBvG;AAED;;GAEG;AACH,wBAAuB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAY9F"}
|
package/dist/mariadb.utils.js
CHANGED
|
@@ -28,6 +28,11 @@ export const MariaDBErrorNumber = {
|
|
|
28
28
|
SpecificAccessDenied: 1227,
|
|
29
29
|
/** `ER_SUBQUERY_NO_1_ROW`: what the migration's lock statement raises when another migration holds the lock. */
|
|
30
30
|
SubqueryReturnsMoreThanOneRow: 1242,
|
|
31
|
+
/**
|
|
32
|
+
* `ER_TRANSACTION_ROLLBACK_DURING_COMMIT`: MySQL Group Replication refused the transaction at `COMMIT` (it conflicts
|
|
33
|
+
* with a transaction of another member) and rolled it back.
|
|
34
|
+
*/
|
|
35
|
+
TransactionRollbackDuringCommit: 3101,
|
|
31
36
|
};
|
|
32
37
|
/** The error number of an error of the `mariadb` connector, if it has one. */
|
|
33
38
|
export const errorNumberOf = (error) => {
|
|
@@ -53,22 +58,52 @@ export const duplicateKeyOf = (error) => {
|
|
|
53
58
|
return /for key '(?:[^']*\.)?([^.']+)'$/.exec(text)?.[1];
|
|
54
59
|
};
|
|
55
60
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
61
|
+
* The value of a system variable of the session (`@@<name>`), or `undefined` when the server doesn't know it (1193).
|
|
62
|
+
* One statement per variable: an unknown variable fails the whole statement.
|
|
58
63
|
* @throws what the query throws otherwise, such as a connection error
|
|
59
64
|
*/
|
|
60
|
-
export const
|
|
61
|
-
|
|
65
|
+
export const systemVariableOf = async (db, name) => {
|
|
66
|
+
if (!/^[a-z0-9_]+$/.test(name)) {
|
|
67
|
+
throw new Error(`Not a system variable name: ${name}`);
|
|
68
|
+
}
|
|
62
69
|
try {
|
|
63
|
-
[{
|
|
70
|
+
const [{ value }] = await db.query(`SELECT @@${name} AS value`);
|
|
71
|
+
return value;
|
|
64
72
|
}
|
|
65
73
|
catch (error) {
|
|
66
74
|
if (errorNumberOf(error) === MariaDBErrorNumber.UnknownSystemVariable) {
|
|
67
|
-
return
|
|
75
|
+
return undefined;
|
|
68
76
|
}
|
|
69
77
|
throw error;
|
|
70
78
|
}
|
|
71
|
-
|
|
79
|
+
};
|
|
80
|
+
/** Whether the value of a boolean system variable is on (`1`, `ON` or `true`, as the servers and the connector read it). */
|
|
81
|
+
export const isOn = (value) => value === 1 || value === 1n || value === true || ['1', 'ON'].includes(String(value).toUpperCase());
|
|
82
|
+
/** Whether the value of a boolean system variable is explicitly off (`0`, `OFF` or `false`). */
|
|
83
|
+
export const isOff = (value) => value === 0 || value === 0n || value === false || ['0', 'OFF'].includes(String(value).toUpperCase());
|
|
84
|
+
/**
|
|
85
|
+
* Whether the server is a Galera node, whose row locks don't order the commits of other nodes: `@@wsrep_on` is on (the
|
|
86
|
+
* session's value: on Percona XtraDB Cluster it is a session variable only), and a provider is loaded. A standalone
|
|
87
|
+
* MariaDB server started with `wsrep_on=ON` and no provider (`none`) reads 1 too. A server without the variable (1193)
|
|
88
|
+
* isn't one.
|
|
89
|
+
* @throws what a query throws otherwise, such as a connection error
|
|
90
|
+
*/
|
|
91
|
+
export const isGaleraNode = async (db) => {
|
|
92
|
+
if (!isOn(await systemVariableOf(db, 'wsrep_on'))) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
const provider = String((await systemVariableOf(db, 'wsrep_provider')) ?? '')
|
|
96
|
+
.trim()
|
|
97
|
+
.toLowerCase();
|
|
98
|
+
return provider !== '' && provider !== 'none';
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Whether the server rolled the transaction back when it refused its `COMMIT`: a deadlock (1213, also how Galera reports
|
|
102
|
+
* a failed certification) or a MySQL Group Replication conflict (3101). Nothing of the transaction is stored then.
|
|
103
|
+
*/
|
|
104
|
+
export const isRolledBackByServer = (error) => {
|
|
105
|
+
const errno = errorNumberOf(error);
|
|
106
|
+
return errno === MariaDBErrorNumber.Deadlock || errno === MariaDBErrorNumber.TransactionRollbackDuringCommit;
|
|
72
107
|
};
|
|
73
108
|
/**
|
|
74
109
|
* The pool options of a store: its `initSql` runs first, then `READ COMMITTED` for the session, so that a read never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mariadb.utils.js","sourceRoot":"","sources":["../lib/mariadb.utils.ts"],"names":[],"mappings":"AAIA,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,8GAA8G;IAC9G,SAAS,EAAE,IAAI;IACf,sBAAsB;IACtB,QAAQ,EAAE,IAAI;IACd,qEAAqE;IACrE,oBAAoB,EAAE,IAAI;IAC1B,yFAAyF;IACzF,QAAQ,EAAE,IAAI;IACd,oEAAoE;IACpE,cAAc,EAAE,IAAI;IACpB,sFAAsF;IACtF,cAAc,EAAE,IAAI;IACpB,qEAAqE;IACrE,iBAAiB,EAAE,IAAI;IACvB,0BAA0B;IAC1B,WAAW,EAAE,IAAI;IACjB,qFAAqF;IACrF,qBAAqB,EAAE,IAAI;IAC3B,8BAA8B;IAC9B,eAAe,EAAE,IAAI;IACrB,oFAAoF;IACpF,aAAa,EAAE,IAAI;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,IAAI;IACd,+EAA+E;IAC/E,oBAAoB,EAAE,IAAI;IAC1B,gHAAgH;IAChH,6BAA6B,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"mariadb.utils.js","sourceRoot":"","sources":["../lib/mariadb.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../lib/migration/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,yBAAyB,EAE9B,KAAK,gBAAgB,EACrB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../lib/migration/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,yBAAyB,EAE9B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAIpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAmB,KAAK,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AACnF,OAAO,EAIN,KAAK,SAAS,EAYd,MAAM,sBAAsB,CAAC;AA+B9B;;;GAGG;AAEH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,cAAc,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,yDAAyD;AACzD,KAAK,gBAAgB,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,WAAY,gBAAgB,GAAG,gBAAgB,KAAG,gBAGhF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,WAChB,gBAAgB,GAAG,gBAAgB,QACrC,aAAa,YACV,gBAAgB,UAClB,cAAc,KACnB,OAAO,CAAC,eAAe,CAgBzB,CAAC;AAkCF,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,OAAc,SAAS,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CASlF,CAAC;AA0CF,8GAA8G;AAC9G,eAAO,MAAM,cAAc,OAAc,SAAS,QAAQ,aAAa,KAAG,OAAO,CAAC,MAAM,EAAE,CAwBzF,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,YAAY,OAAc,SAAS,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAqBjF,CAAC;AAuJF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAc,SAAS,KAAG,OAAO,CAAC,MAAM,EAAE,CAYzE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,SAAS,OAAO,UAAU,MAAM,aAAY,SAAS,MAAM,EAAE,KAAQ,MAoC5G,CAAC;AA6CF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,OAC9B,SAAS,OACR,MAAM,KACT,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC,CAgBxE,CAAC;AAwHF,oHAAoH;AACpH,eAAO,MAAM,YAAY,kBAAmB,MAAM,KAAG,MAAM,GAAG,SAQ7D,CAAC;AAEF,qHAAqH;AACrH,eAAO,MAAM,eAAe,eAAgB,MAAM,KAAG,MAAM,GAAG,SAQ7D,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { EventCollection, SnapshotCollection, } from '@ocoda/event-sourcing';
|
|
1
|
+
import { EventCollection, SnapshotCollection, UnsupportedOperationException, } from '@ocoda/event-sourcing';
|
|
2
2
|
import { createConnection } from 'mariadb';
|
|
3
3
|
import { CATALOG_TABLE, EVENT_COLUMNS, SNAPSHOT_COLUMNS, assertTableName, backupTableName, escapeId, inspectEventTable, inspectSnapshotTable, isMigrationTable, latestIndexes, snapshotColumnsAreV2, tableColumns, tableIndexes, } from '../mariadb.schema.js';
|
|
4
|
+
import { probeServer } from '../mariadb.server.js';
|
|
4
5
|
import { MariaDBErrorNumber, errorNumberOf, isFatalConnectionError, isGaleraNode } from '../mariadb.utils.js';
|
|
5
6
|
import { planEventMigration, planSnapshotMigration, } from './plan.js';
|
|
6
7
|
import { GALERA_FRAGMENT_BYTES, GALERA_MIN_FRAGMENT_BYTES, acquireLockSql, canonicalizedEventStreamsSql, canonicalizedSnapshotStreamsSql, caseVariantStreamsSql, duplicateEventIdsSql, galeraFragmentBytesOf, gappedStreamsSampleSql, gappedStreamsTotalSql, lockWaitSecondsOf, nonCrockfordEventIdsSql, occurredOnRepairSql, otherTransactionsSql, releaseLockSql, lockNameSql, sessionSql, snapshotFlagsSql, } from './sql.js';
|
|
@@ -69,6 +70,14 @@ export const maxWriteSetBytesOf = async (db) => {
|
|
|
69
70
|
}
|
|
70
71
|
};
|
|
71
72
|
const migrate = async (connection, kind, options, hooks) => {
|
|
73
|
+
// The migration's session settings and checks are MariaDB's. 3.x on MySQL is not supported yet
|
|
74
|
+
const server = await probeServer(connection);
|
|
75
|
+
if (server.flavour !== 'mariadb') {
|
|
76
|
+
throw new UnsupportedOperationException({
|
|
77
|
+
operation: `servers other than MariaDB, and this one is ${server.comment || 'MySQL'} ${server.version}`,
|
|
78
|
+
component: 'MariaDB migration from 3.x',
|
|
79
|
+
});
|
|
80
|
+
}
|
|
72
81
|
const dryRun = options.dryRun ?? false;
|
|
73
82
|
const environment = await environmentOf(connection);
|
|
74
83
|
const planOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../lib/migration/migrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../lib/migration/migrate.ts"],"names":[],"mappings":"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"}
|