Skip to content

Commit 4ec1b8b

Browse files
committed
Merge branch 'main' into simple-fees-token-service
# Conflicts: # hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/dispatcher/TransactionDispatcher.java # hedera-node/hedera-token-service-impl/src/main/java/com/hedera/node/app/service/token/impl/TokenServiceImpl.java
2 parents 587251c + 0246d35 commit 4ec1b8b

File tree

70 files changed

+3896
-2156
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+3896
-2156
lines changed

.github/workflows/docs/citr-test-config.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ There are several test suites that are run in the CITR environment, each with it
1313
| SDCT | Single Day Canonical Tests | More comprehensive tests that focus on load, throughput and E2E latency | X |
1414
| SDLT | Single Day Longevity Tests | Longevity tests to ensure stability over extended periods | X |
1515
| SDPT | Single Day Performance Tests | Performance-focused tests to evaluate system responsiveness | X |
16-
| MDLT | Multi Day Longevity Tests | Extended longevity tests over multiple days | |
16+
| MDLT | Multi Day Longevity Tests | Extended longevity tests over multiple days | X |
17+
| MQLT | Merge Queue Longevity Tests | Combined performance, verification and longevity tests for use in Merge Queues | X |
1718
| Shortgevity | Short Longevity Tests | Short-term longevity tests for checking performance against a mainnet-like environment | |
1819

1920
## MATS

hapi/hedera-protobuf-java-api/src/main/proto/fees/fee_schedule.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ enum Extra {
9393
GAS=13;
9494
ALLOWANCES=14;
9595
AIRDROPS=15;
96+
HOOKS=16;
9697
}
9798

9899
/**

hedera-node/docs/design/app/blocks/BlockNodeConnection.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ sending requests to the block node. The worker operates in a loop, sleeping for
6565
the configuration property `blockNode.connectionWorkerSleepDuration`. When not sleeping, the worker will first check if
6666
the current streaming block needs to be updated. If this is the first time the worker has performed this check, one of
6767
the following will happen:
68-
- If the connection with initialized with an explicit block to start with, then that block will be loaded from the block buffer.
69-
- If the connection wasn't initialized with an explicit block, then the earliest, unacknowledged block in the block buffer
70-
will be selected as the starting point.
71-
- If no blocks in the block buffer have been acknowledged, then the earliest block in the buffer will be selected.
68+
- If the connection was initialized with an explicit block to start with, then that block will be loaded from the block buffer.
69+
- If the connection wasn't initialized with an explicit block, then the most recent block produced is chosen as the block to start streaming.
7270
- If at any point during the lifespan of the connection a `SkipBlock` or `ResendBlock` response is received, then the
7371
worker will detect this and switch to that block.
7472

hedera-node/hedera-app/src/main/java/com/hedera/node/app/blocks/impl/streaming/BlockNodeConnection.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1429,16 +1429,14 @@ private boolean trySendPendingRequest() {
14291429
* used block. This will also determine which block to initialize with.
14301430
*/
14311431
private void switchBlockIfNeeded() {
1432-
final long activeBlockNum = streamingBlockNumber.get();
1433-
if (activeBlockNum == -1) {
1434-
final long highestAckedBlock = blockBufferService.getHighestAckedBlockNumber();
1435-
if (highestAckedBlock != -1) {
1436-
// Set to the next block that isn't acked
1437-
streamingBlockNumber.compareAndSet(activeBlockNum, highestAckedBlock + 1);
1438-
} else {
1439-
// If no blocks are acked, start with the earliest block in the buffer
1440-
final long earliestBlock = blockBufferService.getEarliestAvailableBlockNumber();
1441-
streamingBlockNumber.compareAndSet(activeBlockNum, earliestBlock);
1432+
if (streamingBlockNumber.get() == -1) {
1433+
final long latestBlock = blockBufferService.getLastBlockNumberProduced();
1434+
1435+
if (streamingBlockNumber.compareAndSet(-1L, latestBlock)) {
1436+
logger.info(
1437+
"{} Connection was not initialized with a starting block; defaulting to latest block produced ({})",
1438+
BlockNodeConnection.this,
1439+
latestBlock);
14421440
}
14431441
}
14441442

hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/dispatcher/TransactionDispatcher.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,12 @@ private boolean shouldUseSimpleFees(FeeContext feeContext) {
138138
return switch (feeContext.body().data().kind()) {
139139
case CONSENSUS_CREATE_TOPIC, CONSENSUS_DELETE_TOPIC, CONSENSUS_SUBMIT_MESSAGE, CONSENSUS_UPDATE_TOPIC ->
140140
true;
141-
case CRYPTO_DELETE, CRYPTO_CREATE_ACCOUNT, SCHEDULE_CREATE, SCHEDULE_SIGN, SCHEDULE_DELETE -> true;
141+
case CRYPTO_DELETE,
142+
CRYPTO_CREATE_ACCOUNT,
143+
CRYPTO_UPDATE_ACCOUNT,
144+
SCHEDULE_CREATE,
145+
SCHEDULE_SIGN,
146+
SCHEDULE_DELETE -> true;
142147
case TOKEN_CREATION,
143148
TOKEN_MINT,
144149
TOKEN_BURN,

0 commit comments

Comments
 (0)