-
Notifications
You must be signed in to change notification settings - Fork 281
Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
Error in lowcoder-node-service logs:
POST /node-service/api/npm/registry/lowcoder-comps 500 4.918 ms - 38
GET /node-service/api/plugins 200 68.087 ms - 59233
PayloadTooLargeError: request entity too large
at readStream (/lowcoder/node-service/app/node_modules/raw-body/index.js:163:17)
at getRawBody (/lowcoder/node-service/app/node_modules/raw-body/index.js:116:12)
at read (/lowcoder/node-service/app/node_modules/body-parser/lib/read.js:79:3)
at jsonParser (/lowcoder/node-service/app/node_modules/body-parser/lib/types/json.js:138:5)
at /lowcoder/node-service/app/build/server.js:42:64
at newFn (/lowcoder/node-service/app/node_modules/express-async-errors/index.js:16:20)
at Layer.handle [as handle_request] (/lowcoder/node-service/app/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/lowcoder/node-service/app/node_modules/express/lib/router/index.js:328:13)
at /lowcoder/node-service/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/lowcoder/node-service/app/node_modules/express/lib/router/index.js:346:12)
at next (/lowcoder/node-service/app/node_modules/express/lib/router/index.js:280:10)
at urlencodedParser (/lowcoder/node-service/app/node_modules/body-parser/lib/types/urlencoded.js:103:7)
at newFn (/lowcoder/node-service/app/node_modules/express-async-errors/index.js:16:20)
at Layer.handle [as handle_request] (/lowcoder/node-service/app/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/lowcoder/node-service/app/node_modules/express/lib/router/index.js:328:13)
at /lowcoder/node-service/app/node_modules/express/lib/router/index.js:286:9 {
expected: 61,
length: 61,
limit: 50,
type: 'entity.too.large'
}
POST /node-service/api/npm/registry/lowcoder-comps 500 0.791 ms - 38
lowcoder-node-service uses LOWCODER_MAX_REQUEST_SIZE to configure the upload limit at:
| const MAX_REQUEST_SIZE = process.env.LOWCODER_MAX_REQUEST_SIZE || "50mb"; |
The default vaule of LOWCODER_MAX_REQUEST_SIZE is 20m in the default environment config:
lowcoder/deploy/docker/default.env
Line 120 in ec6539d
| LOWCODER_MAX_REQUEST_SIZE=20m |
Expected Behavior
In my opinion, there should be different request size limits:
- One existing
LOWCODER_MAX_REQUEST_SIZEfor general use across the system (to limit end-users uploads) - Additional
LOWCODER_NODE_SERVICE_MAX_REQUEST_SIZE=75mone for lowcoder-node-service internal requirements to deal with huge NPM libraries.
The default value of MAX_REQUEST_SIZE should be increased at least to 75m at:
| const MAX_REQUEST_SIZE = process.env.LOWCODER_MAX_REQUEST_SIZE || "50mb"; |
I tried 50m - does not work.
Steps to reproduce
- Run lowcoder v2.7.5 as docker-compose-multi
- Try to create and publish some App
- See the logs of the
lowcoder-node-servicedocker container
Environment
v2.7.5 docker-compose-multi
Additional Information
It's been discussed on Discord at https://discord.com/channels/1096896040159957084/1424088366328057866/1426537985784021114, however I could not find any changes for this problem.
Workaround: set LOWCODER_MAX_REQUEST_SIZE=75m in the override.dev file and restart lowcoder-node-service
After applying the workaround:
POST /node-service/api/npm/registry/lowcoder-comps 200 176.025 ms - 279911
{"level":30,"time":1760894881725,"pid":506,"hostname":"491e45e90c52","msg":"Fetch registry info for path: /lowcoder-comps"}
{"level":30,"time":1760894881725,"pid":506,"hostname":"491e45e90c52","msg":"No registry entry found for package: lowcoder-comps"}
POST /node-service/api/npm/registry/lowcoder-comps 200 142.015 ms - 279911