From 2c759630843175e4449ae8b69af9968ce469e61a Mon Sep 17 00:00:00 2001 From: Austin Littley Date: Mon, 27 Nov 2023 11:49:05 -0500 Subject: [PATCH 1/3] Use legacy intake pipeline by default Signed-off-by: Austin Littley --- .../src/main/java/com/swirlds/common/config/EventConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/config/EventConfig.java b/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/config/EventConfig.java index 64d98b839991..9424a3853527 100644 --- a/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/config/EventConfig.java +++ b/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/config/EventConfig.java @@ -72,4 +72,4 @@ public record EventConfig( @ConfigProperty(defaultValue = "/opt/hgcapp/eventsStreams") String eventsLogDir, @ConfigProperty(defaultValue = "true") boolean enableEventStreaming, @ConfigProperty(defaultValue = "8") int prehandlePoolSize, - @ConfigProperty(defaultValue = "false") boolean useLegacyIntake) {} + @ConfigProperty(defaultValue = "true") boolean useLegacyIntake) {} From 1f8687d9cc056419b22c6ba6800b148753df37aa Mon Sep 17 00:00:00 2001 From: Austin Littley Date: Mon, 27 Nov 2023 17:05:36 -0500 Subject: [PATCH 2/3] Fix NPE Signed-off-by: Austin Littley --- .../platform/wiring/PlatformWiring.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/wiring/PlatformWiring.java b/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/wiring/PlatformWiring.java index 24a4cfa1c73d..724368f36aad 100644 --- a/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/wiring/PlatformWiring.java +++ b/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/wiring/PlatformWiring.java @@ -21,6 +21,7 @@ import com.swirlds.base.state.Startable; import com.swirlds.base.state.Stoppable; import com.swirlds.base.time.Time; +import com.swirlds.common.config.EventConfig; import com.swirlds.common.context.PlatformContext; import com.swirlds.common.threading.interrupt.InterruptableConsumer; import com.swirlds.common.utility.Clearable; @@ -35,12 +36,14 @@ import com.swirlds.platform.event.validation.EventSignatureValidator; import com.swirlds.platform.event.validation.InternalEventValidator; import edu.umd.cs.findbugs.annotations.NonNull; +import java.util.Objects; import java.util.function.Consumer; /** * Encapsulates wiring for {@link com.swirlds.platform.SwirldsPlatform}. */ public class PlatformWiring implements Startable, Stoppable, Clearable { + private final PlatformContext platformContext; private final WiringModel model; private final InternalEventValidatorWiring internalEventValidatorWiring; @@ -57,6 +60,7 @@ public class PlatformWiring implements Startable, Stoppable, Clearable { * @param time provides wall clock time */ public PlatformWiring(@NonNull final PlatformContext platformContext, @NonNull final Time time) { + this.platformContext = Objects.requireNonNull(platformContext); model = WiringModel.create(platformContext, time); final PlatformSchedulers schedulers = PlatformSchedulers.create(platformContext, model); @@ -214,14 +218,16 @@ private void flushAll() { */ @Override public void clear() { - // pause the orphan buffer to break the cycle, and flush the pause through - orphanBufferWiring.pauseInput().inject(true); - orphanBufferWiring.flushRunnable().run(); + if (!platformContext.getConfiguration().getConfigData(EventConfig.class).useLegacyIntake()) { + // pause the orphan buffer to break the cycle, and flush the pause through + orphanBufferWiring.pauseInput().inject(true); + orphanBufferWiring.flushRunnable().run(); - // now that no cycles exist, flush all the wiring objects - flushAll(); + // now that no cycles exist, flush all the wiring objects + flushAll(); - // once everything has been flushed through the system, it's safe to unpause the orphan buffer - orphanBufferWiring.pauseInput().inject(false); + // once everything has been flushed through the system, it's safe to unpause the orphan buffer + orphanBufferWiring.pauseInput().inject(false); + } } } From 68e0574551198b71f20ec476dba8437efaea9676 Mon Sep 17 00:00:00 2001 From: Austin Littley Date: Tue, 28 Nov 2023 09:46:29 -0500 Subject: [PATCH 3/3] Move where platform wiring is instantiated Signed-off-by: Austin Littley --- .../src/main/java/com/swirlds/platform/SwirldsPlatform.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/SwirldsPlatform.java b/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/SwirldsPlatform.java index a1e1b7b670e1..9930107f2d97 100644 --- a/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/SwirldsPlatform.java +++ b/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/SwirldsPlatform.java @@ -699,9 +699,9 @@ public class SwirldsPlatform implements Platform { final EventValidator eventValidator = new EventValidator( eventValidators, eventIntake::addUnlinkedEvent, eventIntakePhaseTimer, intakeEventCounter); + platformWiring = new PlatformWiring(platformContext, time); if (eventConfig.useLegacyIntake()) { intakeHandler = eventValidator::validateEvent; - platformWiring = null; } else { final InternalEventValidator internalEventValidator = new InternalEventValidator( platformContext, time, currentAddressBook.getSize() == 1, intakeEventCounter); @@ -727,7 +727,6 @@ public class SwirldsPlatform implements Platform { preConsensusEventHandler::preconsensusEvent, intakeEventCounter); - platformWiring = new PlatformWiring(platformContext, time); platformWiring.bind( internalEventValidator, eventDeduplicator,