Skip to content

MINOR: improve security docs for Kafka Streams#4532

Merged
mjsax merged 3 commits intoapache:trunkfrom
mjsax:minor-improve-security-docs
Feb 8, 2018
Merged

MINOR: improve security docs for Kafka Streams#4532
mjsax merged 3 commits intoapache:trunkfrom
mjsax:minor-improve-security-docs

Conversation

@mjsax
Copy link
Copy Markdown
Member

@mjsax mjsax commented Feb 6, 2018

No description provided.

@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Feb 6, 2018

Call for review @bbejeck @miguno @joel-hamill

<code class="docutils literal"><span class="pre">--cluster</span> <span class="pre">--operation</span> <span class="pre">Create</span></code> set so that the application has the permissions to create
<a class="reference internal" href="manage-topics.html#streams-developer-guide-topics-internal"><span class="std std-ref">internal topics</span></a>.</p>
<p>If you don't want to provide this permission to your application you can create the required internal topics manually.
If the expected internal topics exist, Kafka Streams will not try to re-create but used them right away.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Kafka Streams will not try to re-create but used them right away. -> Kafka Streams will not try to re-create them, but use them right away.

@bbejeck
Copy link
Copy Markdown
Member

bbejeck commented Feb 6, 2018

one minor comment, otherwise LGTM.

@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Feb 6, 2018

Updated.

Note, trunk is currently broken. Will rebase this PR after trunk is fixed. (No need to re-trigger the build atm.)

Copy link
Copy Markdown
Contributor

@joel-hamill joel-hamill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar fixes

<p>When applications are run against a secured Kafka cluster, the principal running the application must have the ACL
<code class="docutils literal"><span class="pre">--cluster</span> <span class="pre">--operation</span> <span class="pre">Create</span></code> set so that the application has the permissions to create
<a class="reference internal" href="manage-topics.html#streams-developer-guide-topics-internal"><span class="std std-ref">internal topics</span></a>.</p>
<p>If you don't want to provide this permission to your application you can create the required internal topics manually.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggest: To avoid providing this permission to your application, you can create the required internal topics manually. If the internal topics exist, Kafka Streams will not try to recreate them.

<a class="reference internal" href="manage-topics.html#streams-developer-guide-topics-internal"><span class="std std-ref">internal topics</span></a>.</p>
<p>If you don't want to provide this permission to your application you can create the required internal topics manually.
If the expected internal topics exist, Kafka Streams will not try to re-create them, but use them right away.
Note, that the internal repartition and changelog topics must be created with the correct number of partitions&mdash;otherwise, Kafka Streams will fail on startup.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggest: Note, that the internal repartition and changelog topics must be created with the correct number of partitions&mdash;otherwise, Kafka Streams will fail on startup.

<p>If you don't want to provide this permission to your application you can create the required internal topics manually.
If the expected internal topics exist, Kafka Streams will not try to re-create them, but use them right away.
Note, that the internal repartition and changelog topics must be created with the correct number of partitions&mdash;otherwise, Kafka Streams will fail on startup.
As a rule of thumb, the topics need to be created with the same number of partitions as your input topic (or max number of partitions over all input topics if there are multiple).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggest: The topics must be created with the same number of partitions as your input topic, or if there are multiple topics, the maximum number of partitions across all input topics.

As a rule of thumb, the topics need to be created with the same number of partitions as your input topic (or max number of partitions over all input topics if there are multiple).
Additionally, changelog topics <emph>must</emph> be created with log compaction enabled&mdash;otherwise, your application might lose data.
You can learn about the names of the required internal topics via <code>Topology#describe()</code>.
All internal topics follow the naming pattern <code>&lt;application.id&gt;-&lt;operatorName&gt;-&lt;suffix&gt;</code> with <code>suffix</code> is either <code>repartition</code> or <code>changelog</code>.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggest: All internal topics follow the naming pattern <code>&lt;application.id&gt;-&lt;operatorName&gt;-&lt;suffix&gt;</code> where the <code>suffix</code> is either <code>repartition</code> or <code>changelog</code>.

Note, that the internal repartition and changelog topics must be created with the correct number of partitions&mdash;otherwise, Kafka Streams will fail on startup.
As a rule of thumb, the topics need to be created with the same number of partitions as your input topic (or max number of partitions over all input topics if there are multiple).
Additionally, changelog topics <emph>must</emph> be created with log compaction enabled&mdash;otherwise, your application might lose data.
You can learn about the names of the required internal topics via <code>Topology#describe()</code>.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggest: You can find out more about the names...

@joel-hamill
Copy link
Copy Markdown
Contributor

I assume the corresponding changes will also be made to the CP docs?

@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Feb 7, 2018

@joel-hamill Yes. Tracked as internal ticket KSTREAMS-1295 assigned to you.

@mjsax mjsax merged commit a0fb4db into apache:trunk Feb 8, 2018
mjsax added a commit that referenced this pull request Feb 8, 2018
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Joel Hamill <joel@confluent.io>, Guozhang Wang <guozhang@confluent.io>
mjsax added a commit that referenced this pull request Feb 8, 2018
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Joel Hamill <joel@confluent.io>, Guozhang Wang <guozhang@confluent.io>
@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Feb 8, 2018

Merged to trunk and cherry-picked to 1.0 and 1.1 branches.

@mjsax mjsax deleted the minor-improve-security-docs branch February 8, 2018 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants