Skip to content
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

Store completed transactions in files instead of DB #2148

Merged
merged 6 commits into from
Dec 14, 2018

Conversation

yeastplume
Copy link
Member

Cause of #2069, turns out it was a bad idea to store completed transactions in the DB for the 'repost' command, as there appears to be some sort of record size limit that LMDB is silently refusing to commit. When the number of outputs gets beyond a certain point, TxLogEntries with large completed transactions just aren't committed, with no error messages saying anything is wrong.

Makes more sense to store these completed transactions as file data, anyhow, but not 100% sure how to do that without breaking abstraction layers... currently tried to swap out the tx_hex in TxLogEntry with contents of a file on db read/write, however that doesn't entirely work because of iteration methods. Still thinking about how to fix this properly (and fix is very much needed if we want to test large transactions or test performance on wallets with many outputs)

@yeastplume yeastplume changed the title [WIP] Store completed transactions in files instead of DB Store completed transactions in files instead of DB Dec 14, 2018
@yeastplume yeastplume merged commit 8e67805 into mimblewimble:master Dec 14, 2018
@yeastplume yeastplume deleted the multi_output_error branch January 2, 2019 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant