Comments (3)
Accurate.
Note that lingering is per partition. This is why in pt3, if a partition has a batch that's full, that individual partition triggers a flush to the broker. When creating a request to the broker, any other partition that has data that can be sent (even if it is actively lingering and does not have a full batch). I'm wondering why this is surprising?
I'm open to some documentation improvements too. There are a lot of knobs to fine tune exactly what you want, but unfortunately that makes things a bit confusing if you actually look into customizing any of the knobs. Is the client missing some behavior you'd prefer?
from franz-go.
Well, maybe it's just me :D. The name ProducerBatchMaxBytes
is really self-explanatory, but what happens when a batch hits that limit if lingering is enabled? It could either block like MaxBuffered...
did before v1.17.0 or flush like it actually is. I kinda see it now in the docs, but it's quite vague to be honest.
I didn't get much trouble configuring the client aside from that, so after v1.17.0 I'm happy with what we have.
One thing that I would really like is an interface for the client. What I mean is in functions like kgo.AbortingFirstErrPromise
, kadm.NewClient
and maybe some others accept interface instead of *kgo.Client
. It would be great for extensibility of *kgo.Client
and custom wrappers.
Thank you for clarifying!
from franz-go.
Interface, not planning on it due to the reasons given here: #58 (comment)
For vagueness, yeah I'm not really sure what to do -- if you have an idea to improve the docs I'm definitely willing to merge PRs -- I tend to touch up API docs whenever I revisit the APIs, but in this case right now I don't have a better idea.
from franz-go.
Related Issues (20)
- RequestTimeoutOverhead appears to override Context cancellation HOT 5
- Broker Throttling
- Retry fetched records on handle error HOT 1
- github.com/twmb/franz-go/pkg/sr#Client.AllSchemas 404 not found HOT 3
- Deadlock in Produce() / TryProduce() when kgo.MaxBufferedBytes() is configured HOT 2
- Unable to specify LZ4 compression level HOT 3
- Error on kadm/UserSCRAMs calls with redpanda HOT 3
- Question: Is it safe to poll after receiving ErrGroupSession on poll when a broker node restarts in the cluster? HOT 1
- Data Race: concurrent access to recBatch.canFailFromLoadErrs during retry errors HOT 4
- Is there a way to test kgo.Opts returned from wrapper function? HOT 1
- fetch using topic id HOT 3
- How to delete offset when message got consumed? HOT 4
- Imbalanced Partition Assignment to Consumers Per Topic HOT 1
- Want to delete the consumer group after processing records from kafka HOT 1
- Connecting franz-go with a confluent kafka cloud cluster HOT 2
- Decoding GroupMetadataValueMember fails HOT 1
- Cache metadata more HOT 1
- Question regarding manual commit example HOT 1
- Update GroupMetadataKey / GroupMetadataValue
- Bump epoch if the log_start_offset advanced and broker returned unknown_producer_id
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from franz-go.