From 68942de03f5c23e17145a3cc8f8554d77ffabc18 Mon Sep 17 00:00:00 2001 From: wucm667 Date: Thu, 30 Apr 2026 14:37:08 +0800 Subject: [PATCH 1/4] fix(functions): set nofile ulimit for Edge Runtime container The Edge Runtime container was started with Docker's default nofile ulimit (1024 soft), causing "Too many open files" errors for projects with 200+ Edge Functions running long dev sessions. Set nofile ulimit to 65536 (soft and hard) to allow sufficient file descriptors for Deno isolates handling many concurrent functions. Fixes #5151 Signed-off-by: wucm667 --- internal/functions/serve/serve.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/functions/serve/serve.go b/internal/functions/serve/serve.go index dc82f532e4..92a022fcf2 100644 --- a/internal/functions/serve/serve.go +++ b/internal/functions/serve/serve.go @@ -223,6 +223,15 @@ EOF container.HostConfig{ Binds: binds, PortBindings: portBindings, + Resources: container.Resources{ + Ulimits: []*container.Ulimit{ + { + Name: "nofile", + Soft: 65536, + Hard: 65536, + }, + }, + }, }, network.NetworkingConfig{ EndpointsConfig: map[string]*network.EndpointSettings{ From edca74e0f0f42f1f0a78c975089d45566daade76 Mon Sep 17 00:00:00 2001 From: Andrew Valleteau Date: Thu, 30 Apr 2026 10:39:56 +0200 Subject: [PATCH 2/4] chore: add comment internal/functions/serve/serve.go --- internal/functions/serve/serve.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/functions/serve/serve.go b/internal/functions/serve/serve.go index 92a022fcf2..23ad749eca 100644 --- a/internal/functions/serve/serve.go +++ b/internal/functions/serve/serve.go @@ -224,6 +224,7 @@ EOF Binds: binds, PortBindings: portBindings, Resources: container.Resources{ + // Raise nofile to accommodate FD usage from many concurrent Deno isolates (see #5151). Ulimits: []*container.Ulimit{ { Name: "nofile", From 13026313954847e45877524d6fdce9c92e30f2ac Mon Sep 17 00:00:00 2001 From: Andrew Valleteau Date: Thu, 30 Apr 2026 10:40:32 +0200 Subject: [PATCH 3/4] chore: fix comment indent --- internal/functions/serve/serve.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/functions/serve/serve.go b/internal/functions/serve/serve.go index 23ad749eca..a3a9ef96b3 100644 --- a/internal/functions/serve/serve.go +++ b/internal/functions/serve/serve.go @@ -224,7 +224,7 @@ EOF Binds: binds, PortBindings: portBindings, Resources: container.Resources{ - // Raise nofile to accommodate FD usage from many concurrent Deno isolates (see #5151). + // Raise nofile to accommodate FD usage from many concurrent Deno isolates (see #5151). Ulimits: []*container.Ulimit{ { Name: "nofile", From 5a8011c54441445b28109c69c91e40041638ac73 Mon Sep 17 00:00:00 2001 From: avallete Date: Thu, 30 Apr 2026 11:03:34 +0200 Subject: [PATCH 4/4] chore: fix gofmt --- internal/functions/serve/serve.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/functions/serve/serve.go b/internal/functions/serve/serve.go index a3a9ef96b3..38ca9f7e2e 100644 --- a/internal/functions/serve/serve.go +++ b/internal/functions/serve/serve.go @@ -224,7 +224,7 @@ EOF Binds: binds, PortBindings: portBindings, Resources: container.Resources{ - // Raise nofile to accommodate FD usage from many concurrent Deno isolates (see #5151). + // Raise nofile to accommodate FD usage from many concurrent Deno isolates (see #5151). Ulimits: []*container.Ulimit{ { Name: "nofile",