Skip to content

Commit

Permalink
Merge branch 'develop' into 11223-Feature-flag-misbehaviour
Browse files Browse the repository at this point in the history
  • Loading branch information
thenswan committed Feb 6, 2024
2 parents 7aea264 + 3cf9f8c commit a6882a8
Show file tree
Hide file tree
Showing 99 changed files with 1,923 additions and 4,122 deletions.
7 changes: 0 additions & 7 deletions hedera-node/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
###############################################################################################
swirld, 123

# app, HashgraphDemo.jar, 1,0,0,0,0,0,0,0,0,0, all
# app, GameDemo.jar, 9000, 9000
# app, HelloSwirldDemo.jar
# app, CryptocurrencyDemo.jar
Expand Down Expand Up @@ -72,12 +71,6 @@ nextNodeId, 1
#
# FilesystemDemo.jar parameters: none
#
# HashGraphDemo.jar takes parameters that give the initial checkbox settings,
# in the same order they appear are on the screen, with 1 to check it
# and 0 to not check it, followed by the number of events to display
# (or “all”). The first parameter controls whether it runs
# slowly (1) or runs at full speed (0).
#
# GameDemo.jar parameters:
# height: height of the board (in cells). Player moves 1 cell at a time.
# width: width of the board (in cells). Player moves 1 cell at a time.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@

package com.hedera.node.app.state.logging;

import static com.swirlds.platform.SwirldsPlatform.PLATFORM_THREAD_POOL_NAME;
import static com.swirlds.platform.eventhandling.ConsensusRoundHandler.THREAD_CONS_NAME;
import static com.swirlds.platform.eventhandling.ConsensusRoundHandler.TRANSACTION_HANDLING_THREAD_NAME;

