Skip to content

Commit

Permalink
Remove automatic setting of bonsai-limit-trie-logs-enabled to false i…
Browse files Browse the repository at this point in the history
…f sync-mode = FULL (moving to another PR)

Signed-off-by: Matthew Whitehead <[email protected]>
  • Loading branch information
matthew1001 committed Jun 27, 2024
1 parent 7bd09e3 commit 3bf0c8b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 23 deletions.
14 changes: 0 additions & 14 deletions besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,6 @@
import org.hyperledger.besu.ethereum.storage.keyvalue.KeyValueStorageProviderBuilder;
import org.hyperledger.besu.ethereum.transaction.TransactionSimulator;
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
import org.hyperledger.besu.ethereum.worldstate.ImmutableDataStorageConfiguration;
import org.hyperledger.besu.evm.precompile.AbstractAltBnPrecompiledContract;
import org.hyperledger.besu.evm.precompile.BigIntegerModularExponentiationPrecompiledContract;
import org.hyperledger.besu.evm.precompile.KZGPointEvalPrecompiledContract;
Expand Down Expand Up @@ -2242,19 +2241,6 @@ private MiningParameters getMiningParameters() {
private DataStorageConfiguration getDataStorageConfiguration() {
if (dataStorageConfiguration == null) {
dataStorageConfiguration = dataStorageOptions.toDomainObject();

final ImmutableDataStorageConfiguration.Builder dataStorageConfigBuilder =
ImmutableDataStorageConfiguration.builder().from(dataStorageConfiguration);

// If FULL sync mode + Bonsai DB we disable bonsai-limit-trie-logs-enabled and
// log a warning
if (syncMode == SyncMode.FULL
&& dataStorageOptions.toDomainObject().getDataStorageFormat()
== DataStorageFormat.BONSAI) {
logger.warn("Forcing bonsai-limit-trie-logs-enabled to false, since sync mode is FULL");
dataStorageConfigBuilder.bonsaiLimitTrieLogsEnabled(false);
}
dataStorageConfiguration = dataStorageConfigBuilder.build();
}
return dataStorageConfiguration;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,13 @@ public static DataStorageOptions create() {
*/
public void validate(final CommandLine commandLine, final SyncMode syncMode) {
if (DataStorageFormat.BONSAI == dataStorageFormat && bonsaiLimitTrieLogsEnabled) {
if (SyncMode.FULL == syncMode) {
throw new CommandLine.ParameterException(
commandLine,
String.format(
"Cannot enable " + BONSAI_LIMIT_TRIE_LOGS_ENABLED + " with sync-mode %s",
syncMode));
}
if (bonsaiMaxLayersToLoad < MINIMUM_BONSAI_TRIE_LOG_RETENTION_LIMIT) {
throw new CommandLine.ParameterException(
commandLine,
Expand Down
13 changes: 4 additions & 9 deletions besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1281,18 +1281,13 @@ public void bonsaiLimitTrieLogsEnabledByDefault() {
}

@Test
public void parsesChangesDefaultBonsaiLimitTrieLogsWhenFullSyncEnabled() {
public void parsesInvalidDefaultBonsaiLimitTrieLogsWhenFullSyncEnabled() {
parseCommand("--sync-mode=FULL");
verify(mockControllerBuilder)
.dataStorageConfiguration(dataStorageConfigurationArgumentCaptor.capture());

final DataStorageConfiguration dataStorageConfiguration =
dataStorageConfigurationArgumentCaptor.getValue();
assertThat(dataStorageConfiguration.getDataStorageFormat()).isEqualTo(BONSAI);
assertThat(dataStorageConfiguration.getBonsaiLimitTrieLogsEnabled()).isFalse();

Mockito.verifyNoInteractions(mockRunnerBuilder);
assertThat(commandOutput.toString(UTF_8)).isEmpty();
assertThat(commandErrorOutput.toString(UTF_8)).isEmpty();
assertThat(commandErrorOutput.toString(UTF_8))
.contains("Cannot enable --bonsai-limit-trie-logs-enabled with sync-mode FULL");
}

@Test
Expand Down

0 comments on commit 3bf0c8b

Please sign in to comment.