Skip to content
This repository has been archived by the owner on Nov 25, 2024. It is now read-only.

nats: account requires a stream config to have max bytes set #3417

Open
paigeadelethompson opened this issue Sep 10, 2024 · 1 comment
Open

Comments

@paigeadelethompson
Copy link
Contributor

This is an issue that came up while trying to use a SaaS NATS provider:

time="2024-09-10T14:40:05.105105731Z" level=fatal msg="Unable to add in-memory stream" error="nats: account requires a stream config to have max bytes set" stream=DendriteInputRoomEvent subjects="[DendriteInputRoomEvent DendriteInputRoomEvent.>]"

I believe it refers to the StreamConfig specified in:

https://github.com/matrix-org/dendrite/blob/main/setup/jetstream/streams.go#L48

Also something else that I'm noticing about the StreamConfig is that a few of them explicitly indicate memory for the storage type:

{
Name:      OutputTypingEvent,
Retention: nats.InterestPolicy,
Storage:   nats.MemoryStorage,
MaxAge:    time.Second * 60,
},

which would also afaik be a problem for the SaaS provider wile using the free tier

@paigeadelethompson
Copy link
Contributor Author

I've started testing this by simply adding MaxBytes: 1048576 to all of the streams, however the SaaS provider I found only gives me 10 streams at the moment and I Need 12 to test this properly. I've reached out to them to ask if they wouldn't mind allocating 2 more. I also set OutputTypingEvent to use nats.FileStorage until somebody has a better suggestion for what to do with that given that the provider doesn't allow memory storage for the service tier.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant