Comments (15)
Startup parameters:
java -XX:+UseSerialGC -Xms512m -Xmx512m -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=64M -XX:CompressedClassSpaceSize=16M -XX:+DisableExplicitGC -cp wiremock-standalonejar:cube-wiremock-extension.jar wiremock.Run --extensions="some transformer classes" --port 8080 --no-request-journal --async-response-enabled --disable-request-logging --global-response-templating --permitted-system-keys="..."
Health endpoint not used at the moment (will be).
I'll try to get a heapdump, but it will take a few days.
from wiremock.
The leak is fixed…
from wiremock.
Hi, many thanks for the issue. Could you please give us a little more information about how you are running WireMock standalone:
- What startup parameters are you using
- Are you constraining the request log in any way
- Are you using a
health
endpoint for WireMock in your environment and if so is that via a stub you have created or the official admin health endpoint?
If you could provide the above information it will hopefully help us figure out what is happening
from wiremock.
I cannot disclose the heap dump file for security reasons, but I can provide the following information:
from wiremock.
Many thanks for the information. Could I just ask, what stub features they’re using in your tests? I might be useful to know in case it’s a specific matcher or helper (or other feature) that’s leaking
from wiremock.
We use some custom transformers. But I couldn't see any related class in the heap dump.
from wiremock.
What about any matchers that you might be using ?
from wiremock.
We're still investigating, but to me it seems that a cache fills up the heap (I can see HTTP or JSON responses in it)
from wiremock.
Maybe not a leak. We'll try to add "--max-template-cache-entries" to the command line.
from wiremock.
Interesting. Many thanks for the investigation you are doing
from wiremock.
--max-template-cache-entries: Set the maximum number of compiled template fragments to cache. Only has any effect when response templating is enabled. Defaults to no limit.
The "defaults to no limit" strategy seems reckless :)
from wiremock.
Yeah, would be really interested to know if that solves your issue or just uncovers something else
from wiremock.
That is great to hear. I'll talk to the team about maybe defaulting --max-template-cache-entries
to a sensible value. Are you happy to close this issue now?
from wiremock.
Yes please.
Thank you.
from wiremock.
Closed after solution found with setting --max-template-cache-entries
from wiremock.
Related Issues (20)
- FileItemPartAdapter returning multipart's field name instead of a filename
- Avoiding reading zipfile entries repeatedly in ClasspathFileSource
- Support disabled state for stub mappings HOT 1
- Add a unique id to the template request model
- Add self-description callback(s) to MatchResult for use in Diff
- Report webhook errors and results as sub-events
- Support mTLS (client certificate) for standalone WireMock client
- urlPathTemplate does not work in combination with queryParameters HOT 1
- Allow loading a stub for a single file instead of a directory
- Make checking for duplicate IDs optional HOT 2
- No command line option to set template escape disabled to false
- ID reported as already taken when registering a single stub HOT 2
- Optimal order of offsetting and truncating expected date/time values
- Recording fails when JSON in a request was invalid
- could not find helper: "jsonMerge" HOT 3
- Add idle timeout configuration when running as forward (browser) proxy
- Add support for HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables
- PatternSyntaxException in PathTemplate.SPECIAL_SYMBOL_REGEX on Android HOT 1
- Support removeAndGet method on stores
- Support for configuring cipher suites of WiremockServer in WireMockConfiguration
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wiremock.