-
Notifications
You must be signed in to change notification settings - Fork 143
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
Upgrade to Platform SDK 0.7.0-beta.1, add payer records to state for deterministic duplicate classification #397
Conversation
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
…id tech debt when refactoring NodeAccountsCreation Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Codecov Report
@@ Coverage Diff @@
## master #397 +/- ##
============================================
+ Coverage 74.82% 75.05% +0.23%
- Complexity 3341 3364 +23
============================================
Files 290 293 +3
Lines 11789 11835 +46
Branches 1240 1255 +15
============================================
+ Hits 8821 8883 +62
+ Misses 2637 2605 -32
- Partials 331 347 +16
Continue to review full report at Codecov.
|
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
Signed-off-by: ljianghedera <leo.jiang@hedera.com>
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
…dera-services into 0347-M-UpgradeToSdk070beta1
hedera-node/src/main/java/com/hedera/services/context/properties/BootstrapProperties.java
Show resolved
Hide resolved
hedera-node/src/main/java/com/hedera/services/keys/LegacyEd25519KeyReader.java
Show resolved
Hide resolved
hedera-node/src/main/java/com/hedera/services/records/TxnIdRecentHistory.java
Show resolved
Hide resolved
hedera-node/src/main/java/com/hedera/services/state/expiry/ExpiryManager.java
Show resolved
Hide resolved
hedera-node/src/main/java/com/hedera/services/state/expiry/KeyedExpirations.java
Show resolved
Hide resolved
hedera-node/src/main/java/com/hedera/services/state/expiry/NoopExpiringCreations.java
Show resolved
Hide resolved
hedera-node/src/main/java/com/hedera/services/state/expiry/MonotonicFullQueueExpiries.java
Show resolved
Hide resolved
hedera-node/src/main/java/com/hedera/services/state/validation/BasedLedgerValidator.java
Show resolved
Hide resolved
Signed-off-by: tinker-michaelj <michael.tinker@hedera.com>
…dera-services into 0347-M-UpgradeToSdk070beta1
@@ -157,7 +158,6 @@ private boolean isTreasury() { | |||
try { | |||
return Optional.of(ExchangeRateSet.parseFrom(data)); | |||
} catch (InvalidProtocolBufferException ignore) { | |||
log.warn(ignore.getMessage()); |
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.
I think I added this just for solving sonar cube errors.
triggers: | ||
- schedule: | ||
cron: "0 5,9,13 * * *" | ||
cron: "0 16,21 * * *" |
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.
When merging, this changes need to be restored to original.
filters: | ||
branches: | ||
only: | ||
- master | ||
- 0347-M-UpgradeToSdk070beta1 |
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.
Here
@@ -1356,6 +1356,7 @@ workflows: | |||
ignore: | |||
- /.*-PERF/ | |||
- /.*-REGRESSION/ | |||
- 0347-M-UpgradeToSdk070beta1 |
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.
And here.
Issue(s):
Summary of the change:
0.7.0-beta.1
.ServicesState
is mutable.FCMap
s with suppliers, e.g. inFCMapBackingAccounts
(necessary because the firstServicesState
injected into theServicesContext
will become immutable as soon as the platform callscopy
).midnightRates
are always retrieved from the current state when file0.0.112
is updated.FCMap
touches by returning allMerkleAccount
refs fromFCMapBackingAccounts
viagetForModify
; restore the mutableMerkleAccount
s at the end of each transaction.TransfersList
imperatively instead of declaratively inHederaLedger
.FeeChargingRecordHistorian
now adds it to thepayerRecords
FCQueue
of the transaction's effective payer.ExpiryManager
tracks these records and purges them using theHederaLedger
at the appropriate time.TxnIdRecentHistory
process object summarizes the "recent history" of a givenTransactionID
.txnHistories
map in the context.handleTransaction
uses this history to classify the duplicate status of each txn as eitherBELIEVED_UNIQUE
,DUPLICATE
, orNODE_DUPLICATE
; where the last implies the same node resubmitted a txn, and leads to the node being charge the network fee for the txn.ExpiryManager
purges a record, it updates the recent history accordingly.ExpiryManager
rebuilds its expiry queues from a saved state, it reconstructs the recent history via thepayerRecords
in the state.CryptoTransfer
.StandardizedPropertySource
.