Matteo Merli

Results 70 comments of Matteo Merli

@rdhabalia The change in #7406 is to avoid any contention in write path and to impose a global max.

> g: 1gb across 30 IO threads means 1 IO thread can only do 33MB it means as a user I have to create multiple connections and hope it will...

> don't want to restrict throughput per thread and that requires user to create multiple connections t @rdhabalia It does not impact the throughput once you have a minimum of...

@rdhabalia Have tried with #7406 which is already in 2.8? I still think we shouldn't add contended counters. We have validated that previous OOMs are not happening anymore in 2.8....

I don't think that applies well to multi tenant env. In a multi-tenant broker, the load is usually well spread across all IO threads. This could more of an issue...

> how do we train broker to adjust per-thread quotas dynamically? Most of rate limiting implementations are based on variations of Token-Bucket: https://en.wikipedia.org/wiki/Token_bucket Eg: even in the per-namespace rate limiting...

> @merlimat > > > I still think we shouldn't add contended counters. We have validated that previous OOMs are not happening anymore in 2.8. Even then, I still believe...

> > since the check is done in background every few seconds (given that LongAdder.sum() is expensive). It's very possible that a traffic spike will to cause an OOM between...

Yes, one idea was to use a crc based on the past entries of the log as well. (eg: similar to git history). That would help in identifying any issues...

@lsytj0413 Perhaps we can start with a proposal and design doc for how to implement the change. We can use discussions. eg: https://github.com/streamnative/oxia/discussions/new?category=proposal