Commit Graph

12453 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
1abe1da5b3
build: bump version to v0.14.0-beta.rc3 2021-11-08 18:28:22 -08:00
Olaoluwa Osuntokun
c28b26935c
Merge pull request #5950 from guggero/middleware-request-id
RPC middleware: turn request ID into end-to-end identifier
2021-11-08 18:26:20 -08:00
Olaoluwa Osuntokun
c57b573f23
Merge branch 'master' into middleware-request-id 2021-11-08 18:25:35 -08:00
Olaoluwa Osuntokun
5166e19e9e
Merge pull request #5948 from guggero/daemon-error-logging
Fix logging issues, cleanup config parsing
2021-11-08 18:05:12 -08:00
Olaoluwa Osuntokun
e7e3adeb98
Merge pull request #5941 from bhandras/graph_cache_deadlock
channeldb: avoid locking the graph cache while iterating channels
2021-11-08 17:51:07 -08:00
Oliver Gugger
842221aab2
config: move directory creation to after path fixes
Fixes #5927.
This commit moves the code that attempts to create parent directories to
the correct place _after_ we've adjusted all path values to point to the
correct places. Before this commit the macaroon and tor paths would
point to their default locations, even if the --lnddir flag was
specified.
2021-11-08 22:39:41 +01:00
Oliver Gugger
35b4382f7a
docs: update release notes 2021-11-08 22:39:41 +01:00
Oliver Gugger
41c579fd09
multi: run go fmt with go 1.17 2021-11-08 22:39:41 +01:00
Oliver Gugger
602d2065eb
lnd: make sure error is logged to file
Fixes #5936.
This commit makes sure every error that causes the Main() function to
return is logged to the log file in addition to being printed to stderr.
2021-11-08 15:15:27 +01:00
Oliver Gugger
338afef862
lnd: standardize printing to stdout
With this commit we standardize the error messages in the config parsing
section of the main package. We only print to stdout/stderr in a single
place and also make sure the same error is printed to the log (which
might or might not yet be initialized at that point).
2021-11-08 15:12:56 +01:00
Oliver Gugger
87a49b17cc
docs: add release notes 2021-11-08 15:03:00 +01:00
Oliver Gugger
54a25146f4
rpcperms: add unique request ID
This commit adds a unique request ID that is the same for each gRPC
request and response intercept message or each request/response message
of a gRPC stream.
2021-11-08 15:01:26 +01:00
Oliver Gugger
9a28a4a9ff
lnrpc+rpcperms+lntest: add unique MW message ID
This commit adds a new unique intercept message ID that is different for
each message sent to an RPC middleware. This will allow us to re-purpose
the existing request ID field into its original intention, which was to
have a unique ID for a full gRPC request/response pair or gRPC stream as
a whole.
2021-11-08 15:00:29 +01:00
Andras Banki-Horvath
0beaee0336
docs: update release notes 2021-11-08 12:40:18 +01:00
Andras Banki-Horvath
3df216f6c3
channeldb: avoid locking the graph cache while iterating channels
It may happen that we do pathfinding while also attempt to change the
graph. In this case changing the database, channel state, graph while
reading from the same sources may create deadlocks. To resolve this we
change locking policy in the graph cache when pathfinding.
2021-11-08 12:40:14 +01:00
Oliver Gugger
54584aabb6
Merge pull request #5930 from guggero/no-seed-backup-macaroon
config_builder: always send admin macaroon
2021-11-05 11:54:36 +01:00
Oliver Gugger
77e457a48e
docs: update release notes 2021-11-05 10:50:07 +01:00
Oliver Gugger
08b196e236
config_builder: always send admin mac on chan 2021-11-05 10:49:37 +01:00
Oliver Gugger
87c5b76e4d
lnd: simplify listener creation 2021-11-05 10:49:37 +01:00
Olaoluwa Osuntokun
b7b3326433
build: bump version to v0.14.0-beta.rc2 2021-11-04 17:58:29 -07:00
Olaoluwa Osuntokun
55d983dee7
server: defer ticker stop to avoid goroutine leak 2021-11-04 17:53:36 -07:00
Olaoluwa Osuntokun
1ab5cc3ae8
Merge pull request #5925 from ellemouton/staggerConnToMultipleAddresses
server: stagger connReqs to multi-address peers
2021-11-04 17:48:49 -07:00
Olaoluwa Osuntokun
5404fe82c1
Merge pull request #5873 from Roasbeef/rpc-graph-cache
channeldb+rpc: optimize graph related RPC calls
2021-11-04 17:38:28 -07:00
Olaoluwa Osuntokun
7d6915d17c
Merge pull request #5902 from Roasbeef/lru-chan-upd
discovery: revamp premature update map
2021-11-04 16:46:28 -07:00
Olaoluwa Osuntokun
090b917ee2
docs/release-notes: add entry for rpc graph cache 2021-11-04 15:30:36 -07:00
Olaoluwa Osuntokun
67e18e6089
rpc: optimize DescribeGraph by caching the response
Unfortunately, we can't use the graph cache directly here as it doesn't
include all the information we need, since it only includes the minimal
amount of information needed for path finding.

Instead, we use a simple mutex guarded cache that evicts itself after a
certain interval. The default is set small enough that most users
shouldn't really notice. We also provide a way to disable the cache, and
also disable the cache in the itests.

