Comments (2)
There seems to be a goroutine leak in interfacename.InterfaceNameChache:
- ReleaseTrigger() usage is faulty: started goroutine is not cancelled if the release gets aborted
- There's also no point calling releaseTrigger() a second time in pendingRelease() if the inteface name couldn't be cancelled immediately in Release().
This problem might arise, if NSM is trying to heal a TAPA connection. The longer it takes to connect with a Proxy, the more goroutines are created. If I'm not mistaken, these goroutines should eventually exit (after 10 minutes or so), but they increase memory usage till then.
Yet, there's another independent issue leading to increased memory usage when Conduit connection is periodically closed and re-opened as described in the bug description.
from meridio.
Another leak looks to be related to the recurring connectNSPService() call that spams workloadapi.NewX509Source() through credentials.GetClient(), while the new source will get never released. The meridio/pkg/security/credentials pkg is basically faulty and requires redesign.
Note:
The Trench is cleaned-up upon Stream close when all Conduits are disconnected in a Trench. Then will get re-created on a subsequent Stream open.
TODO: Would be worth tracking down and checking all occurrences of workloadapi.NewX509Source() for possible resource leakage.
from meridio.
Related Issues (20)
- NSMgr restart can lead to faulty TAPA connections
- Install Meridio on kind cluster: proxy-load-balancer-a1-xxx stuck failed Readiness probe HOT 7
- Increased NSE expiration time might cause traffic disturbance
- FE-LB PMTU discovery support
- FE should accept non-default routes from BGP peers
- missing k8s default route leads to egress PMTUD problem
- Add MTU configuration option to Conduit Custom Resource
- Operator based resource annotation not working
- After proxy restart the target pod still uses the old proxy MAC. HOT 3
- Meridio Frontend starts attracting traffic before cluster internal connections are ready. HOT 2
- The MAC-address for the IP-address of the Proxy is changed sometimes. HOT 2
- Replace 3rd party grpc-healh-probe binary in probes invoked internally
- Rework liveness probes to recover containers in case of local server failures
- TAPA Target advertisement not updated during NSM connection issue
- proxy: Invalid nexthop IPs HOT 1
- Proxy releases NSM connection IPs too early HOT 1
- IPAM improvements
- NSM v1.13.0 sdk update
- router ID generation must be addressed in case of IPv6
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 meridio.