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

Rationalize based on Platform properties taxonomy :: Node-local/Network and Static/Dynamic #104

Closed
tinker-michaelj opened this issue May 12, 2020 · 0 comments · Fixed by #1204
Assignees
Labels
Bug An error that causes the feature to behave differently than what was expected based on design. P1 High priority issue, which must be completed in the milestone otherwise the release is at risk. Tech Debt Reduced Issues which reduce technical debt.

Comments

@tinker-michaelj
Copy link
Collaborator

Let us define network and node-local properties as follows:

  • A network property's value may affect the result of processing a consensus txn.
  • A node-local property's value never affects the result of processing a consensus txn.

Network properties must, of course, be identical across all nodes in the network at all moments in consensus time. On the other hand, node-local properties may vary arbitrarily among nodes. (For example, the choice of Netty NIO driver would be different between a Linux and Windows.)

Let us also define static and dynamic properties as follows:

  • A static property's value is resolved exactly once, during node startup.
  • A dynamic property is a setting whose value is resolved at every point of use.

This gives us a taxonomy of four property types: (1) static network, (2) dynamic network, (3) static node-local, and (4) dynamic node-local.

Each type of property should be externalized, managed, and applied differently. (For example, the only safe use of a static network property when bootstrapping the network.)


This issue is to rationalize how Services uses properties based on this taxonomy.

@tinker-michaelj tinker-michaelj added Bug An error that causes the feature to behave differently than what was expected based on design. Code cleanup P1 High priority issue, which must be completed in the milestone otherwise the release is at risk. labels May 12, 2020
@tinker-michaelj tinker-michaelj self-assigned this May 12, 2020
tinker-michaelj pushed a commit that referenced this issue Dec 15, 2020
Signed-off-by: failfmi <oscurocalma@gmail.com>
@nathanklick nathanklick added Tech Debt Reduced Issues which reduce technical debt. and removed Code cleanup labels Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug An error that causes the feature to behave differently than what was expected based on design. P1 High priority issue, which must be completed in the milestone otherwise the release is at risk. Tech Debt Reduced Issues which reduce technical debt.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants