Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
There was a problem hiding this comment.
I'm Bonk, and I've done a quick review of your PR.
This PR adds a ResourceLimits struct (with cpuMs and subRequests) and plumbs it through the dynamic worker loading and entrypoint/actor-class APIs. I found three issues, two of which are high severity.
- [HIGH] Build break:
WorkerStubImplinserver.c++:4107-4114does not accept the newlimitsparameter, so theoverridekeyword will fail to compile against the updated pure virtual interface inWorkerStubChannel. - [HIGH] Bug in
DynamicWorkerSource::clone(): The new.limitsfield is not propagated by theclone()method (io-channels.h:361-372), so cloned sources silently lose their limits. This code path is exercised byWorkerLoader::load(), which callssource.clone()inside a closure that may be invoked multiple times. - [LOW] No tests: There are no tests covering the new
limitsplumbing — neither forWorkerCode.limitsflowing intoDynamicWorkerSource, nor forEntrypointOptions.limitsflowing intogetEntrypoint()/getActorClass().
This review was generated by an AI assistant and may contain inaccuracies.
|
The generated output of |
|
Review posted successfully on PR #6399. Here's a summary of the findings:
|
6dcfdce to
7588383
Compare
Merging this PR will not alter performance
Comparing Footnotes
|
|
|
||
| JSG_STRUCT(cpuMs, subRequests); | ||
|
|
||
| ResourceLimits clone() const { |
There was a problem hiding this comment.
We probably don't need a clone() method since the struct is trivially copyable anyway.
There was a problem hiding this comment.
Yeah, I'd actually shifted the struct out of edgeworker and this method was being used in quite a few places so I let it be as-is for consistency
0f4f880 to
77f9e20
Compare
77f9e20 to
d1dbd0f
Compare
No description provided.