-
Notifications
You must be signed in to change notification settings - Fork 961
Big nodes, big loads and lots of (overdue) optimizations #8677
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
Open
rustyrussell
wants to merge
34
commits into
ElementsProject:master
Choose a base branch
from
rustyrussell:guilt/bkpr-post-migration
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
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
d4e5a30
bookkeeper: fix printing of bad JSON results.
rustyrussell 8b7f351
plugins/sql: remove size limit.
rustyrussell 0c7c415
plugins/sql: print times taken to do list comand, populate table, and…
rustyrussell 76687dd
bookkeeper: no longer read listchannelmoves 1000 entries at a time.
rustyrussell 0cd1624
Revert "bookkeeper: don't flood logs if we have many channelmoves all…
rustyrussell 76f5ae8
pytest: latency and speed test on large coinmoves.
rustyrussell 52b479a
lightningd: don't copy hooks array into hook request, simply don't sh…
rustyrussell 19a05e7
lightningd: don't loop through all commands every time one finishes.
rustyrussell 10d2745
common: remove tracing exponential behaviour from large numbers of re…
rustyrussell fca97f7
common: avoid allocations for small numbers of traces.
rustyrussell 3f13e71
pytest: increase test_generate_coinmoves to 2M entries.
rustyrussell b76ad39
lightningd: handle large numbers of command outputs gracefully.
rustyrussell 15ea6c1
JSONRPC: use a bigger default buffer.
rustyrussell f9cadf5
lightningd: support "filters" in plugins manifest to restrict when ho…
rustyrussell f80602b
lightningd: add support for filters on "rpc_command" hook.
rustyrussell 9cfe0d0
libplugin: allow plugins to register optional filters for each hook t…
rustyrussell 4c90473
xpay: use filtering on rpc_command so we only get called on "pay".
rustyrussell c0a5f62
pyln-client: support hook filters.
rustyrussell ed4349b
lightningd: allow filtering on custommsg hook too.
rustyrussell c5044ef
commando, chanbackup: use custommsg hooks.
rustyrussell 800ff96
common: increase jsonrpc_io buffer size temporarily to aggrevate perf…
rustyrussell 2d01a34
common: optimize json parsing.
rustyrussell 817367c
ccan: update to get io_loop fairness.
rustyrussell 13f93e6
lightningd: don't process more than 100 commands from a JSONRPC at once.
rustyrussell fd989ae
lightningd: don't process more than 100 commands from a plugin at once.
rustyrussell 0dc876c
plugins/sql: use modern data style, not globals.
rustyrussell cfb27fb
sql: if we use `dev-sqlfilename`, don't bother syncing it to disk.
rustyrussell 54cab8e
sql: use wait RPC so we don't have to check listchannelmoves/listchai…
rustyrussell 46c551e
lightningd: optimize find_cmd.
rustyrussell bee028f
bookkeeper: restore limit on asking for all channelmoves at once.
rustyrussell db1f508
sql: limit how many chainmoves/channelmoves entries we ask for at once.
rustyrussell 025e7d9
pytest: increase test_generate_coinmoves to 5M entries.
rustyrussell 41f254d
pytest: test for 1M JSONRPC calls which don't need transactions.
rustyrussell aec622c
db: don't start transactions unless we really need to.
rustyrussell File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically we could save 1/2 RTT by pipelining the transaction start with the first command, i.e., we fire and forget the
BEGINcommand, and immediately queue the actual query that caused us to init a tx behind it. That saves us the return-path from server forBEGIN. At that point we're splitting hairs though ^^Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😲
Wow! We could just prepend "BEGIN;" to the query string. That is... remarkably fugly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, that would not work, since in prepared statements mode there is no slicing statements apart on the server side. It has to be two separate network packets.