Skip to content

Commit d4646bc

Browse files
committed
Support zilla.engine.worker.capacity.unbounded config, defaults to false
1 parent 0ef42b0 commit d4646bc

4 files changed

Lines changed: 17 additions & 5 deletions

File tree

examples/tcp.echo/compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ services:
1515
ZILLA_INCUBATOR_ENABLED: "true"
1616
volumes:
1717
- ./etc:/etc/zilla
18-
command: start -v -e -w 1 -Pzilla.engine.worker.capacity=32
18+
command: start -v -e
1919

2020
networks:
2121
default:

runtime/binding-tcp/src/main/java/io/aklivity/zilla/runtime/binding/tcp/internal/TcpCapacityTracker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package io.aklivity.zilla.runtime.binding.tcp.internal;
1717

18-
import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_WORKER_CAPACITY;
18+
import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_WORKER_CAPACITY_LIMIT;
1919

2020
import java.util.function.LongConsumer;
2121

@@ -32,7 +32,7 @@ public TcpCapacityTracker(
3232
TcpConfiguration config,
3333
EngineContext context)
3434
{
35-
this.capacity = ENGINE_WORKER_CAPACITY.getAsInt(config);
35+
this.capacity = ENGINE_WORKER_CAPACITY_LIMIT.getAsInt(config);
3636
this.recordUsage = context.supplyUtilizationMetric();
3737
}
3838

runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/EngineConfiguration.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ public class EngineConfiguration extends Configuration
6060
public static final PropertyDef<Path> ENGINE_CACHE_DIRECTORY;
6161
public static final PropertyDef<HostResolver> ENGINE_HOST_RESOLVER;
6262
public static final IntPropertyDef ENGINE_WORKER_CAPACITY;
63+
public static final IntPropertyDef ENGINE_WORKER_CAPACITY_LIMIT;
64+
public static final BooleanPropertyDef ENGINE_WORKER_CAPACITY_UNBOUNDED;
6365
public static final DoublePropertyDef ENGINE_MEMORY_PERCENTAGE;
6466
public static final DoublePropertyDef ENGINE_DISK_PERCENTAGE;
6567
public static final IntPropertyDef ENGINE_BUFFER_POOL_CAPACITY;
@@ -111,6 +113,8 @@ public class EngineConfiguration extends Configuration
111113
ENGINE_MEMORY_PERCENTAGE = config.property("memory.percentage", 0.25);
112114
ENGINE_DISK_PERCENTAGE = config.property("disk.percentage", 0.75);
113115
ENGINE_WORKER_CAPACITY = config.property("worker.capacity", EngineConfiguration::defaultWorkerCapacity);
116+
ENGINE_WORKER_CAPACITY_UNBOUNDED = config.property("worker.capacity.unbounded", false);
117+
ENGINE_WORKER_CAPACITY_LIMIT = config.property("worker.capacity.limit", EngineConfiguration::defaultWorkerCapacityLimit);
114118
ENGINE_BUFFER_POOL_CAPACITY = config.property("buffer.pool.capacity", EngineConfiguration::defaultBufferPoolCapacity);
115119
ENGINE_BUFFER_SLOT_CAPACITY = config.property("buffer.slot.capacity", 32 * 1024);
116120
ENGINE_STREAMS_BUFFER_CAPACITY = config.property("streams.buffer.capacity",
@@ -426,6 +430,14 @@ private static int defaultWorkerCapacity(
426430
return newWorkersCapacity;
427431
}
428432

433+
private static int defaultWorkerCapacityLimit(
434+
Configuration config)
435+
{
436+
return ENGINE_WORKER_CAPACITY_UNBOUNDED.get(config)
437+
? Integer.MAX_VALUE
438+
: ENGINE_WORKER_CAPACITY.get(config);
439+
}
440+
429441
private static URL configURL(
430442
Configuration config,
431443
String url)

runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/registry/EngineWorker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package io.aklivity.zilla.runtime.engine.internal.registry;
1717

18-
import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_WORKER_CAPACITY;
18+
import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_WORKER_CAPACITY_LIMIT;
1919
import static io.aklivity.zilla.runtime.engine.budget.BudgetCreditor.NO_BUDGET_ID;
2020
import static io.aklivity.zilla.runtime.engine.concurrent.Signaler.NO_CANCEL_ID;
2121
import static io.aklivity.zilla.runtime.engine.internal.registry.MetricHandlerKind.ORIGIN;
@@ -895,7 +895,7 @@ public void onStart()
895895
LongConsumer recordUtilization = supplyGaugeWriter(utilizationMetricId);
896896

897897
recordCount.accept(1);
898-
recordCapacity.accept(ENGINE_WORKER_CAPACITY.getAsInt(config));
898+
recordCapacity.accept(ENGINE_WORKER_CAPACITY_LIMIT.getAsInt(config));
899899
recordUtilization.accept(0);
900900
}
901901
}

0 commit comments

Comments
 (0)