Environment: Appwrite Selfhost SDK: node-appwrite 28.0
Calling upsertRows (also applies to createRows/updateRows/deleteRows) with more than 100 rows fails with:
Invalid rows param: Value must a valid array no longer than 100 items and Value must be a valid JSON string
I confirmed via a Discord thread that this is the APP_LIMIT_DATABASE_BATCH = 100 constant, and that it's not currently exposed as an env var on self-hosted - while Cloud Pro plan users get this raised to 1000.
Why this matters for self-hosted
I'm bulk-loading large datasets (e.g. unfolding a full Bible translation into a verses table, ~31k rows) from inside an Appwrite Function with a fixed execution timeout. At a 100-row cap, that's 300+ sequential/batched API calls just for one job, which meaningfully eats into the timeout budget and adds load that a higher batch size would reduce. On Cloud this is solved by paying for a higher, but self-hosted operators have no such lever, even though we're the ones running our own hardware and are best placed to judge whether our DB can handle a bigger batch.
Ask
I'd appreciate if the team consider either:
- Exposing APP_LIMIT_DATABASE_BATCH as a configurable env var for self-hosted instances, so operators can raise it based on their own infra, or
- At minimum, defaulting self-hosted to the same 1000-row ceiling Cloud Pro already gets, since self-hosted has no plan tier gating it in the first place.
I hope this gets a consideration. Thank you
Recommended threads
- Self Hosted GitHub connection not adding...
After upgrading to 1.9.6 i noticed that i cannot search for new repositories when trying to add new functions. I removed the existing github connection via Set...
- Android SDK: Kotlin null Value Not Updat...
Hi team, I think you should check the Android SDK implementation once, as it seems to have an issue handling Kotlin **null** values. For example: When I send:...
- Unable to init function via cli
Hello! I have created a new self hosted instance of appwrite 1.9.6 and have connected to that insatnce with the cli 27.2.0 that was released a few hours ago. Wh...