Fixes https://github.com/lightningnetwork/lnd/issues/1232
2021-11-04 15:30:31 -07:00
Olaoluwa Osuntokun
79406696ad
rpc: optimize GetNetworkInfo by using the channel graph cache 2021-11-04 15:30:29 -07:00
Olaoluwa Osuntokun
fae470293f
channeldb: add new ForEachNode method using the channel graph cache
This commit, adds a new ForEachNode method to the channel graph cache
that assumes the contents won't be modified. This is generally useful,
and will be used in a later commit to optimize some heavy RPC calls.
2021-11-04 15:30:25 -07:00
Olaoluwa Osuntokun
75ae7e68b0
docs/release-notes: add new entry for gossip cache revamp 2021-11-04 15:21:25 -07:00
Olaoluwa Osuntokun
5a8255550b
discovery: revamp recent rejects map
Similar to the prior commit, in this commit, we move to using a basic
LRU cache to store the set of prior rejected messages.
2021-11-04 15:21:20 -07:00
Olaoluwa Osuntokun
8627b5d128
discovery: revamp premature update map
Turns out we need it right now to handle some low latency race
conditions in our integration tests, so we'll opt to simply cap the size
of it to a low amount. We use a basic LRU caching mechainsm.

Fixes https://github.com/lightningnetwork/lnd/issues/5076
2021-11-04 15:21:18 -07:00
Olaoluwa Osuntokun
fbbf10fecd
Merge pull request #5933 from Roasbeef/neutrino-13
build: upgrade to neutrino v0.13.0
2021-11-04 15:18:13 -07:00
Olaoluwa Osuntokun
36acb107f7
docs/release-notes: add entry for neutrino version upgrade 2021-11-04 15:16:36 -07:00
Olaoluwa Osuntokun
cc643fc0d8
build: upgrade to neutrino v0.13.0
Includes some bug fixes, and a measure to make some heretics more
taproot-proof.
2021-11-04 13:59:14 -07:00
Elle Mouton
ac4fe5ff2e
docs: update release notes 2021-11-04 13:27:38 +02:00
Elle Mouton
6ec9c3c58f
server: stagger multi addr connection attempts
In this commit, we stagger the connection attempts to the multiple
addresses of a peer.
2021-11-04 13:27:33 +02:00
Elle Mouton
b9b7ea2a6a
server: use one func for peer re-connection
Let the connectToPersistentPeer func handle all connection attempts to
persistent peers so that that logic is in once place.
2021-11-04 13:08:50 +02:00
Elle Mouton
789f00746b
server: cleanup persistentPeerAddr when pruned
Delete all the stored addresses from the persistentPeerAddr map when we
prune the persistent peer.
2021-11-04 13:05:40 +02:00
Olaoluwa Osuntokun
a6f22c6185
Merge pull request #5928 from Roasbeef/bitcoind-22
script: update CI to bitcoind 22
2021-11-03 18:10:40 -07:00
Olaoluwa Osuntokun
906120d80c
docs/release-notes: add bitcoind 22 to release notes 2021-11-03 16:43:32 -07:00
Olaoluwa Osuntokun
56d00f40ef
script: update CI to bitcoind 22 2021-11-03 16:43:27 -07:00
Olaoluwa Osuntokun
859c6d7ac5
Merge pull request #5922 from Roasbeef/graph-cache-panic-fix
channeldb: fix crash when inbound policy is unset
2021-11-03 10:30:35 -07:00
Andras Banki-Horvath
4d4b525058
docs: update release notes 2021-11-02 20:19:07 -07:00
Olaoluwa Osuntokun
fc2a29f717
channeldb: add failing test to demonstrate panic w/o graph cache
This test panics as is, since we assume the inbound edge is always
there.
2021-11-02 20:19:01 -07:00
Andras Banki-Horvath
ea5d43a2a8
channeldb: fix crash when inbound policy is unset 2021-11-02 20:18:58 -07:00
Olaoluwa Osuntokun
b99157efbe
Merge pull request #5905 from guggero/itest-fixes
itest: fix two flakes
2021-11-02 14:59:37 -07:00
Oliver Gugger
eb2be7c7c0
lntest: count unconfirmed balance as well
It looks like in some cases (apparently mostly on Windows) a previous
sub test sometimes leaves some unconfirmed balance in the wallet. That
balance is confirmed in the next test when new coins are sent to the
wallet.
2021-11-02 20:36:45 +01:00
Oliver Gugger
066a83315e
docs: update release notes 2021-11-02 20:36:43 +01:00
Oliver Gugger
2a6f128a43
itest: wait for channel to be properly closed
It looks like in some cases a channel is still being closed while we
already try to create a sweep output. In that case the pending closed
channel is still counted as anchor channel and a reserve output is
created. To make sure that doesn't happen, we make sure there are no
pending or open channels of any kind around before we create the sweep
transaction.
2021-11-02 20:36:27 +01:00
Oliver Gugger
2ca3eea3f7
itest: fix REST WebSocket ping/pong itest
This commit fixes a flake in the REST itest that was caused by an
invoice being created before the actual subscription client was
registered.
2021-11-02 20:36:26 +01:00