Skip to content

Commit

Permalink
[NATS] Extend to support in-memory stream (#370)
Browse files Browse the repository at this point in the history
* [nats] Add storage type to config

so one can test with file or memory stream.

* [nats] Add maxBytes to config

so one can prevent NATS running out of memory incase the storage type is set to "Memory"
  • Loading branch information
kevin-ip authored Aug 28, 2023
1 parent 1c681e9 commit b3a9044
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import io.nats.client.Options;
import io.nats.client.PushSubscribeOptions;
import io.nats.client.api.ConsumerConfiguration;
import io.nats.client.api.StorageType;
import io.nats.client.api.StreamConfiguration;
import io.nats.client.api.StreamInfo;
import io.nats.client.support.JsonUtils;
Expand Down Expand Up @@ -94,7 +93,8 @@ public CompletableFuture<Void> createTopic(String topic, int partitions) {
StreamConfiguration.builder()
.name(topic)
.subjects(topic)
.storageType(StorageType.File)
.storageType(config.storageType)
.maxBytes(config.maxBytes)
.replicas(config.replicationFactor)
.build());
log.info("Created stream {} -- {}", topic, JsonUtils.getFormatted(streamInfo));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,16 @@
*/
package io.openmessaging.benchmark.driver.nats;


import io.nats.client.api.StorageType;

public class NatsConfig {
public String natsHostUrl;

public int replicationFactor;

public StorageType storageType = StorageType.File;

// -1 is unlimited
public int maxBytes = -1;
}

0 comments on commit b3a9044

Please sign in to comment.