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

release: 2.6.0 #3455

Merged
merged 444 commits into from
Feb 11, 2020
Merged

release: 2.6.0 #3455

merged 444 commits into from
Feb 11, 2020

Conversation

faustbrian
Copy link
Contributor

No description provided.

spkjp and others added 30 commits October 1, 2019 09:49

Co-authored-by: Renovate Bot <bot@renovateapp.com>
)

If the block validation fails and there are any exceptions, instead of
continuing right away, rerun the schema validation without bailing out
on the first encountered error. This ensures all bignumber properties
are properly converted.
Emit `round.missed` whenever an active delegate didn't forge any blocks
during a round.
Prevents memory spikes during bootstrap phase by loading transactions of
the same type in batches instead of all at once into memory during
bootstrap.
The ajv address schema calls `Base58.decodeCheck` to validate the network
byte. But during transaction serialization, the address is also decoded,
so we end up doing it again. By performing the network byte validation
during transaction serialization we can get rid of the decode call during
schema validation. This makes multipayment processing approx. 25% faster.
findByAddress() is returning a reference to the stored wallet object, so
modifying its balance property also modifies what is stored in the
wallet manager, no need to re-insert it.

This boosts the apply phase of the multi-payment bootstrap from
~9sec to ~6sec.
On mainnet database (9912558 blocks, 3171992 transactions):

SELECT * FROM transactions WHERE type = 6;
no index: 700ms, with index: 1ms

SELECT * FROM transactions WHERE type = 1;
no index: 650ms, with index: 14ms

SELECT * FROM transactions WHERE type = 3;
no index: 1280ms, with index: 480ms

SELECT * FROM transactions WHERE type = 0;
no index: 11500ms, with index: 11500ms (the index is not used)

bootstrap
no index: 22sec, with index: 20sec
Disable the TransactionReader because it inflicts a minor performance
regression. However, do not completely delete it from the source code
because we may revisit it later when the database queries start
returning way too many rows to the nodejs app at once. The proper
solution is to execute the database query once and serve the results to
the app on portions using cursors, rather than executing the same query
multiple times and chopping the portions using OFFSET,LIMIT.
* We support utf8 strings for vendor field
* \u0000 (nul byte) is a valid utf8 string
* PostgreSQL cannot store \u0000 in VARCHAR

It follows that we cannot use VARCHAR for storing vendor field.
So use bytea for that.
@faustbrian faustbrian marked this pull request as ready for review February 10, 2020 04:36
@codecov
Copy link

codecov bot commented Feb 10, 2020

Codecov Report

❗ No coverage uploaded for pull request base (master@9ac0c72). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master    #3455   +/-   ##
=========================================
  Coverage          ?   66.16%           
=========================================
  Files             ?      439           
  Lines             ?    12458           
  Branches          ?     1708           
=========================================
  Hits              ?     8243           
  Misses            ?     4181           
  Partials          ?       34

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9ac0c72...13d7f83. Read the comment docs.

@lgtm-com
Copy link

lgtm-com bot commented Feb 10, 2020

This pull request introduces 1 alert and fixes 14 when merging cdfde55 into 9ac0c72 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

fixed alerts:

  • 9 for Unused variable, import, function or class
  • 3 for Unneeded defensive code
  • 2 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Feb 10, 2020

This pull request introduces 1 alert and fixes 14 when merging 3a6b655 into 9ac0c72 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

fixed alerts:

  • 9 for Unused variable, import, function or class
  • 3 for Unneeded defensive code
  • 2 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Feb 11, 2020

This pull request introduces 1 alert and fixes 14 when merging 64fe08c into 9ac0c72 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

fixed alerts:

  • 9 for Unused variable, import, function or class
  • 3 for Unneeded defensive code
  • 2 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Feb 11, 2020

This pull request introduces 1 alert and fixes 14 when merging dabd270 into 9ac0c72 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

fixed alerts:

  • 9 for Unused variable, import, function or class
  • 3 for Unneeded defensive code
  • 2 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Feb 11, 2020

This pull request introduces 1 alert and fixes 14 when merging 13d7f83 into 9ac0c72 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

fixed alerts:

  • 9 for Unused variable, import, function or class
  • 3 for Unneeded defensive code
  • 2 for Useless assignment to local variable

@faustbrian faustbrian merged commit 13d7f83 into master Feb 11, 2020
@ghost ghost removed the Status: Needs Review label Feb 11, 2020
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.