Elle Mouton
f5b50afb92
itest: make invoice mig helpers re-usable
...
Refactor to make some of the invoice migration helpers re-usable so that
we can use them for the graph migration itests.
2025-07-15 06:35:24 +02:00
Elle Mouton
902611d86a
lnd: plug in graph SQL migration into dev build
...
This commit plugs in the graph kvdb-to-sql migration for builds
containing the `test_native_sql` tag. This will allow us to perform
local tests and write itests for the migration without exposing it to
the production release build.
2025-07-15 06:34:31 +02:00
Elle Mouton
223cec442b
itest: use random hash gen helper
2025-07-15 06:31:51 +02:00
Oliver Gugger
5bb2277749
Merge pull request #10070 from yyforyongyu/fix-invoice-unit-test
...
Fix invoice unit test `TestInvoiceRegistry`
2025-07-14 00:48:28 -06:00
Oliver Gugger
e62e4918cc
Merge pull request #9659 from Abdulkbk/benchmark-fns
...
fn: fix flake in TestPropForEachConcOutperformsMapWhenExpensive
2025-07-14 00:47:01 -06:00
Elle
add81f1388
Merge pull request #10064 from ellemouton/getChanInfoGrpcErr
...
rpcserver: return consistent grpc NotFound error for GetChaninfo & LookupInvoice
2025-07-14 08:34:46 +02:00
yyforyongyu
5d5e635c48
invoices: fix typos
2025-07-14 13:48:10 +08:00
yyforyongyu
5d0c787856
invoices: remove the global mock htlcModifierMock
...
This can create race in the tests.
2025-07-14 13:44:45 +08:00
Elle
6b326152d4
Merge pull request #10038 from ellemouton/graphMig3-indexes
...
[graph mig 3]: graph/db: migrate zombies, closed SCIDs, prune log from kvdb to SQL
2025-07-11 10:52:34 +02:00
Elle Mouton
c2fcaae7ec
docs: add release notes entry
2025-07-11 09:36:19 +02:00
Elle Mouton
8b82a5c8fe
graph/db: migrate zombie index to SQL
...
This commit expands `MigrateGraphToSQL` to include migration of the
zombie index.
NOTE: we take this opportunity to clean up the zombie index a bit by
first checking for each channel in the zombie index if it has been
marked as closed in the closed-scid index. If it has, then there is no
need to include it in the zombie index. A special case test for this
is added too.
2025-07-11 09:36:17 +02:00
Elle Mouton
0cb17bbbe5
graph/db: migrate closed SCID index
...
This commit expands `MigrateGraphToSQL` to include the migration of the
closed-scid index.
2025-07-11 09:36:14 +02:00
Elle Mouton
03ede9ccef
graph/db: migrate prune log
...
This commit expands the `MigrateGraphToSQL` to include migration of the
prune log.
2025-07-11 09:15:47 +02:00
Oliver Gugger
63609b0801
Merge pull request #10061 from yyforyongyu/fix-listsweep-itest
...
itest+lntest: fix flake in `testListSweeps`
2025-07-11 00:25:48 -06:00
Oliver Gugger
04a2be29d2
Merge pull request #10066 from ellemouton/graphFixMergeIssue
...
graph/db: fix sql test compilation
2025-07-10 08:08:42 -06:00
Elle Mouton
36f8a66b5a
graph/db: remove temporary test skip
...
The skip is no longer needed.
2025-07-10 14:54:04 +02:00
Elle Mouton
b7d4f80e3e
graph/db: pass in ctx to test method
...
Fix compilation error.
2025-07-10 14:53:10 +02:00
Oliver Gugger
8ee661f18f
Merge pull request #10043 from ellemouton/ctx3
...
multi: add context.Context param to more graphdb.V1Store methods
2025-07-10 13:40:51 +02:00
Torkel Rogstad
ed7b056ced
docs: update release notes
2025-07-10 11:36:20 +02:00
Torkel Rogstad
c8b04d03f5
itest+lntest: add grpc NotFound error code test
2025-07-10 11:36:20 +02:00
Elle Mouton
23c3aaac6a
rpcserver: catch extra err case in LookupInvoice
...
For a kvdb backed invoices DB, we sometimes will return the
ErrNoInviocesCreated error if no invoices have ever been created on the
node. In these cases we should still wrap the returned error in the grpc
NotFound code.
2025-07-10 11:21:37 +02:00
Torkel Rogstad
7a52b6ca5e
rpcserver: return consistent grpc NotFound error for GetChaninfo
...
So that we can properly convert this NotFound error back to our
`graphdb.ErrEdgeNotFound` error if we are making this call to another
node via RPC.
2025-07-10 11:21:31 +02:00
Olaoluwa Osuntokun
4fef0f4d7a
Merge pull request #10001 from yyforyongyu/finalize-stfu
...
Enable quiescence in production and add timeout config
2025-07-09 19:01:48 -07:00
Abdullahi Yunus
3c759ef081
fn: remove flaky test
...
In this commit, we remove TestPropForEachConcOutperformsMapWhenExpensive
as it's flaky and causes the CI to fail. The previous commit intro-
duced a replacement, which benchmarked the functions.
2025-07-09 21:21:45 +01:00
Abdullahi Yunus
36dfed1cba
fn: add benchmark for Map and ForEachConc fns
2025-07-09 21:21:45 +01:00
yyforyongyu
52d963bae0
itest+lntest: fix flake in testListSweeps
...
We now make sure we assert the `ListSweeps` results in a wait closure.
2025-07-09 20:52:02 +03:00
Oliver Gugger
0e830da9d9
Merge pull request #10058 from ellemouton/fix/rpc-graph-cache-race
...
rpcserver: fix race condition in graph cache eviction
2025-07-09 17:09:38 +02:00
Oliver Gugger
10209b9301
Merge pull request #10059 from ellemouton/geminiStyle
...
.gemini: add styleguide.md
2025-07-09 17:08:46 +02:00
Elle Mouton
b62793ada8
.gemini: add styleguide.md
...
Add a styleguide for gemini derived from docs/development_guidelines.md.
2025-07-09 16:22:32 +02:00
Oliver Gugger
ea32aac770
Merge pull request #10050 from ellemouton/graphMig2-channels
...
[graph mig 2]: graph/db: migrate graph channels and policies from kvdb to SQL
2025-07-09 13:09:27 +02:00
Elle Mouton
ef181adbc8
rpcserver: fix race condition in graph cache eviction
...
The previous implementation of the graph cache evictor used
time.AfterFunc, which introduced a race condition. The closure
passed to AfterFunc could execute before the call returned and
assigned the timer to the r.graphCacheEvictor field.
This created a scenario where the closure would attempt to call
Reset() on a nil r.graphCacheEvictor, causing a panic.
This commit fixes the race by replacing time.AfterFunc with a
more robust pattern using time.NewTimer and a dedicated goroutine.
The new timer is created and assigned immediately, ensuring that
r.graphCacheEvictor is never nil when accessed.
The dedicated goroutine now safely manages the timer's lifecycle,
resetting it upon firing and stopping it gracefully upon server
shutdown, which also prevents goroutine leaks.
2025-07-09 11:56:09 +02:00
Elle Mouton
640caeff39
docs: add release notes entry
2025-07-09 10:18:57 +02:00
Elle Mouton
b58089049a
graph/db: migrate channels and polices to SQL
...
In this commit, the `MigrateGraphToSQL` function is expanded to migrate
the channel and channe policy data. Both of these have the special case
where the kvdb store records may contain invalid TLV. If we encounter a
channel with invalid TLV, we skip it and its policies. If we encounter a
policy with invalid TLV, we skip it.
The `TestMigrateGraphToSQL` and `TestMigrationWithChannelDB` tests are
updated accordingly.
2025-07-09 10:18:57 +02:00
Olaoluwa Osuntokun
fb68f36acb
Merge pull request #10048 from ziggie1984/fix-utxonursery-encoding
...
contractcourt: fix encoding
2025-07-08 16:55:40 -07:00
Olaoluwa Osuntokun
d40ac4564b
Merge pull request #10044 from ziggie1984/fix-shutdown-issue
...
Fix Shutdown deadlock in some scenarios
2025-07-08 16:53:30 -07:00
ziggie
354585e9dc
docs: add release-notes
2025-07-08 20:10:31 +02:00
ziggie
7a363ee17f
chanbackup: fix shutdown issue when backuper has not started yet
2025-07-08 20:10:31 +02:00
Oliver Gugger
47dce08948
Merge pull request #10018 from yyforyongyu/minor-refactor-link
...
Refactor link's long methods
2025-07-08 19:51:04 +02:00
ziggie
9bff22864e
docs: add release notes
2025-07-08 19:16:28 +02:00
ziggie
1b675273fe
contractcourt: fix encoding
2025-07-08 19:16:28 +02:00
Oliver Gugger
df1a15f0f1
Merge pull request #10041 from ziggie1984/fix-fwd-pkg-garbage-collection
...
channeldb: gc fwd packgages which have zero ADDs
2025-07-08 18:30:47 +02:00
Elle Mouton
793c1057bb
graph: remove one context.TODO
...
By threading a context through to the Builder's ForAllOutgoingChannels
method.
2025-07-08 15:11:02 +02:00
Elle Mouton
3d5e852c8c
graph/db: let ForEachNodeCached take a context
2025-07-08 15:11:02 +02:00
Elle Mouton
1e804a3d5f
graph/db: let ForEachNode take a context
2025-07-08 15:11:02 +02:00
Elle Mouton
f05ef2db97
graph/db: let ForEachNodeCacheable take a context
2025-07-08 15:10:30 +02:00
Elle Mouton
85fda8b926
routing+server: let ForAllOutgoingChannels take a context
...
And so, remove a previously added context.TODO
2025-07-08 15:10:30 +02:00
Elle Mouton
046e106a17
graph/db: let ForEachChannel take a context
2025-07-08 15:10:30 +02:00
Elle Mouton
f8d3a3f3ba
graph/db: let ForEachNodeChannel take a context
2025-07-08 15:10:30 +02:00
Elle Mouton
67c0f54e13
graph/db+server: let ForEachSourceNodeChannel take a context
2025-07-08 15:10:30 +02:00
Elle Mouton
792970e50c
server: create call-back helper forEachSrcNodeChan
...
We do this so that in an upcoming commit, we can expand the param list
of the call-back without adding another indent to the call-back code.
2025-07-08 15:10:30 +02:00