Giter Club home page Giter Club logo

Comments (3)

twmb avatar twmb commented on August 24, 2024 1

The primary reason is KIP-482 introduced tag sections at the end of every struct. Before that, I did embed some simple fields (commit 9574f35 changed this). If Kafka has something as a struct, it must be encoded as a struct so that it can {,de}serialize properly with a tag section.

w.r.t. deviation / missing: Kafka does not need to reply in order. For metadata and create topic, it always replies with all partitions. I think Kafka would have to be buggy to have missing partitions when the response is supposed to include all partitions. When a request specifies individual partitions, responses for only those partitions are returned.

from franz-go.

twmb avatar twmb commented on August 24, 2024 1

Ah yes it should be safe!... should be. I usually avoid that assumption out of input paranoia but it should be safe when talking to non-buggy Kafka's.

from franz-go.

peter-evans avatar peter-evans commented on August 24, 2024

I see. Thank you for the explanation. It seems like Kafka should always return contiguous partition numbers that are 0-indexed so it would be safe to store the assignments in a [][]int32 array.

e.g.

         // Where `partitions` is type []kmsg.MetadataResponseTopicPartition
	assignments := make([][]int32, len(partitions))
	for _, p := range partitions {
		assignments[p.Partition] = p.Replicas
	}

from franz-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.