You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/12/01 10:36:00 UTC

[jira] [Commented] (KAFKA-5693) TopicCreationPolicy and AlterConfigsPolicy overlap

    [ https://issues.apache.org/jira/browse/KAFKA-5693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274225#comment-16274225 ] 

ASF GitHub Bot commented on KAFKA-5693:
---------------------------------------

GitHub user tombentley opened a pull request:

    https://github.com/apache/kafka/pull/4281

    [WIP] KAFKA-5693 rationalise policy interfaces

    As described in KIP-201 (not yet accepted), this:
    
    * deprecates the CreateTopicPolicy and AlterConfigPolicy 
    * adds a new TopicManagementPolicy. 
    * adds validateOnly() option to AdminClient.deleteTopics() and AdminClient.deleteRecords()
    
    The existing policy tests are duplicated to test both old and new policy interfaces. A new DeleteRecordsRequestTest (and *WithPolicy subclass) are added to further test delete records with and without policy. A new DeleteTopicsRequestTestWithPolicy is added, subclassing the existing (but updated) DeleteTopicsRequestTest.
    
    ### Committer Checklist (excluded from commit message)
    - [ ] Verify design and implementation 
    - [ ] Verify test coverage and CI build status
    - [ ] Verify documentation (including upgrade notes)


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tombentley/kafka KAFKA-5693-rationalise-policy-interfaces

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/4281.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #4281
    
----
commit e92fdb3e40529d275d431ba6bf1ce234da462223
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-04T10:36:12Z

    Add TopicManagementPolicy.java

commit a6c3f5e9697ed9dc29308b5126146f8a972fd0a9
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-04T15:32:48Z

    fixup

commit f18766de07f013332f9fb0778bb34bdf0ac66eaa
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-05T13:30:03Z

    Fixup TopicManagementPolicy

commit 186281d5345718ed9415543779b5fd6a28aba1a8
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-05T13:30:40Z

    Use TopicManagementPolicy in AdminManager, with back-compat with old policies. TESTS STILL PASS

commit 23b5b3404c6fc7d90eac326cc78313499599c5ba
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-05T19:21:57Z

    Minor fix. Note the change in AdminManager was prompted by a test failure that looked a lot like an assumed Map ordering problem

commit 728103664bf35d37b5ab57119fae128a4835a84d
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-05T19:22:34Z

    Deprecate tests for old policies and add equivalent tests for new policy

commit 6258b063e19809114df94bae30241796d35781b8
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-06T11:03:37Z

    Add validate_only to DeleteTopicsRequest and DeleteRecordsRequest

commit ae701f3a908b033943efedf53d8907a883ae570b
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-06T11:16:54Z

    Add TODO list

commit b4d933122bd1877184d2cd6340ddebd3fef1cd2f
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-06T14:48:15Z

    Add messages to responses

commit bedc161140b5e1578dfb3afe5265cdc1452152d2
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-09T08:22:27Z

    Implement support for validateOnly on the broker

commit 51e424bd9395d8b6ac1d5ca3ea5d8df32cab388f
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-09T11:16:41Z

    Policy checks for delete(topics|records) and move policy instantiation to KafkaServer

commit 5a025bd9b2a2559dd6f5b69b22ef1897a860f4d1
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-09T11:17:00Z

    fixup

commit 21f1709c9f83864d68d2f5b633c0c15a28d5bf55
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-09T11:22:14Z

    fix long lines

commit 51e9fcca3f097dab36fbfd0bf391276c104fbe03
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-09T15:37:25Z

    Add test for deleteTopics(validateOnly=true)

commit ed303a1827e20fc44356a4e662369db34db74b20
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T09:24:52Z

    Small fixup in DeleteRecordsResponse

commit efec8c875501eac54c2b05c532c87c5302daadfd
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T09:25:35Z

    Small fix in ClusterStateImpl

commit 1deba2cbd2383fe6acccdd2d8c45669b3e80bdc5
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T09:28:33Z

    Small fix in ClusterStateImpl

commit 33f1f82f53f52197968d424fd2f3984806379239
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T09:29:17Z

    Add DeleteRecordsRequestTest

commit 8fce29596fbc3472807a18f5145b674d9bd3fbcb
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T09:30:06Z

    Fix DeleteTopicsRequestTest for Errors -> ApiError and add a test with a policy.

commit feb6600f334da680584879c105677b7c89910172
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T16:45:39Z

    Version-aware responses

commit 5e7b8dd9430f5edcfeece509e16860c29ab13003
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T16:47:29Z

    Don't timeout a validateOnly DeleteTopicRequest

commit e3507e51514aef407763cd0e7415b8e19d9c7e82
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T16:49:43Z

    Handle errors pertaining to the topic specifically

commit 63ff19771bb4a0ecd0aabdd3277343925a3044f8
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-10T16:51:46Z

    Tests

commit 97550942e1582aa25e7b0bb3634aebe8655d9b78
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-11T10:48:58Z

    Add test with policy

commit 30f9246c9260993e21fa33426eeb83372cff37f9
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-10-13T09:41:57Z

    Wait for metadata in testNotLeader()

commit a3674281787702a05d625d481ffb0374405184e9
Author: Tom Bentley <tb...@redhat.com>
Date:   2017-12-01T09:48:25Z

    fix

----


> TopicCreationPolicy and AlterConfigsPolicy overlap
> --------------------------------------------------
>
>                 Key: KAFKA-5693
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5693
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Tom Bentley
>            Priority: Minor
>              Labels: kip
>             Fix For: 1.1.0
>
>
> The administrator of a cluster can configure a {{CreateTopicPolicy}}, which has access to the topic configs as well as other metadata to make its decision about whether a topic creation is allowed. Thus in theory the decision could be based on a combination of of the replication factor, and the topic configs, for example. 
> Separately there is an AlterConfigPolicy, which only has access to the configs (and can apply to configurable entities other than just topics).
> There are potential issues with this. For example although the CreateTopicPolicy is checked at creation time, it's not checked for any later alterations to the topic config. So policies which depend on both the topic configs and other topic metadata could be worked around by changing the configs after creation.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)