Hi All,

Do you have any additional comments on this KIP?


On Thu, Aug 16, 2018 at 9:17 PM, xiongqi wu <xiongq...@gmail.com> wrote:

> on 2)
> The offsetmap is built starting from dirty segment.
> The compaction starts from the beginning of the log partition.  That's how
> it ensure the deletion of tomb keys.
> I will double check tomorrow.
>
> Xiongqi (Wesley) Wu
>
>
> On Thu, Aug 16, 2018 at 6:46 PM Brett Rann <br...@zendesk.com.invalid>
> wrote:
>
>> To just clarify a bit on 1.  whether there's an external storage/DB isn't
>> relevant here.
>> Compacted topics allow a tombstone record to be sent (a null value for a
>> key) which
>> currently will result in old values for that key being deleted if some
>> conditions are met.
>> There are existing controls to make sure the old values will stay around
>> for a minimum
>> time at least, but no dedicated control to ensure the tombstone will
>> delete
>> within a
>> maximum time.
>>
>> One popular reason that maximum time for deletion is desirable right now
>> is
>> GDPR with
>> PII. But we're not proposing any GDPR awareness in kafka, just being able
>> to guarantee
>> a max time where a tombstoned key will be removed from the compacted
>> topic.
>>
>> on 2)
>> huh, i thought it kept track of the first dirty segment and didn't
>> recompact older "clean" ones.
>> But I didn't look at code or test for that.
>>
>> On Fri, Aug 17, 2018 at 10:57 AM xiongqi wu <xiongq...@gmail.com> wrote:
>>
>> > 1, Owner of data (in this sense, kafka is the not the owner of data)
>> > should keep track of lifecycle of the data in some external storage/DB.
>> > The owner determines when to delete the data and send the delete
>> request to
>> > kafka. Kafka doesn't know about the content of data but to provide a
>> mean
>> > for deletion.
>> >
>> > 2 , each time compaction runs, it will start from first segments (no
>> > matter if it is compacted or not). The time estimation here is only used
>> > to determine whether we should run compaction on this log partition. So
>> we
>> > only need to estimate uncompacted segments.
>> >
>> > On Thu, Aug 16, 2018 at 5:35 PM, Dong Lin <lindon...@gmail.com> wrote:
>> >
>> > > Hey Xiongqi,
>> > >
>> > > Thanks for the update. I have two questions for the latest KIP.
>> > >
>> > > 1) The motivation section says that one use case is to delete PII
>> > (Personal
>> > > Identifiable information) data within 7 days while keeping non-PII
>> > > indefinitely in compacted format. I suppose the use-case depends on
>> the
>> > > application to determine when to delete those PII data. Could you
>> explain
>> > > how can application reliably determine the set of keys that should be
>> > > deleted? Is application required to always messages from the topic
>> after
>> > > every restart and determine the keys to be deleted by looking at
>> message
>> > > timestamp, or is application supposed to persist the key-> timstamp
>> > > information in a separate persistent storage system?
>> > >
>> > > 2) It is mentioned in the KIP that "we only need to estimate earliest
>> > > message timestamp for un-compacted log segments because the deletion
>> > > requests that belong to compacted segments have already been
>> processed".
>> > > Not sure if it is correct. If a segment is compacted before user sends
>> > > message to delete a key in this segment, it seems that we still need
>> to
>> > > ensure that the segment will be compacted again within the given time
>> > after
>> > > the deletion is requested, right?
>> > >
>> > > Thanks,
>> > > Dong
>> > >
>> > > On Thu, Aug 16, 2018 at 10:27 AM, xiongqi wu <xiongq...@gmail.com>
>> > wrote:
>> > >
>> > > > Hi Xiaohe,
>> > > >
>> > > > Quick note:
>> > > > 1) Use minimum of segment.ms and max.compaction.lag.ms
>> > > > <http://max.compaction.ms
>> > <http://max.compaction.ms>>
>> > > >
>> > > > 2) I am not sure if I get your second question. first, we have
>> jitter
>> > > when
>> > > > we roll the active segment. second, on each compaction, we compact
>> upto
>> > > > the offsetmap could allow. Those will not lead to perfect compaction
>> > > storm
>> > > > overtime. In addition, I expect we are setting
>> max.compaction.lag.ms
>> > on
>> > > > the order of days.
>> > > >
>> > > > 3) I don't have access to the confluent community slack for now. I
>> am
>> > > > reachable via the google handle out.
>> > > > To avoid the double effort, here is my plan:
>> > > > a) Collect more feedback and feature requriement on the KIP.
>> > > > b) Wait unitl this KIP is approved.
>> > > > c) I will address any additional requirements in the implementation.
>> > (My
>> > > > current implementation only complies to whatever described in the
>> KIP
>> > > now)
>> > > > d) I can share the code with the you and community see you want to
>> add
>> > > > anything.
>> > > > e) submission through committee
>> > > >
>> > > >
>> > > > On Wed, Aug 15, 2018 at 11:42 PM, XIAOHE DONG <
>> dannyriv...@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > Hi Xiongqi
>> > > > >
>> > > > > Thanks for thinking about implementing this as well. :)
>> > > > >
>> > > > > I was thinking about using `segment.ms` to trigger the segment
>> roll.
>> > > > > Also, its value can be the largest time bias for the record
>> deletion.
>> > > For
>> > > > > example, if the `segment.ms` is 1 day and `max.compaction.ms` is
>> 30
>> > > > days,
>> > > > > the compaction may happen around 31 days.
>> > > > >
>> > > > > For my curiosity, is there a way we can do some performance test
>> for
>> > > this
>> > > > > and any tools you can recommend. As you know, previously, it is
>> > cleaned
>> > > > up
>> > > > > by respecting dirty ratio, but now it may happen anytime if max
>> lag
>> > has
>> > > > > passed for each message. I wonder what would happen if clients
>> send
>> > > huge
>> > > > > amount of tombstone records at the same time.
>> > > > >
>> > > > > I am looking forward to have a quick chat with you to avoid double
>> > > effort
>> > > > > on this. I am in confluent community slack during the work time.
>> My
>> > > name
>> > > > is
>> > > > > Xiaohe Dong. :)
>> > > > >
>> > > > > Rgds
>> > > > > Xiaohe Dong
>> > > > >
>> > > > >
>> > > > >
>> > > > > On 2018/08/16 01:22:22, xiongqi wu <xiongq...@gmail.com> wrote:
>> > > > > > Brett,
>> > > > > >
>> > > > > > Thank you for your comments.
>> > > > > > I was thinking since we already has immediate compaction
>> setting by
>> > > > > setting
>> > > > > > min dirty ratio to 0, so I decide to use "0" as disabled state.
>> > > > > > I am ok to go with -1(disable), 0 (immediate) options.
>> > > > > >
>> > > > > > For the implementation, there are a few differences between mine
>> > and
>> > > > > > "Xiaohe Dong"'s :
>> > > > > > 1) I used the estimated creation time of a log segment instead
>> of
>> > > > largest
>> > > > > > timestamp of a log to determine the compaction eligibility,
>> > because a
>> > > > log
>> > > > > > segment might stay as an active segment up to "max compaction
>> lag".
>> > > > (see
>> > > > > > the KIP for detail).
>> > > > > > 2) I measure how much bytes that we must clean to follow the
>> "max
>> > > > > > compaction lag" rule, and use that to determine the order of
>> > > > compaction.
>> > > > > > 3) force active segment to roll to follow the "max compaction
>> lag"
>> > > > > >
>> > > > > > I can share my code so we can coordinate.
>> > > > > >
>> > > > > > I haven't think about a new API to force a compaction. what is
>> the
>> > > use
>> > > > > case
>> > > > > > for this one?
>> > > > > >
>> > > > > >
>> > > > > > On Wed, Aug 15, 2018 at 5:33 PM, Brett Rann
>> > > <br...@zendesk.com.invalid
>> > > > >
>> > > > > > wrote:
>> > > > > >
>> > > > > > > We've been looking into this too.
>> > > > > > >
>> > > > > > > Mailing list:
>> > > > > > > https://lists.apache.org/thread.html/
>> > <https://lists.apache.org/thread.html/>
>> > > ed7f6a6589f94e8c2a705553f364ef
>> > > > > > > 599cb6915e4c3ba9b561e610e4@%3Cdev.kafka.apache.org%3E
>> > > > > > > jira wish: https://issues.apache.org/jira/browse/KAFKA-7137
>> > <https://issues.apache.org/jira/browse/KAFKA-7137>
>> > > > > > > confluent slack discussion:
>> > > > > > > https://confluentcommunity.slack.com/archives/C49R61XMM/
>> > <https://confluentcommunity.slack.com/archives/C49R61XMM/>
>> > > > > p1530760121000039
>> > > > > > >
>> > > > > > > A person on my team has started on code so you might want to
>> > > > > coordinate:
>> > > > > > > https://github.com/dongxiaohe/kafka/tree/dongxiaohe/log-
>> > <https://github.com/dongxiaohe/kafka/tree/dongxiaohe/log->
>> > > > > > > cleaner-compaction-max-lifetime-2.0
>> > > > > > >
>> > > > > > > He's been working with Jason Gustafson and James Chen around
>> the
>> > > > > changes.
>> > > > > > > You can ping him on confluent slack as Xiaohe Dong.
>> > > > > > >
>> > > > > > > It's great to know others are thinking on it as well.
>> > > > > > >
>> > > > > > > You've added the requirement to force a segment roll which we
>> > > hadn't
>> > > > > gotten
>> > > > > > > to yet, which is great. I was content with it not including
>> the
>> > > > active
>> > > > > > > segment.
>> > > > > > >
>> > > > > > > > Adding topic level configuration "max.compaction.lag.ms",
>> and
>> > > > > > > corresponding broker configuration "
>> > log.cleaner.max.compaction.la
>> > > > g.ms
>> > > > > ",
>> > > > > > > which is set to 0 (disabled) by default.
>> > > > > > >
>> > > > > > > Glancing at some other settings convention seems to me to be
>> -1
>> > for
>> > > > > > > disabled (or infinite, which is more meaningful here). 0 to me
>> > > > implies
>> > > > > > > instant, a little quicker than 1.
>> > > > > > >
>> > > > > > > We've been trying to think about a way to trigger compaction
>> as
>> > > well
>> > > > > > > through an API call, which would need to be flagged somewhere
>> (ZK
>> > > > > admin/
>> > > > > > > space?) but we're struggling to think how that would be
>> > coordinated
>> > > > > across
>> > > > > > > brokers and partitions. Have you given any thought to that?
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > On Thu, Aug 16, 2018 at 8:44 AM xiongqi wu <
>> xiongq...@gmail.com>
>> > > > > wrote:
>> > > > > > >
>> > > > > > > > Eno, Dong,
>> > > > > > > >
>> > > > > > > > I have updated the KIP. We decide not to address the issue
>> that
>> > > we
>> > > > > might
>> > > > > > > > have for both compaction and time retention enabled topics
>> (see
>> > > the
>> > > > > > > > rejected alternative item 2). This KIP will only ensure log
>> can
>> > > be
>> > > > > > > > compacted after a specified time-interval.
>> > > > > > > >
>> > > > > > > > As suggested by Dong, we will also enforce "
>> > > max.compaction.lag.ms"
>> > > > > is
>> > > > > > > not
>> > > > > > > > less than "min.compaction.lag.ms".
>> > > > > > > >
>> > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-354
>> > <https://cwiki.apache.org/confluence/display/KAFKA/KIP-354>
>> > > > > Time-based
>> > > > > > > log
>> > > > > > > > compaction policy
>> > > > > > > > <https://cwiki.apache.org/confluence/display/KAFKA/KIP-354
>> > <https://cwiki.apache.org/confluence/display/KAFKA/KIP-354>
>> > > > > Time-based
>> > > > > > > log compaction policy>
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > On Tue, Aug 14, 2018 at 5:01 PM, xiongqi wu <
>> > xiongq...@gmail.com
>> > > >
>> > > > > wrote:
>> > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Per discussion with Dong, he made a very good point that
>> if
>> > > > > compaction
>> > > > > > > > > and time based retention are both enabled on a topic, the
>> > > > > compaction
>> > > > > > > > might
>> > > > > > > > > prevent records from being deleted on time. The reason is
>> > when
>> > > > > > > compacting
>> > > > > > > > > multiple segments into one single segment, the newly
>> created
>> > > > > segment
>> > > > > > > will
>> > > > > > > > > have same lastmodified timestamp as latest original
>> segment.
>> > We
>> > > > > lose
>> > > > > > > the
>> > > > > > > > > timestamp of all original segments except the last one.
>> As a
>> > > > > result,
>> > > > > > > > > records might not be deleted as it should be through time
>> > based
>> > > > > > > > retention.
>> > > > > > > > >
>> > > > > > > > > With the current KIP proposal, if we want to ensure timely
>> > > > > deletion, we
>> > > > > > > > > have the following configurations:
>> > > > > > > > > 1) enable time based log compaction only : deletion is
>> done
>> > > > though
>> > > > > > > > > overriding the same key
>> > > > > > > > > 2) enable time based log retention only: deletion is done
>> > > though
>> > > > > > > > > time-based retention
>> > > > > > > > > 3) enable both log compaction and time based retention:
>> > > Deletion
>> > > > > is not
>> > > > > > > > > guaranteed.
>> > > > > > > > >
>> > > > > > > > > Not sure if we have use case 3 and also want deletion to
>> > happen
>> > > > on
>> > > > > > > time.
>> > > > > > > > > There are several options to address deletion issue when
>> > enable
>> > > > > both
>> > > > > > > > > compaction and retention:
>> > > > > > > > > A) During log compaction, looking into record timestamp to
>> > > delete
>> > > > > > > expired
>> > > > > > > > > records. This can be done in compaction logic itself or
>> use
>> > > > > > > > > AdminClient.deleteRecords() . But this assumes we have
>> record
>> > > > > > > timestamp.
>> > > > > > > > > B) retain the lastModifed time of original segments during
>> > log
>> > > > > > > > compaction.
>> > > > > > > > > This requires extra meta data to record the information or
>> > not
>> > > > > grouping
>> > > > > > > > > multiple segments into one during compaction.
>> > > > > > > > >
>> > > > > > > > > If we have use case 3 in general, I would prefer solution
>> A
>> > and
>> > > > > rely on
>> > > > > > > > > record timestamp.
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Two questions:
>> > > > > > > > > Do we have use case 3? Is it nice to have or must have?
>> > > > > > > > > If we have use case 3 and want to go with solution A,
>> should
>> > we
>> > > > > > > introduce
>> > > > > > > > > a new configuration to enforce deletion by timestamp?
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > On Tue, Aug 14, 2018 at 1:52 PM, xiongqi wu <
>> > > xiongq...@gmail.com
>> > > > >
>> > > > > > > wrote:
>> > > > > > > > >
>> > > > > > > > >> Dong,
>> > > > > > > > >>
>> > > > > > > > >> Thanks for the comment.
>> > > > > > > > >>
>> > > > > > > > >> There are two retention policy: log compaction and time
>> > based
>> > > > > > > retention.
>> > > > > > > > >>
>> > > > > > > > >> Log compaction:
>> > > > > > > > >>
>> > > > > > > > >> we have use cases to keep infinite retention of a topic
>> > (only
>> > > > > > > > >> compaction). GDPR cares about deletion of PII (personal
>> > > > > identifiable
>> > > > > > > > >> information) data.
>> > > > > > > > >> Since Kafka doesn't know what records contain PII, it
>> relies
>> > > on
>> > > > > upper
>> > > > > > > > >> layer to delete those records.
>> > > > > > > > >> For those infinite retention uses uses, kafka needs to
>> > > provide a
>> > > > > way
>> > > > > > > to
>> > > > > > > > >> enforce compaction on time. This is what we try to
>> address
>> > in
>> > > > this
>> > > > > > > KIP.
>> > > > > > > > >>
>> > > > > > > > >> Time based retention,
>> > > > > > > > >>
>> > > > > > > > >> There are also use cases that users of Kafka might want
>> to
>> > > > expire
>> > > > > all
>> > > > > > > > >> their data.
>> > > > > > > > >> In those cases, they can use time based retention of
>> their
>> > > > topics.
>> > > > > > > > >>
>> > > > > > > > >>
>> > > > > > > > >> Regarding your first question, if a user wants to delete
>> a
>> > key
>> > > > in
>> > > > > the
>> > > > > > > > >> log compaction topic, the user has to send a deletion
>> using
>> > > the
>> > > > > same
>> > > > > > > > key.
>> > > > > > > > >> Kafka only makes sure the deletion will happen under a
>> > certain
>> > > > > time
>> > > > > > > > >> periods (like 2 days/7 days).
>> > > > > > > > >>
>> > > > > > > > >> Regarding your second question. In most cases, we might
>> want
>> > > to
>> > > > > delete
>> > > > > > > > >> all duplicated keys at the same time.
>> > > > > > > > >> Compaction might be more efficient since we need to scan
>> the
>> > > log
>> > > > > and
>> > > > > > > > find
>> > > > > > > > >> all duplicates. However, the expected use case is to set
>> the
>> > > > time
>> > > > > > > based
>> > > > > > > > >> compaction interval on the order of days, and be larger
>> than
>> > > > 'min
>> > > > > > > > >> compaction lag". We don't want log compaction to happen
>> > > > frequently
>> > > > > > > since
>> > > > > > > > >> it is expensive. The purpose is to help low production
>> rate
>> > > > topic
>> > > > > to
>> > > > > > > get
>> > > > > > > > >> compacted on time. For the topic with "normal" incoming
>> > > message
>> > > > > > > message
>> > > > > > > > >> rate, the "min dirty ratio" might have triggered the
>> > > compaction
>> > > > > before
>> > > > > > > > this
>> > > > > > > > >> time based compaction policy takes effect.
>> > > > > > > > >>
>> > > > > > > > >>
>> > > > > > > > >> Eno,
>> > > > > > > > >>
>> > > > > > > > >> For your question, like I mentioned we have long time
>> > > retention
>> > > > > use
>> > > > > > > case
>> > > > > > > > >> for log compacted topic, but we want to provide ability
>> to
>> > > > delete
>> > > > > > > > certain
>> > > > > > > > >> PII records on time.
>> > > > > > > > >> Kafka itself doesn't know whether a record contains
>> > sensitive
>> > > > > > > > information
>> > > > > > > > >> and relies on the user for deletion.
>> > > > > > > > >>
>> > > > > > > > >>
>> > > > > > > > >> On Mon, Aug 13, 2018 at 6:58 PM, Dong Lin <
>> > > lindon...@gmail.com>
>> > > > > > > wrote:
>> > > > > > > > >>
>> > > > > > > > >>> Hey Xiongqi,
>> > > > > > > > >>>
>> > > > > > > > >>> Thanks for the KIP. I have two questions regarding the
>> > > use-case
>> > > > > for
>> > > > > > > > >>> meeting
>> > > > > > > > >>> GDPR requirement.
>> > > > > > > > >>>
>> > > > > > > > >>> 1) If I recall correctly, one of the GDPR requirement is
>> > that
>> > > > we
>> > > > > can
>> > > > > > > > not
>> > > > > > > > >>> keep messages longer than e.g. 30 days in storage (e.g.
>> > > Kafka).
>> > > > > Say
>> > > > > > > > there
>> > > > > > > > >>> exists a partition p0 which contains message1 with key1
>> and
>> > > > > message2
>> > > > > > > > with
>> > > > > > > > >>> key2. And then user keeps producing messages with
>> key=key2
>> > to
>> > > > > this
>> > > > > > > > >>> partition. Since message1 with key1 is never overridden,
>> > > sooner
>> > > > > or
>> > > > > > > > later
>> > > > > > > > >>> we
>> > > > > > > > >>> will want to delete message1 and keep the latest message
>> > with
>> > > > > > > key=key2.
>> > > > > > > > >>> But
>> > > > > > > > >>> currently it looks like log compact logic in Kafka will
>> > > always
>> > > > > put
>> > > > > > > > these
>> > > > > > > > >>> messages in the same segment. Will this be an issue?
>> > > > > > > > >>>
>> > > > > > > > >>> 2) The current KIP intends to provide the capability to
>> > > delete
>> > > > a
>> > > > > > > given
>> > > > > > > > >>> message in log compacted topic. Does such use-case also
>> > > require
>> > > > > Kafka
>> > > > > > > > to
>> > > > > > > > >>> keep the messages produced before the given message? If
>> > yes,
>> > > > > then we
>> > > > > > > > can
>> > > > > > > > >>> probably just use AdminClient.deleteRecords() or
>> time-based
>> > > log
>> > > > > > > > retention
>> > > > > > > > >>> to meet the use-case requirement. If no, do you know
>> what
>> > is
>> > > > the
>> > > > > > > GDPR's
>> > > > > > > > >>> requirement on time-to-deletion after user explicitly
>> > > requests
>> > > > > the
>> > > > > > > > >>> deletion
>> > > > > > > > >>> (e.g. 1 hour, 1 day, 7 day)?
>> > > > > > > > >>>
>> > > > > > > > >>> Thanks,
>> > > > > > > > >>> Dong
>> > > > > > > > >>>
>> > > > > > > > >>>
>> > > > > > > > >>> On Mon, Aug 13, 2018 at 3:44 PM, xiongqi wu <
>> > > > xiongq...@gmail.com
>> > > > > >
>> > > > > > > > wrote:
>> > > > > > > > >>>
>> > > > > > > > >>> > Hi Eno,
>> > > > > > > > >>> >
>> > > > > > > > >>> > The GDPR request we are getting here at linkedin is
>> if we
>> > > > get a
>> > > > > > > > >>> request to
>> > > > > > > > >>> > delete a record through a null key on a log compacted
>> > > topic,
>> > > > > > > > >>> > we want to delete the record via compaction in a given
>> > time
>> > > > > period
>> > > > > > > > >>> like 2
>> > > > > > > > >>> > days (whatever is required by the policy).
>> > > > > > > > >>> >
>> > > > > > > > >>> > There might be other issues (such as orphan log
>> segments
>> > > > under
>> > > > > > > > certain
>> > > > > > > > >>> > conditions) that lead to GDPR problem but they are
>> more
>> > > like
>> > > > > > > > >>> something we
>> > > > > > > > >>> > need to fix anyway regardless of GDPR.
>> > > > > > > > >>> >
>> > > > > > > > >>> >
>> > > > > > > > >>> > -- Xiongqi (Wesley) Wu
>> > > > > > > > >>> >
>> > > > > > > > >>> > On Mon, Aug 13, 2018 at 2:56 PM, Eno Thereska <
>> > > > > > > > eno.there...@gmail.com>
>> > > > > > > > >>> > wrote:
>> > > > > > > > >>> >
>> > > > > > > > >>> > > Hello,
>> > > > > > > > >>> > >
>> > > > > > > > >>> > > Thanks for the KIP. I'd like to see a more precise
>> > > > > definition of
>> > > > > > > > what
>> > > > > > > > >>> > part
>> > > > > > > > >>> > > of GDPR you are targeting as well as some sort of
>> > > > > verification
>> > > > > > > that
>> > > > > > > > >>> this
>> > > > > > > > >>> > > KIP actually addresses the problem. Right now I find
>> > > this a
>> > > > > bit
>> > > > > > > > >>> vague:
>> > > > > > > > >>> > >
>> > > > > > > > >>> > > "Ability to delete a log message through compaction
>> in
>> > a
>> > > > > timely
>> > > > > > > > >>> manner
>> > > > > > > > >>> > has
>> > > > > > > > >>> > > become an important requirement in some use cases
>> > (e.g.,
>> > > > > GDPR)"
>> > > > > > > > >>> > >
>> > > > > > > > >>> > >
>> > > > > > > > >>> > > Is there any guarantee that after this KIP the GDPR
>> > > problem
>> > > > > is
>> > > > > > > > >>> solved or
>> > > > > > > > >>> > do
>> > > > > > > > >>> > > we need to do something else as well, e.g., more
>> KIPs?
>> > > > > > > > >>> > >
>> > > > > > > > >>> > >
>> > > > > > > > >>> > > Thanks
>> > > > > > > > >>> > >
>> > > > > > > > >>> > > Eno
>> > > > > > > > >>> > >
>> > > > > > > > >>> > >
>> > > > > > > > >>> > >
>> > > > > > > > >>> > > On Thu, Aug 9, 2018 at 4:18 PM, xiongqi wu <
>> > > > > xiongq...@gmail.com>
>> > > > > > > > >>> wrote:
>> > > > > > > > >>> > >
>> > > > > > > > >>> > > > Hi Kafka,
>> > > > > > > > >>> > > >
>> > > > > > > > >>> > > > This KIP tries to address GDPR concern to fulfill
>> > > > deletion
>> > > > > > > > request
>> > > > > > > > >>> on
>> > > > > > > > >>> > > time
>> > > > > > > > >>> > > > through time-based log compaction on a compaction
>> > > enabled
>> > > > > > > topic:
>> > > > > > > > >>> > > >
>> > > > > > > > >>> > > >
>> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>> > <https://cwiki.apache.org/confluence/display/KAFKA/KIP->
>> > > > > > > > <https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>> > <https://cwiki.apache.org/confluence/display/KAFKA/KIP->>
>> > > > > > > > >>> > > > 354%3A+Time-based+log+compaction+policy
>> > > > > > > > >>> > > >
>> > > > > > > > >>> > > > Any feedback will be appreciated.
>> > > > > > > > >>> > > >
>> > > > > > > > >>> > > >
>> > > > > > > > >>> > > > Xiongqi (Wesley) Wu
>> > > > > > > > >>> > > >
>> > > > > > > > >>> > >
>> > > > > > > > >>> >
>> > > > > > > > >>>
>> > > > > > > > >>
>> > > > > > > > >>
>> > > > > > > > >>
>> > > > > > > > >> --
>> > > > > > > > >> Xiongqi (Wesley) Wu
>> > > > > > > > >>
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > --
>> > > > > > > > > Xiongqi (Wesley) Wu
>> > > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > --
>> > > > > > > > Xiongqi (Wesley) Wu
>> > > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > --
>> > > > > > >
>> > > > > > > Brett Rann
>> > > > > > >
>> > > > > > > Senior DevOps Engineer
>> > > > > > >
>> > > > > > >
>> > > > > > > Zendesk International Ltd
>> > > > > > >
>> > > > > > > 395 Collins Street, Melbourne VIC 3000 Australia
>> > > > > > >
>> > > > > > > Mobile: +61 (0) 418 826 017
>> > > > > > >
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > --
>> > > > > > Xiongqi (Wesley) Wu
>> > > > > >
>> > > > >
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > Xiongqi (Wesley) Wu
>> > > >
>> > >
>> >
>> >
>> >
>> > --
>> > Xiongqi (Wesley) Wu
>> >
>>
>>
>> --
>>
>> Brett Rann
>>
>> Senior DevOps Engineer
>>
>>
>> Zendesk International Ltd
>>
>> 395 Collins Street, Melbourne VIC 3000 Australia
>>
>> Mobile: +61 (0) 418 826 017
>>
>


-- 
Xiongqi (Wesley) Wu

Reply via email to