forked from lightningnetwork/lnd
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Graph abstract 1 #172
Open
ellemouton
wants to merge
39
commits into
master
Choose a base branch
from
graphAbstract-1
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Graph abstract 1 #172
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In this commit, we add a rapid derived fuzz test for the HtlcAuxBlob test. This uses the rapid (randomized property testing) into Go's built in fuzzer. This wrapper will use the fuzz stream, and pass that into rapid where the stream is used to make structured test inputs which are tested against the existing properties. This can be done more widely in the codebase, we pick a simple example to port first before tackling others.
Make sure WgWait() doesn't block.
Removed 'cancel' argument, because it is called only in case the context has already expired and the only action that cancel function did was cancelling the context.
If ContextGuard lives for some time after Quit method is called, the map won't be collected by GC. Optimization.
Simplifies context cancellation handling by using context.AfterFunc instead of a goroutine to wait for context cancellation. This approach avoids the overhead of a goroutine during the waiting period. For ctxQuitUnsafe, since g.quit is closed only in the Quit method (which also cancels all associated contexts), waiting on context cancellation ensures the same behavior without unnecessary dependency on g.quit. Added a test to ensure that the Create method does not launch any goroutines.
Signed-off-by: peicuiping <[email protected]>
Pull reviewers statsStats of the last 30 days for lnd:
|
Pull Request Test Coverage Report for Build 12782803960Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
…tifactAction .github: bump upload-artifact action to v4
scripts/keys: update pub key for ellemouton
chore: fix some typos
Fix some typos
…t-guard fn: optimize context guard
This bump includes a fix which prevents attribute value quoting if the value string contains a newline character. This is so that if we call spew.DumpS(), the output will stay nicely formatted. The update also includes a couple more Hex helpers which we can make use of now.
Update to use the latest version of the GoroutineManager which takes a context via the `Go` method instead of the constructor.
So that we dont have to remember to add the `FSM(%v)` prefix each time we write a log line.
protofsm: update GR Manager usage and start using structured logging
This commit updates the fn dep to the version containing the updates to the ContextGuard implementation. Only the htlcswitch/link uses the guard at the moment so this is updated to make use of the new implementation.
…ntextGuard htlcswitch+go.mod: use updated fn.ContextGuard
…gisterToRegisteredInStartingDebugLogs chore: change 'register' to 'registered' in lnrpc starting debug logs [skip ci]
chainntnfs: fix test `testSingleConfirmationNotification`
…c-blobs contractcourt: add rapid derived fuzz test for HtlcAuxBlob
The sweeper subsystem uses now also the configured budget values for HTLCs
…emissingedge bugfix createmissingedge
Simplify the ChannelGraphSource interface by removing this unused method.
For consistency in the graphsessoin.graph interface, we let the FetchNodeFeatures method take a read transaction just like the ForEachNodeDirectedChannel. This is nice because then all calls in the same pathfinding transaction use the same read transaction.
ellemouton
force-pushed
the
graphAbstract-1
branch
from
January 15, 2025 06:26
78e2cf5
to
e2e3618
Compare
This commit adds a new GraphSources interface that LND requires for graph related read-only queries. As of this commit, the interface is empty but it will be populated over the next couple of commits. We add an implementation of this interface backed by a pointer to a graphdb.ChannelGraph. The infrustructure is put into place so that the GraphSoure provided to LND can be overridden by a caller of the lnd.Main function. By default, LND will satisfy the interface itself via the new `graphsource.DBSource` struct.
And completely remove the need for the graph/session package. Now that we have a `DBSource` implementation of the `GraphSource`, we can now use that to hide the details of the underlying transaction that is started in a pathfinding session.
In preparation for having a GraphSource implementation backed by either different DB sources (sqlite/postgres which will take a context) or a remote source over RPC, we update these methods to take a context and start threading through context to the call sites. The next commit will aim to remove all the context.TODO()s added in this commit.
And remove all the context.TODO()s from the previous commit.
ellemouton
force-pushed
the
graphAbstract-1
branch
from
January 15, 2025 06:29
e2e3618
to
039b660
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.