import com.hedera.hapi.node.base.*;
import com.hedera.hapi.node.transaction.TransactionBody;
Expand Down Expand Up @@ -60,8 +59,6 @@
public final class TransactionStateLogger {
/** The logger we are using for Transaction State log */
private static final Logger logger = LogManager.getLogger(TransactionStateLogger.class);
/** The name of the handle transaction thread */
private static final String HANDLE_THREAD_NAME = "<" + PLATFORM_THREAD_POOL_NAME + ": " + THREAD_CONS_NAME;

/**
* Log the start of a round if it contains any non-system transactions.
Expand Down Expand Up @@ -235,7 +232,7 @@ public static void logEndTransactionRecord(
* @param <T> The type of the singleton
*/
public static <T> void logSingletonRead(@NonNull final String label, @Nullable final ValueLeaf<T> value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(" READ singleton {} value {}", label, value == null ? "null" : value.getValue());
}
}
Expand All @@ -247,7 +244,7 @@ public static <T> void logSingletonRead(@NonNull final String label, @Nullable f
* @param value The value of the singleton
*/
public static void logSingletonWrite(@NonNull final String label, @Nullable final Object value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(" WRITTEN singleton {} value {}", label, value == null ? "null" : value.toString());
}
}
Expand All @@ -261,7 +258,7 @@ public static void logSingletonWrite(@NonNull final String label, @Nullable fina
* @param value The value added to the queue
*/
public static void logQueueAdd(@NonNull final String label, @Nullable final Object value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(" ADD to queue {} value {}", label, value == null ? "null" : value.toString());
}
}
Expand All @@ -273,7 +270,7 @@ public static void logQueueAdd(@NonNull final String label, @Nullable final Obje
* @param value The value removed from the queue
*/
public static void logQueueRemove(@NonNull final String label, @Nullable final Object value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(" REMOVE from queue {} value {}", label, value == null ? "null" : value.toString());
}
}
Expand All @@ -285,7 +282,7 @@ public static void logQueueRemove(@NonNull final String label, @Nullable final O
* @param value The value peeked from the queue
*/
public static void logQueuePeek(@NonNull final String label, @Nullable final Object value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(" PEEK on queue {} value {}", label, value == null ? "null" : value.toString());
}
}
Expand All @@ -298,7 +295,7 @@ public static void logQueuePeek(@NonNull final String label, @Nullable final Obj
* @param <K> The type of the queue values
*/
public static <K> void logQueueIterate(@NonNull final String label, @NonNull final FCQueue<ValueLeaf<K>> queue) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
if (queue.size() == 0) {
logger.debug(" ITERATE queue {} size 0 values:EMPTY", label);
} else {
Expand All @@ -325,7 +322,7 @@ public static <K> void logQueueIterate(@NonNull final String label, @NonNull fin
* @param <V> The type of the value
*/
public static <K, V> void logMapPut(@NonNull final String label, @NonNull final K key, @Nullable final V value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(
" PUT into map {} key {} value {}",
label,
Expand All @@ -345,7 +342,7 @@ public static <K, V> void logMapPut(@NonNull final String label, @NonNull final
*/
public static <K, V> void logMapRemove(
@NonNull final String label, @NonNull final K key, @Nullable final InMemoryValue<K, V> value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(
" REMOVE from map {} key {} removed value {}",
label,
Expand All @@ -365,7 +362,7 @@ public static <K, V> void logMapRemove(
*/
public static <K, V> void logMapRemove(
@NonNull final String label, @NonNull final K key, @Nullable final OnDiskValue<V> value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(
" REMOVE from map {} key {} removed value {}",
label,
Expand All @@ -381,7 +378,7 @@ public static <K, V> void logMapRemove(
* @param size The size of the map
*/
public static void logMapGetSize(@NonNull final String label, final long size) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(" GET_SIZE on map {} size {}", label, size);
}
}
Expand All @@ -396,7 +393,7 @@ public static void logMapGetSize(@NonNull final String label, final long size) {
* @param <V> The type of the value
*/
public static <K, V> void logMapGet(@NonNull final String label, @NonNull final K key, @Nullable final V value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(
" GET on map {} key {} value {}",
label,
Expand All @@ -416,7 +413,7 @@ public static <K, V> void logMapGet(@NonNull final String label, @NonNull final
*/
public static <K, V> void logMapGetForModify(
@NonNull final String label, @NonNull final K key, @Nullable final V value) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
logger.debug(
" GET_FOR_MODIFY on map {} key {} value {}",
label,
Expand All @@ -433,7 +430,7 @@ public static <K, V> void logMapGetForModify(
* @param <K> The type of the key
*/
public static <K> void logMapIterate(@NonNull final String label, @NonNull final Set<InMemoryKey<K>> keySet) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().startsWith(HANDLE_THREAD_NAME)) {
if (logger.isDebugEnabled() && Thread.currentThread().getName().equals(TRANSACTION_HANDLING_THREAD_NAME)) {
final long size = keySet.size();
if (size == 0) {
logger.debug(" ITERATE map {} size 0 keys:EMPTY", label);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,7 @@ public ResponseCodeEnum changeOwnerWildCard(final NftId nftId, final AccountID f

@Override
public boolean matchesTokenDecimals(final TokenID tId, final int expectedDecimals) {
// Note: this method assumes that the token for tId exists! Otherwise get(tId) will throw an exception
return get(tId).decimals() == expectedDecimals;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,22 +83,22 @@ default ResponseCodeEnum delete(TokenID id) {
}

default ResponseCodeEnum tryTokenChange(BalanceChange change) {
var validity = OK;
var tokenId = resolve(change.tokenId());
if (tokenId == MISSING_TOKEN) {
validity = INVALID_TOKEN_ID;
return INVALID_TOKEN_ID;
}

if (change.hasExpectedDecimals() && !matchesTokenDecimals(change.tokenId(), change.getExpectedDecimals())) {
validity = UNEXPECTED_TOKEN_DECIMALS;
return UNEXPECTED_TOKEN_DECIMALS;
}
if (validity == OK) {
if (change.isForNft()) {
validity = changeOwner(change.nftId(), change.accountId(), change.counterPartyAccountId());
} else {
validity = adjustBalance(change.accountId(), tokenId, change.getAggregatedUnits());
if (validity == INSUFFICIENT_TOKEN_BALANCE) {
validity = change.codeForInsufficientBalance();
}

var validity = OK;
if (change.isForNft()) {
validity = changeOwner(change.nftId(), change.accountId(), change.counterPartyAccountId());
} else {
validity = adjustBalance(change.accountId(), tokenId, change.getAggregatedUnits());
if (validity == INSUFFICIENT_TOKEN_BALANCE) {
validity = change.codeForInsufficientBalance();
}
}
return validity;
Expand Down
Loading

0 comments on commit a6882a8

Please sign in to comment.