chore(): Downgrade mikro orm (performance regression) (#13680)

**What**
After lot of investigation, we finally found one of our performance regerssion point (see [here](https://github.com/mikro-orm/mikro-orm/issues/6905)), this pr downgrade mikro orm and move the strategy back to select in where needed
This commit is contained in:
Adrien de Peretti
2025-10-03 17:31:40 +02:00
committed by GitHub
parent 8a996a82a7
commit 4165172145
6 changed files with 66 additions and 58 deletions

View File

@@ -0,0 +1,8 @@
---
"@medusajs/product": patch
"@medusajs/utils": patch
"@medusajs/deps": patch
"@medusajs/order": patch
---
chore(): Test strategy

View File

@@ -465,7 +465,7 @@ export function mikroOrmBaseRepositoryFactory<const T extends object>(
if (findOptions_.options.limit != null || findOptions_.options.offset) {
// TODO: from 7+ it will be the default strategy
Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED,
strategy: LoadStrategy.SELECT_IN,
})
}
}
@@ -494,7 +494,7 @@ export function mikroOrmBaseRepositoryFactory<const T extends object>(
if (findOptions_.options.limit != null || findOptions_.options.offset) {
// TODO: from 7+ it will be the default strategy
Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED,
strategy: LoadStrategy.SELECT_IN,
})
}
}

View File

@@ -37,11 +37,11 @@
"build": "rimraf dist && tsc --build"
},
"dependencies": {
"@mikro-orm/cli": "6.5.5",
"@mikro-orm/core": "6.5.5",
"@mikro-orm/knex": "6.5.5",
"@mikro-orm/migrations": "6.5.5",
"@mikro-orm/postgresql": "6.5.5",
"@mikro-orm/cli": "6.4.16",
"@mikro-orm/core": "6.4.16",
"@mikro-orm/knex": "6.4.16",
"@mikro-orm/migrations": "6.4.16",
"@mikro-orm/postgresql": "6.4.16",
"@opentelemetry/instrumentation-pg": "^0.44.0",
"@opentelemetry/resources": "^1.26.0",
"@opentelemetry/sdk-node": "^0.53.0",

View File

@@ -20,7 +20,7 @@ export function setFindMethods<T>(klass: Constructor<T>, entity: any) {
if (!("strategy" in findOptions_.options)) {
if (findOptions_.options.limit != null || findOptions_.options.offset) {
Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED,
strategy: LoadStrategy.SELECT_IN,
})
}
}
@@ -99,7 +99,7 @@ export function setFindMethods<T>(klass: Constructor<T>, entity: any) {
if (!("strategy" in findOptions_.options)) {
Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED,
strategy: LoadStrategy.SELECT_IN,
})
}

View File

@@ -64,7 +64,7 @@ export class ProductCategoryRepository extends DALUtils.MikroOrmBaseTreeReposito
}
Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED,
strategy: LoadStrategy.SELECT_IN,
})
return findOptions_

View File

