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

Skip transaction size check during replay #1619

Closed
abitmore opened this issue Feb 26, 2019 · 3 comments

Comments

Projects
3 participants
@abitmore
Copy link
Member

commented Feb 26, 2019

User Story
Skipping the transaction size check may (or may not) bring us better performance on replay.

Currently we have this code (introduced by #1586):

FC_ASSERT( head_block_time() <= HARDFORK_CORE_1573_TIME
|| trx.get_packed_size() <= chain_parameters.maximum_transaction_size,
"Transaction exceeds maximum transaction size." );

and we have similar code like this:

if( !(skip & skip_block_size_check) )
{
FC_ASSERT( fc::raw::pack_size(next_block) <= get_global_properties().parameters.maximum_block_size );
}

(I thought I've submitted this somewhere else but did not find it so far. Please close if it's duplicate.)

Impacts
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.

  • API (the application programming interface)
  • Build (the build process or something prior to compiled code)
  • CLI (the command line wallet)
  • Deployment (the deployment process after building such as Docker, Travis, etc.)
  • DEX (the Decentralized EXchange, market engine, etc.)
  • P2P (the peer-to-peer network for transaction/block propagation)
  • Performance (system or user efficiency, etc.)
  • Protocol (the blockchain logic, consensus, validation, etc.)
  • Security (the security of system or user data, etc.)
  • UX (the User Experience)
  • Other (please add below)

Additional Context (optional)
Add any other context about your request here.

CORE TEAM TASK LIST

  • Evaluate / Prioritize Feature Request
  • Refine User Stories / Requirements
  • Define Test Cases
  • Design / Develop Solution
  • Perform QA/Testing
  • Update Documentation
@jmjatlanta

This comment has been minimized.

Copy link
Contributor

commented Feb 26, 2019

Note: The actual size calculation happens in parallel. So the skip logic would need to be around here too:

trx->get_packed_size();

@jmjatlanta jmjatlanta self-assigned this Feb 26, 2019

@ryanRfox

This comment has been minimized.

Copy link
Member

commented Feb 27, 2019

Thanks for assigning yourself @jmjatlanta That helps me know someone will be working it. May I also request you add it to the proper Project Board (Feature or Protocol Upgrade)? It will go into To do by default. You may move it In development when you begin.

@jmjatlanta jmjatlanta added this to To do in Feature Release (3.1.0) via automation Mar 4, 2019

@jmjatlanta jmjatlanta moved this from To do to In development in Feature Release (3.1.0) Mar 25, 2019

@jmjatlanta jmjatlanta moved this from In development to In testing in Feature Release (3.1.0) Apr 11, 2019

@jmjatlanta

This comment has been minimized.

Copy link
Contributor

commented Apr 12, 2019

Fixed by PR #1716

@jmjatlanta jmjatlanta closed this Apr 12, 2019

Feature Release (3.1.0) automation moved this from In testing to Done Apr 12, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.