Comments (4)
While we're at it, perhaps it makes sense to also introduce the concept of mission control namespaces? This way you can import some outside weights to an independent namespace, then specify later on if you want to use that or the "default" namespace.
This also has some overlap with this issue to support profiles for the configs as well: #7812. A combo of both would facilitate A/B testing of the various knobs and path finding algos we have.
from lnd.
In the context, one should also check whether the parameters from SetMissionControl can be persisted. Currently, the lnd.conf must also be changed if you want to have the same parameters after the next restart.
In my opinion, parameters that are changed via the API should be persisted. To avoid inconsistencies with the command line flags, these should therefore be removed and the defaults for fresh lnd instances should be hard-coded.
Good point, this is basically the idea of namespaces described by roasbeef in #7812, keeping the default (global) config as in the lnd.conf but being able to create router profiles (tagged via namespaces probably and persited to disc) and then also being able to attach those profiles to the send payment requests.
from lnd.
While we're at it, perhaps it makes sense to also introduce the concept of mission control namespaces? This way you can import some outside weights to an independent namespace, then specify later on if you want to use that or the "default" namespace.
Just to clarify my understanding: So we would add a new field to the MC entry called namespace
which binds the entry to the specific router profile for example. So every entry can only have 1 namespace attached to it ? If so this would increase the requirement of the MC data, LND would have to keep in memory, or maybe we would have to redesign how we handle the memory MC data so that we only have the loaded namespace related data loaded into memory otherwise the memory consumption might be harmful for the overall stability of the daemon.
Regarding this topic, @mohamedawnallah was doing some stress testing and loading up to 500_000 MC paris into LND which currently LND would just accept and that would lead to a OOM crash. I think we need to make LND more robust in the course of this PR, meaning that we only load for example most recent data into memory and fetch the other data when needed from the db, so we don't have the whole data set loaded in memory ?
I wonder if we should prioritze this architectural issue, because the current Routing Graph seem to not exceed 110000 MC pairs which LND can still handle (depending on the system obviously).
from lnd.
In the context, one should also check whether the parameters from SetMissionControl can be persisted. Currently, the lnd.conf must also be changed if you want to have the same parameters after the next restart.
In my opinion, parameters that are changed via the API should be persisted. To avoid inconsistencies with the command line flags, these should therefore be removed and the defaults for fresh lnd instances should be hard-coded.
from lnd.
Related Issues (20)
- [bug]: `lncli getdebuginfo` not showing the current state of config HOT 8
- [bug]: externalhosts does not advertize IPv4+IPv6 domain HOT 2
- [bug]: Potential Deadlock in HodlInvoice logic HOT 11
- [Failing test]: Unexpected number of transactions in mempool in neutrino channel force closure itest
- `LeaseOutput` is slow with postgres backend HOT 1
- [bug]: confirmed funds gone after sweeping all tx HOT 1
- [bug]: routerClient.BuildRoute does not consider inbound fees HOT 5
- [feature]: Add `CanSend` amount to listchannels output HOT 1
- [feature]: sweep: batch inputs with similar deadlines HOT 1
- invoices lacking routing hints, made from zero_conf channels, yield "NO_ROUTE" on payment attempts in first few minutes of the channel's life HOT 4
- [epic]: ChannelDB, Graph, Gossiper and Router separation
- [epic]: Payment and Router separation
- [epic]: revive `ChannelRouter` as the layer 3 within the ln stack
- [bug]: Not able to bumpclosefee of an anchor channel in a special case (no HLTCs at stake). HOT 4
- References to known test flakes and planned fixes
- [bug]: Pending Force Close Channel with negative blocks till maturity. HOT 2
- build: enable coveralls as a required check
- [bug]: On restart LND attempts to broadcast different FC tx for already closing channel, shuts down HOT 6
- [bug]: recent security vulnerability not listed on github security page HOT 1
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 lnd.