@@ -6429,11 +6429,11 @@ __metadata:
version: 0.0.0-use.local
resolution: "@medusajs/deps@workspace:packages/deps"
dependencies:
"@mikro-orm/cli": 6.5.5
"@mikro-orm/core": 6.5.5
"@mikro-orm/knex": 6.5.5
"@mikro-orm/migrations": 6.5.5
"@mikro-orm/postgresql": 6.5.5
"@mikro-orm/cli": 6.4.16
"@mikro-orm/core": 6.4.16
"@mikro-orm/knex": 6.4.16
"@mikro-orm/migrations": 6.4.16
"@mikro-orm/postgresql": 6.4.16
"@opentelemetry/instrumentation-pg": ^0.44.0
"@opentelemetry/resources": ^1.26.0
"@opentelemetry/sdk-node": ^0.53.0
@@ -7554,43 +7554,43 @@ __metadata:
languageName: unknown
linkType: soft
"@mikro-orm/cli@npm:6.5.5":
version: 6.5.5
resolution: "@mikro-orm/cli@npm:6.5.5"
"@mikro-orm/cli@npm:6.4.16":
version: 6.4.16
resolution: "@mikro-orm/cli@npm:6.4.16"
dependencies:
"@jercle/yargonaut": 1.1.5
"@mikro-orm/core": 6.5.5
"@mikro-orm/knex": 6.5.5
fs-extra: 11.3.2
"@mikro-orm/core": 6.4.16
"@mikro-orm/knex": 6.4.16
fs-extra: 11.3.0
tsconfig-paths: 4.2.0
yargs: 17.7.2
bin:
mikro-orm: ./cli
mikro-orm-esm: ./esm
checksum: 064986fd89bd893bd1025ea4898699983d424d540fcea48cecbe5bc224d37fc29e969f62f79d535a3bf7024d415a4ca0a4bd5f454d2b27ea370b0d02b364599d
checksum: c58cfc6a89a4770671c58e3c40a60c8a38229a74e1722d1fb6c14a8d19a43303aa26557ec6a0000ac1d494270f3cfd98e32e38c69163f6b9cafb7c3ef6804b00
languageName: node
linkType: hard
"@mikro-orm/core@npm:6.5.5":
version: 6.5.5
resolution: "@mikro-orm/core@npm:6.5.5"
"@mikro-orm/core@npm:6.4.16":
version: 6.4.16
resolution: "@mikro-orm/core@npm:6.4.16"
dependencies:
dataloader: 2.2.3
dotenv: 17.2.2
dotenv: 16.5.0
esprima: 4.0.1
fs-extra: 11.3.2
fs-extra: 11.3.0
globby: 11.1.0
mikro-orm: 6.5.5
mikro-orm: 6.4.16
reflect-metadata: 0.2.2
checksum: 2ffe944b2e5f288aab10173789dbb5f96954be307d5d5f313856859c809982ecd9f521ea68e151772a880861b902713fff2637f80303b8ce7025db181c392de2
checksum: beeb614134d908674916105326c4846fe80fb9a7adc1251a8b9bd70f4db1115256a1bdaa08107fab1577986bbca46dd24b0ff24d87753925f382d1ef216bea18
languageName: node
linkType: hard
"@mikro-orm/knex@npm:6.5.5":
version: 6.5.5
resolution: "@mikro-orm/knex@npm:6.5.5"
"@mikro-orm/knex@npm:6.4.16":
version: 6.4.16
resolution: "@mikro-orm/knex@npm:6.4.16"
dependencies:
fs-extra: 11.3.2
fs-extra: 11.3.0
knex: 3.1.0
sqlstring: 2.3.3
peerDependencies:
@@ -7605,35 +7605,35 @@ __metadata:
optional: true
mariadb:
optional: true
checksum: 0d5b920f2181cd4f1921f2624e07f6401b1d0c434125d7c7db2bab81514f8513fbb2d498292784db2e1fce4cf4a0642b817ae417ae0783081b2c0f7b02437257
checksum: b0584fe3bd79b131512712ec9e31a1b76e272dcff519d5607daebfd5b3dd856116d9aae836c86baa006abc58e0331926aa3bd4ef4bba1a7ced4781d8c6fd3d21
languageName: node
linkType: hard
"@mikro-orm/migrations@npm:6.5.5":
version: 6.5.5
resolution: "@mikro-orm/migrations@npm:6.5.5"
"@mikro-orm/migrations@npm:6.4.16":
version: 6.4.16
resolution: "@mikro-orm/migrations@npm:6.4.16"
dependencies:
"@mikro-orm/knex": 6.5.5
fs-extra: 11.3.2
"@mikro-orm/knex": 6.4.16
fs-extra: 11.3.0
umzug: 3.8.2
peerDependencies:
"@mikro-orm/core": ^6.0.0
checksum: 4441d3505575cffc272666e8a9b85332335163275ce997c7ece36ba10e986d5392e5643a7e3262a2185658b187082d9c549fb45ec4553d8336f949cfc13ff27d
checksum: 1d5beb2423c20879cffc9c51f035b2f24b963997bea4d69445f1686616686a3bd8d7b34c2081fcb421df24c0f14ee2c51b4ed01299b5c9dbf2af4fc4cbc22de5
languageName: node
linkType: hard
"@mikro-orm/postgresql@npm:6.5.5":
version: 6.5.5
resolution: "@mikro-orm/postgresql@npm:6.5.5"
"@mikro-orm/postgresql@npm:6.4.16":
version: 6.4.16
resolution: "@mikro-orm/postgresql@npm:6.4.16"
dependencies:
"@mikro-orm/knex": 6.5.5
pg: 8.16.3
"@mikro-orm/knex": 6.4.16
pg: 8.16.0
postgres-array: 3.0.4
postgres-date: 2.1.0
postgres-interval: 4.0.2
peerDependencies:
"@mikro-orm/core": ^6.0.0
checksum: 72c63aee694dd4606a726c69f504c9680bf700f2954e45d52bba93dd68ab96d71414ec63be16b444d6a151794e56da4c010b724f5a4b3299c646c582d1b617b9
checksum: 0d7b6dd04f9c476d445fd31b5544be88d38da9b3c5c3666c2c84c1fb35db55de27a98e23b62ba26528f9056bb28966cc8dc5673418bf4b2da6bf6bfeb6af0264
languageName: node
linkType: hard
@@ -20887,10 +20887,10 @@ __metadata:
languageName: node
linkType: hard
"dotenv@npm:17.2.2":
version: 17.2.2
resolution: "dotenv@npm:17.2.2"
checksum: be66513504590aff6eccb14167625aed9bd42ce80547f4fe5d195860211971a7060949b57108dfaeaf90658f79e40edccd3f233f0a978bff507b5b1565ae162b
"dotenv@npm:16.5.0":
version: 16.5.0
resolution: "dotenv@npm:16.5.0"
checksum: 5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9
languageName: node
linkType: hard
@@ -23268,14 +23268,14 @@ __metadata:
languageName: node
linkType: hard
"fs-extra@npm:11.3.2":
version: 11.3.2
resolution: "fs-extra@npm:11.3.2"
"fs-extra@npm:11.3.0":
version: 11.3.0
resolution: "fs-extra@npm:11.3.0"
dependencies:
graceful-fs: ^4.2.0
jsonfile: ^6.0.1
universalify: ^2.0.0
checksum: f5d629e1bb646d5dedb4d8b24c5aad3deb8cc1d5438979d6f237146cd10e113b49a949ae1b54212c2fbc98e2d0995f38009a9a1d0520f0287943335e65fe919b
checksum: 5f95e996186ff45463059feb115a22fb048bdaf7e487ecee8a8646c78ed8fdca63630e3077d4c16ce677051f5e60d3355a06f3cd61f3ca43f48cc58822a44d0a
languageName: node
linkType: hard
@@ -27551,10 +27551,10 @@ __metadata:
languageName: node
linkType: hard
"mikro-orm@npm:6.5.5":
version: 6.5.5
resolution: "mikro-orm@npm:6.5.5"
checksum: eca6afcac7deeced740c650728ec86b80a627b7631c813eb1076eef8b1618e9aff0adc82f0e7ba57f6d9685bb71058d648ecd5b52fcfe0c32fb0cc0483fded08
"mikro-orm@npm:6.4.16":
version: 6.4.16
resolution: "mikro-orm@npm:6.4.16"
checksum: 6a7d6ad717503433eba0372f890fc66c8f0f80927b40ae8666bc0795006b0a5a089e662a7a5fc121d3e0fbdb1350c1878dc3bee2c1c6bc4028c729b2c4a45f7a
languageName: node
linkType: hard