Hi, Justine, Thanks for the reply.
12. I don't have a strong preference either. However, if we need IBP anyway, maybe it's easier to just bump up the version for all inter broker requests and add the topic id field as a regular field. A regular field is a bit more concise in wire transfer than a flexible field. 13. The confusion that I was referring to is between the topic name and partition number between the log dir and the metadata file. For example, if the log dir is topicA-1 and the metadata file in it has topicB and partition 0 (say due to a bug or manual modification), which one do we use as the source of truth? Jun On Thu, Sep 17, 2020 at 3:43 PM Justine Olshan <jols...@confluent.io> wrote: > Hi Jun, > Thanks for the comments. > > 12. I bumped the LeaderAndIsrRequest because I removed the topic name field > in the response. It may be possible to avoid bumping the version without > that change, but I may be missing something. > I believe StopReplica is actually on version 3 now, but because version 2 > is flexible, I kept that listed as version 2 on the KIP page. However, you > may be right in that we may need to bump the version on StopReplica to deal > with deletion differently as mentioned above. I don't know if I have a big > preference over used tagged fields or not. > > 13. I was thinking that in the case where the file and the request topic > ids don't match, it means that the broker's topic/the one in the file has > been deleted. In that case, we would need to delete the old topic and start > receiving the new version. If the topic name were to change, but the ids > still matched, the file would also need to update. Am I missing a case > where the file would be correct and not the request? > > Thanks, > Justine > > On Thu, Sep 17, 2020 at 3:18 PM Jun Rao <j...@confluent.io> wrote: > > > Hi, Justine, > > > > Thanks for the reply. A couple of more comments below. > > > > 12. ListOffset and OffsetForLeader currently don't support flexible > fields. > > So, we have to bump up the version number and use IBP at least for these > > two requests. Note that it seems 2.7.0 will require IBP anyway because of > > changes in KAFKA-10435. Also, it seems that the version for > > LeaderAndIsrRequest and StopReplica are bumped even though we only added > a > > tagged field. But since IBP is needed anyway, we may want to revisit the > > overall tagged field choice. > > > > 13. The only downside is the potential confusion on which one is the > source > > of truth if they don't match. Another option is to include those fields > in > > the metadata file when we actually change the directory structure. > > > > Thanks, > > > > Jun > > > > On Thu, Sep 17, 2020 at 2:01 PM Justine Olshan <jols...@confluent.io> > > wrote: > > > > > Hello all, > > > > > > I've thought some more about removing the topic name field from some of > > the > > > requests. On closer inspection of the requests/responses, it seems that > > the > > > internal changes would be much larger than I expected. Some protocols > > > involve clients, so they would require changes too. I'm thinking that > for > > > now, removing the topic name from these requests and responses are out > of > > > scope. > > > > > > I have decided to just keep the change LeaderAndIsrResponse to remove > the > > > topic name, and have updated the KIP to reflect this change. I have > also > > > mentioned the other requests and responses in future work. > > > > > > I'm hoping to start the voting process soon, so let me know if there is > > > anything else we should discuss. > > > > > > Thank you, > > > Justine > > > > > > On Tue, Sep 15, 2020 at 3:57 PM Justine Olshan <jols...@confluent.io> > > > wrote: > > > > > > > Hello again, > > > > To follow up on some of the other comments: > > > > > > > > 10/11) We can remove the topic name from these requests/responses, > and > > > > that means we will just have to make a few internal changes to make > > > > partitions accessible by topic id and partition. I can update the KIP > > to > > > > remove them unless anyone thinks they should stay. > > > > > > > > 12) Addressed in the previous email. I've updated the KIP to include > > > > tagged fields for the requests and responses. (More on that below) > > > > > > > > 13) I think part of the idea for including this information is to > > prepare > > > > for future changes. Perhaps the directory structure might change from > > > > topicName_partitionNumber to something like topicID_partitionNumber. > > Then > > > > it would be useful to have the topic name in the file since it would > > not > > > be > > > > in the directory structure. Supporting topic renames might be easier > if > > > the > > > > other fields are included. Would there be any downsides to including > > this > > > > information? > > > > > > > > 14) Yes, we would need to copy the partition metadata file in this > > > > process. I've updated the KIP to include this. > > > > > > > > 15) I believe Lucas meant v1 and v2 here. He was referring to how the > > > > requests would fall under different IBP and meant that older brokers > > > would > > > > have to use the older version of the request and the existing topic > > > > deletion process. At first, it seemed like tagged fields would > resolve > > > > the IBP issue. However, we may need IBP for this request after all > > since > > > > the controller handles the topic deletion differently depending on > the > > > IBP > > > > version. In an older version, we can't just send a StopReplica delete > > the > > > > topic immediately like we'd want to for this KIP. > > > > > > > > This makes me wonder if we want tagged fields on all the requests > after > > > > all. Let me know your thoughts! > > > > > > > > Justine > > > > > > > > On Tue, Sep 15, 2020 at 1:03 PM Justine Olshan <jols...@confluent.io > > > > > > wrote: > > > > > > > >> Hi all, > > > >> Jun brought up a good point in his last email about tagged fields, > and > > > >> I've updated the KIP to reflect that the changes to requests and > > > responses > > > >> will be in the form of tagged fields to avoid changing IBP. > > > >> > > > >> Jun: I plan on sending a followup email to address some of the other > > > >> points. > > > >> > > > >> Thanks, > > > >> Justine > > > >> > > > >> On Mon, Sep 14, 2020 at 4:25 PM Jun Rao <j...@confluent.io> wrote: > > > >> > > > >>> Hi, Justine, > > > >>> > > > >>> Thanks for the updated KIP. A few comments below. > > > >>> > > > >>> 10. LeaderAndIsr Response: Do we need the topic name? > > > >>> > > > >>> 11. For the changed request/response, other than LeaderAndIsr, > > > >>> UpdateMetadata, Metadata, do we need to include the topic name? > > > >>> > > > >>> 12. It seems that upgrades don't require IBP. Does that mean the > new > > > >>> fields > > > >>> in all the request/response are added as tagged fields without > > bumping > > > up > > > >>> the request version? It would be useful to make that clear. > > > >>> > > > >>> 13. Partition Metadata file: Do we need to include the topic name > and > > > the > > > >>> partition id since they are implied in the directory name? > > > >>> > > > >>> 14. In the JBOD mode, we support moving a partition's data from one > > > disk > > > >>> to > > > >>> another. Will the new partition metadata file be copied during that > > > >>> process? > > > >>> > > > >>> 15. The KIP says "Remove deleted topics from replicas by sending > > > >>> StopReplicaRequest V2 for any topics which do not contain a topic > ID, > > > and > > > >>> V3 for any topics which do contain a topic ID.". However, it seems > > the > > > >>> updated controller will create all missing topic IDs first before > > doing > > > >>> other actions. So, is StopReplicaRequest V2 needed? > > > >>> > > > >>> Jun > > > >>> > > > >>> On Fri, Sep 11, 2020 at 10:31 AM John Roesler <vvcep...@apache.org > > > > > >>> wrote: > > > >>> > > > >>> > Thanks, Justine! > > > >>> > > > > >>> > Your response seems compelling to me. > > > >>> > > > > >>> > -John > > > >>> > > > > >>> > On Fri, 2020-09-11 at 10:17 -0700, Justine Olshan wrote: > > > >>> > > Hello all, > > > >>> > > Thanks for continuing the discussion! I have a few responses to > > > your > > > >>> > points. > > > >>> > > > > > >>> > > Tom: You are correct in that this KIP has not mentioned the > > > >>> > > DeleteTopicsRequest. I think that this would be out of scope > for > > > >>> now, but > > > >>> > > may be something worth adding in the future. > > > >>> > > > > > >>> > > John: We did consider sequence ids, but there are a few reasons > > to > > > >>> favor > > > >>> > > UUIDs. There are several cases where topics from different > > clusters > > > >>> may > > > >>> > > interact now and in the future. For example, Mirror Maker 2 may > > > >>> benefit > > > >>> > > from being able to detect when a cluster being mirrored is > > deleted > > > >>> and > > > >>> > > recreated and globally unique identifiers would make resolving > > > issues > > > >>> > > easier than sequence IDs which may collide between clusters. > > > KIP-405 > > > >>> > > (tiered storage) will also benefit from globally unique IDs as > > > shared > > > >>> > > buckets may be used between clusters. > > > >>> > > > > > >>> > > Globally unique IDs would also make functionality like moving > > > topics > > > >>> > > between disparate clusters easier in the future, simplify any > > > future > > > >>> > > implementations of backups and restores, and more. In general, > > > >>> unique IDs > > > >>> > > would ensure that the source cluster topics do not conflict > with > > > the > > > >>> > > destination cluster topics. > > > >>> > > > > > >>> > > If we were to use sequence ids, we would need sufficiently > large > > > >>> cluster > > > >>> > > ids to be stored with the topic identifiers or we run the risk > of > > > >>> > > collisions. This will give up any advantage in compactness that > > > >>> sequence > > > >>> > > numbers may bring. Given these advantages I think it makes > sense > > to > > > >>> use > > > >>> > > UUIDs. > > > >>> > > > > > >>> > > Gokul: This is an interesting idea, but this is a breaking > > change. > > > >>> Out of > > > >>> > > scope for now, but maybe worth discussing in the future. > > > >>> > > > > > >>> > > Hope this explains some of the decisions, > > > >>> > > > > > >>> > > Justine > > > >>> > > > > > >>> > > > > > >>> > > > > > >>> > > On Fri, Sep 11, 2020 at 8:27 AM Gokul Ramanan Subramanian < > > > >>> > > gokul24...@gmail.com> wrote: > > > >>> > > > > > >>> > > > Hi. > > > >>> > > > > > > >>> > > > Thanks for the KIP. > > > >>> > > > > > > >>> > > > Have you thought about whether it makes sense to support > > > >>> authorizing a > > > >>> > > > principal for a topic ID rather than a topic name to achieve > > > >>> tighter > > > >>> > > > security? > > > >>> > > > > > > >>> > > > Or is the topic ID fundamentally an internal detail similar > to > > > >>> epochs > > > >>> > used > > > >>> > > > in a bunch of other places in Kafka? > > > >>> > > > > > > >>> > > > Thanks. > > > >>> > > > > > > >>> > > > On Fri, Sep 11, 2020 at 4:06 PM John Roesler < > > > vvcep...@apache.org> > > > >>> > wrote: > > > >>> > > > > > > >>> > > > > Hello Justine, > > > >>> > > > > > > > >>> > > > > Thanks for the KIP! > > > >>> > > > > > > > >>> > > > > I happen to have been confronted recently with the need to > > keep > > > >>> > track of > > > >>> > > > a > > > >>> > > > > large number of topics as compactly as possible. I was > going > > to > > > >>> come > > > >>> > up > > > >>> > > > > with some way to dictionary encode the topic names as > > integers, > > > >>> but > > > >>> > this > > > >>> > > > > seems much better! > > > >>> > > > > > > > >>> > > > > Apologies if this has been raised before, but I’m wondering > > > >>> about the > > > >>> > > > > choice of UUID vs sequence number for the ids. Typically, > > I’ve > > > >>> seen > > > >>> > UUIDs > > > >>> > > > > in two situations: > > > >>> > > > > 1. When processes need to generate non-colliding > identifiers > > > >>> without > > > >>> > > > > coordination. > > > >>> > > > > 2. When the identifier needs to be “universally unique”; > > I.e., > > > >>> the > > > >>> > > > > identifier needs to distinguish the entity from all other > > > >>> entities > > > >>> > that > > > >>> > > > > could ever exist. This is useful in cases where entities > from > > > all > > > >>> > kinds > > > >>> > > > of > > > >>> > > > > systems get mixed together, such as when dumping logs from > > all > > > >>> > processes > > > >>> > > > in > > > >>> > > > > a company into a common system. > > > >>> > > > > > > > >>> > > > > Maybe I’m being short-sighted, but it doesn’t seem like > > either > > > >>> really > > > >>> > > > > applies here. It seems like the brokers could and would > > achieve > > > >>> > consensus > > > >>> > > > > when creating a topic anyway, which is all that’s required > to > > > >>> > generate > > > >>> > > > > non-colliding sequence ids. For the second, as you mention, > > we > > > >>> could > > > >>> > > > assign > > > >>> > > > > a UUID to the cluster as a whole, which would render any > > > resource > > > >>> > scoped > > > >>> > > > to > > > >>> > > > > the broker universally unique as well. > > > >>> > > > > > > > >>> > > > > The reason I mention this is that, although a UUID is way > > more > > > >>> > compact > > > >>> > > > > than topic names, it’s still 16 bytes. In contrast, a > 4-byte > > > >>> integer > > > >>> > > > > sequence id would give us 4 billion unique topics per > > cluster, > > > >>> which > > > >>> > > > seems > > > >>> > > > > like enough ;) > > > >>> > > > > > > > >>> > > > > Considering the number of different times these topic > > > >>> identifiers are > > > >>> > > > sent > > > >>> > > > > over the wire or stored in memory, it seems like it might > be > > > >>> worth > > > >>> > the > > > >>> > > > > additional 4x space savings. > > > >>> > > > > > > > >>> > > > > What do you think about this? > > > >>> > > > > > > > >>> > > > > Thanks, > > > >>> > > > > John > > > >>> > > > > > > > >>> > > > > On Fri, Sep 11, 2020, at 03:20, Tom Bentley wrote: > > > >>> > > > > > Hi Justine, > > > >>> > > > > > > > > >>> > > > > > This looks like a very welcome improvement. Thanks! > > > >>> > > > > > > > > >>> > > > > > Maybe I missed it, but the KIP doesn't seem to mention > > > changing > > > >>> > > > > > DeleteTopicsRequest to identify the topic using an id. > > Maybe > > > >>> > that's out > > > >>> > > > > of > > > >>> > > > > > scope, but DeleteTopicsRequest is not listed among the > > Future > > > >>> Work > > > >>> > APIs > > > >>> > > > > > either. > > > >>> > > > > > > > > >>> > > > > > Kind regards, > > > >>> > > > > > > > > >>> > > > > > Tom > > > >>> > > > > > > > > >>> > > > > > On Thu, Sep 10, 2020 at 3:59 PM Satish Duggana < > > > >>> > > > satish.dugg...@gmail.com > > > >>> > > > > > wrote: > > > >>> > > > > > > > > >>> > > > > > > Thanks Lucas/Justine for the nice KIP. > > > >>> > > > > > > > > > >>> > > > > > > It has several benefits which also include simplifying > > the > > > >>> topic > > > >>> > > > > > > deletion process by controller and logs cleanup by > > brokers > > > in > > > >>> > corner > > > >>> > > > > > > cases. > > > >>> > > > > > > > > > >>> > > > > > > Best, > > > >>> > > > > > > Satish. > > > >>> > > > > > > > > > >>> > > > > > > On Wed, Sep 9, 2020 at 10:07 PM Justine Olshan < > > > >>> > jols...@confluent.io > > > >>> > > > > > > wrote: > > > >>> > > > > > > > Hello all, it's been almost a year! I've made some > > > changes > > > >>> to > > > >>> > this > > > >>> > > > > KIP > > > >>> > > > > > > and hope to continue the discussion. > > > >>> > > > > > > > One of the main changes I've added is now the > metadata > > > >>> response > > > >>> > > > will > > > >>> > > > > > > include the topic ID (as Colin suggested). Clients can > > > >>> obtain the > > > >>> > > > > topicID > > > >>> > > > > > > of a given topic through a TopicDescription. The > topicId > > > will > > > >>> > also be > > > >>> > > > > > > included with the UpdateMetadata request. > > > >>> > > > > > > > Let me know what you all think. > > > >>> > > > > > > > Thank you, > > > >>> > > > > > > > Justine > > > >>> > > > > > > > > > > >>> > > > > > > > On 2019/09/13 16:38:26, "Colin McCabe" < > > > cmcc...@apache.org > > > >>> > > > > >>> > wrote: > > > >>> > > > > > > > > Hi Lucas, > > > >>> > > > > > > > > > > > >>> > > > > > > > > Thanks for tackling this. Topic IDs are a great > > idea, > > > >>> and > > > >>> > this > > > >>> > > > is > > > >>> > > > > a > > > >>> > > > > > > really good writeup. > > > >>> > > > > > > > > For /brokers/topics/[topic], the schema version > > should > > > be > > > >>> > bumped > > > >>> > > > to > > > >>> > > > > > > version 3, rather than 2. KIP-455 bumped the version > of > > > this > > > >>> > znode > > > >>> > > > to > > > >>> > > > > 2 > > > >>> > > > > > > already :) > > > >>> > > > > > > > > Given that we're going to be seeing these things as > > > >>> strings > > > >>> > as > > > >>> > > > lot > > > >>> > > > > (in > > > >>> > > > > > > logs, in ZooKeeper, on the command-line, etc.), does it > > > make > > > >>> > sense to > > > >>> > > > > use > > > >>> > > > > > > base64 when converting them to strings? > > > >>> > > > > > > > > Here is an example of the hex representation: > > > >>> > > > > > > > > 6fcb514b-b878-4c9d-95b7-8dc3a7ce6fd8 > > > >>> > > > > > > > > > > > >>> > > > > > > > > And here is an example in base64. > > > >>> > > > > > > > > b8tRS7h4TJ2Vt43Dp85v2A > > > >>> > > > > > > > > > > > >>> > > > > > > > > The base64 version saves 15 letters (to be fair, 4 > of > > > >>> those > > > >>> > were > > > >>> > > > > > > dashes that we could have elided in the hex > > > representation.) > > > >>> > > > > > > > > Another thing to consider is that we should specify > > > that > > > >>> the > > > >>> > > > > > > all-zeroes UUID is not a valid topic UUID. We can't > use > > > >>> null > > > >>> > for > > > >>> > > > this > > > >>> > > > > > > because we can't pass a null UUID over the RPC protocol > > > >>> (there > > > >>> > is no > > > >>> > > > > > > special pattern for null, nor do we want to waste space > > > >>> reserving > > > >>> > > > such > > > >>> > > > > a > > > >>> > > > > > > pattern.) > > > >>> > > > > > > > > Maybe I missed it, but did you describe "migration > > > of... > > > >>> > existing > > > >>> > > > > > > topic[s] without topic IDs" in detail in any section? > It > > > >>> seems > > > >>> > like > > > >>> > > > > when > > > >>> > > > > > > the new controller becomes active, it should just > > generate > > > >>> random > > > >>> > > > > UUIDs for > > > >>> > > > > > > these, and write the random UUIDs back to ZooKeeper. > It > > > >>> would be > > > >>> > > > good > > > >>> > > > > to > > > >>> > > > > > > spell that out. We should make it clear that this > > happens > > > >>> > regardless > > > >>> > > > > of > > > >>> > > > > > > the inter-broker protocol version (it's a compatible > > > change). > > > >>> > > > > > > > > "LeaderAndIsrRequests including an > is_every_partition > > > >>> flag" > > > >>> > > > seems a > > > >>> > > > > > > bit wordy. Can we just call these "full > > > >>> LeaderAndIsrRequests"? > > > >>> > Then > > > >>> > > > > the > > > >>> > > > > > > RPC field could be named "full". Also, it would > probably > > > be > > > >>> > better > > > >>> > > > > for the > > > >>> > > > > > > RPC field to be an enum of { UNSPECIFIED, INCREMENTAL, > > FULL > > > >>> }, so > > > >>> > > > that > > > >>> > > > > we > > > >>> > > > > > > can cleanly handle old versions (by treating them as > > > >>> UNSPECIFIED) > > > >>> > > > > > > > > In the LeaderAndIsrRequest section, you write "A > > final > > > >>> > deletion > > > >>> > > > > event > > > >>> > > > > > > will be secheduled for X ms after the > LeaderAndIsrRequest > > > was > > > >>> > first > > > >>> > > > > > > received..." I guess the X was a placeholder that you > > > >>> intended > > > >>> > to > > > >>> > > > > replace > > > >>> > > > > > > before posting? :) In any case, this seems like the > kind > > > of > > > >>> > thing > > > >>> > > > we'd > > > >>> > > > > > > want a configuration for. Let's describe that > > > configuration > > > >>> key > > > >>> > > > > somewhere > > > >>> > > > > > > in this KIP, including what its default value is. > > > >>> > > > > > > > > We should probably also log a bunch of messages at > > WARN > > > >>> level > > > >>> > > > when > > > >>> > > > > > > something is scheduled for deletion, as well. (Maybe > > this > > > >>> was > > > >>> > > > > assumed, but > > > >>> > > > > > > it would be good to mention it). > > > >>> > > > > > > > > I feel like there are a few sections that should be > > > >>> moved to > > > >>> > > > > "rejected > > > >>> > > > > > > alternatives." For example, in the DeleteTopics > section, > > > >>> since > > > >>> > we're > > > >>> > > > > not > > > >>> > > > > > > going to do option 1 or 2, these should be moved into > > > >>> "rejected > > > >>> > > > > > > alternatives," rather than appearing inline. Another > > case > > > >>> is > > > >>> > the > > > >>> > > > > "Should > > > >>> > > > > > > we remove topic name from the protocol where possible" > > > >>> section. > > > >>> > This > > > >>> > > > > is > > > >>> > > > > > > clearly discussing a design alternative that we're not > > > >>> proposing > > > >>> > to > > > >>> > > > > > > implement: removing the topic name from those > protocols. > > > >>> > > > > > > > > Is it really necessary to have a new > > > >>> > /admin/delete_topics_by_id > > > >>> > > > > path > > > >>> > > > > > > in ZooKeeper? It seems like we don't really need this. > > > >>> Whenever > > > >>> > > > > there is > > > >>> > > > > > > a new controller, we'll send out full > > LeaderAndIsrRequests > > > >>> which > > > >>> > will > > > >>> > > > > > > trigger the stale topics to be cleaned up. The active > > > >>> > controller > > > >>> > > > will > > > >>> > > > > > > also send the full LeaderAndIsrRequest to brokers that > > are > > > >>> just > > > >>> > > > > starting > > > >>> > > > > > > up. So we don't really need this kind of two-phase > > > commit > > > >>> > (send > > > >>> > > > out > > > >>> > > > > > > StopReplicasRequest, get ACKs from all nodes, commit by > > > >>> removing > > > >>> > > > > > > /admin/delete_topics node) any more. > > > >>> > > > > > > > > You mention that FetchRequest will now include UUID > > to > > > >>> avoid > > > >>> > > > issues > > > >>> > > > > > > where requests are made to stale partitions. However, > > > >>> adding a > > > >>> > UUID > > > >>> > > > to > > > >>> > > > > > > MetadataRequest is listed as future work, out of scope > > for > > > >>> this > > > >>> > KIP. > > > >>> > > > > How > > > >>> > > > > > > will the client learn what the topic UUID is, if the > > > metadata > > > >>> > > > response > > > >>> > > > > > > doesn't include that information? It seems like adding > > the > > > >>> UUID > > > >>> > to > > > >>> > > > > > > MetadataResponse would be an improvement here that > might > > > not > > > >>> be > > > >>> > too > > > >>> > > > > hard to > > > >>> > > > > > > make. > > > >>> > > > > > > > > best, > > > >>> > > > > > > > > Colin > > > >>> > > > > > > > > > > > >>> > > > > > > > > > > > >>> > > > > > > > > On Mon, Sep 9, 2019, at 17:48, Ryanne Dolan wrote: > > > >>> > > > > > > > > > Lucas, this would be great. I've run into issues > > with > > > >>> > topics > > > >>> > > > > being > > > >>> > > > > > > > > > resurrected accidentally, since a client cannot > > > easily > > > >>> > > > > distinguish > > > >>> > > > > > > between > > > >>> > > > > > > > > > a deleted topic and a new topic with the same > name. > > > I'd > > > >>> > need > > > >>> > > > the > > > >>> > > > > ID > > > >>> > > > > > > > > > accessible from the client to solve that issue, > but > > > >>> this > > > >>> > is a > > > >>> > > > > good > > > >>> > > > > > > first > > > >>> > > > > > > > > > step. > > > >>> > > > > > > > > > > > > >>> > > > > > > > > > Ryanne > > > >>> > > > > > > > > > > > > >>> > > > > > > > > > On Wed, Sep 4, 2019 at 1:41 PM Lucas Bradstreet < > > > >>> > > > > lu...@confluent.io> > > > >>> > > > > > > wrote: > > > >>> > > > > > > > > > > Hi all, > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > I would like to kick off discussion of KIP-516, > > an > > > >>> > > > > implementation > > > >>> > > > > > > of topic > > > >>> > > > > > > > > > > IDs for Kafka. Topic IDs aim to solve topic > > > >>> uniqueness > > > >>> > > > > problems in > > > >>> > > > > > > Kafka, > > > >>> > > > > > > > > > > where referring to a topic by name alone is > > > >>> insufficient. > > > >>> > > > Such > > > >>> > > > > > > cases > > > >>> > > > > > > > > > > include when a topic has been deleted and > > recreated > > > >>> with > > > >>> > the > > > >>> > > > > same > > > >>> > > > > > > name. > > > >>> > > > > > > > > > > Unique identifiers will help simplify and > improve > > > >>> Kafka's > > > >>> > > > topic > > > >>> > > > > > > deletion > > > >>> > > > > > > > > > > process, as well as prevent cases where brokers > > may > > > >>> > > > incorrectly > > > >>> > > > > > > interact > > > >>> > > > > > > > > > > with stale versions of topics. > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> > > > > > > >>> > > > > >>> > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-516%3A+Topic+Identifiers > > > >>> > > > > > > > > > > Looking forward to your thoughts. > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > Lucas > > > >>> > > > > > > > > > > > > > >>> > > > > >>> > > > > >>> > > > >> > > > > > >