Commit Graph

19563 Commits

Author SHA1 Message Date
Oliver Gugger
df6c02e3af Merge pull request #10068 from ellemouton/graphResetForCallbacks
multi: let all V1Store `ForEach*` methods take a `reset` call-back
2025-07-15 04:54:47 -06:00
Elle Mouton
83f6dc4983 multi: reset for ForEachNodeDirectedChannel 2025-07-15 11:25:10 +02:00
Elle Mouton
13d0bd5ef6 graph/db: let ForEachChannelCacheable take a reset param 2025-07-15 11:25:10 +02:00
Elle Mouton
b3f3766fe6 multi: pass reset to GraphSession 2025-07-15 11:25:09 +02:00
Elle Mouton
e17fd58a1d graph/db: pass reset to ForEachNodeCacheable 2025-07-15 11:25:09 +02:00
Elle Mouton
21ac7ef6f4 multi: add reset to ForEachNode 2025-07-15 11:25:09 +02:00
Elle Mouton
c32bf642d2 multi: pass reset to ForEachNodeCached 2025-07-15 11:23:27 +02:00
Elle Mouton
e5fbca8299 multi: let ForEachNodeChannel take a reset param 2025-07-15 11:23:27 +02:00
Elle Mouton
16126d7703 graph/db: expose reset in ForEachSourceNodeChannel 2025-07-15 11:23:27 +02:00
Elle Mouton
88261834e5 graph/db: expose reset in ForEachChannel
Add a `reset` call-back param to the V1Store ForEachChannel method.
2025-07-15 11:23:26 +02:00
Elle Mouton
e00f0a03fc graph/db: prep SQLStore for reset param
This commit just surfaces the locations in the SQLStore where we will
later pass reset params through.
2025-07-15 11:23:26 +02:00
Elle Mouton
57d4ce0f9b graph/db: expose KVStore locations where a reset is needed
This commit passes no-op reset callbacks to various places where they
are needed in the KVStore. Upcoming commits will replace the no-ops by
adding reset params to the methods that require it.
2025-07-15 11:23:26 +02:00
Oliver Gugger
302551ade0 Merge pull request #10071 from ellemouton/graphSQLMigPlugIn
lnd+itest: plug in graph SQL migration under test tag & add itest
2025-07-15 01:52:30 -06:00
Elle Mouton
a2ffa74684 itest: graph sql migration itest
This commit adds a basic itest that is run under the `test_native_sql`
flag. It tests that the migration is idempotent and that the node cant
be restarted without the `db.use-native-sql` flag once the graph
migration has been run.
2025-07-15 06:40:22 +02:00
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
yyforyongyu
18916daa0c docs: update release notes 2025-07-11 04:11:31 +03:00
yyforyongyu
7a9f197de8 lnwire: simplify dyn decode methods
Remove the unnecessary convertions as suggested by Gemini.
2025-07-11 04:11:31 +03:00
yyforyongyu
91797ad1d2 lnwire: patch test and fix extra data in DynCommit 2025-07-11 04:11:31 +03:00
yyforyongyu
e6ab37305c lnwire: add missing record LocalNonce
This record was never added to the `DynCommit`, but it's inherited from
the embedding msg `DynAck`.
2025-07-11 04:11:30 +03:00
yyforyongyu
f39c3679f2 lnwire: make LocalNonce an optional tlv record and fix extra data
It should be an optional record instead of an fn option. In addition,
its tlv type is bumped to be 14 as this record is also included in the
`DynCommit`. If we use tlv type 0, it will create a conflict in the msg
`DynCommit`, which is fixed in the following commit.
2025-07-11 04:11:30 +03:00
yyforyongyu
b7d2f68ed0 lnwire: patch uint test for DynAck 2025-07-11 04:11:30 +03:00
yyforyongyu
5961f7a1bd lnwire: add method ParseAndExtractExtraData
Similar to `ParseAndExtractCustomRecords`, we now add this helper method
to make sure the extra data is parsed correctly.
2025-07-11 04:11:30 +03:00
yyforyongyu
e94ca84449 lnwire: fix encoding of MilliSatoshi
`MilliSatoshi` itself is already a `BigSize`, we just need to change the
decoding and encoding types to use that.
2025-07-11 04:11:29 +03:00
yyforyongyu
5e9365552c lnwire: fix encoding ExtraData in DynPropose
Previously we encode all the fields plus extra data to the field
`ExtraData`, this is now fixed by encoding only unknown data to extra
data. For known records, they are already encoded into the message
fields.
2025-07-11 04:11:29 +03:00
yyforyongyu
61ef83e9c2 lnwire: patch unit test for DynPropose 2025-07-11 04:09:11 +03:00
yyforyongyu
0f1cb54eb2 lnwire: use BigSize for encoding btc amount 2025-07-11 04:09:11 +03: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