Skip to content

KAFKA-9548 Added SPIs and public classes/interfaces introduced in KIP-405 for tiered storage feature in Kafka.#10173

Merged
junrao merged 3 commits into
apache:trunkfrom
satishd:KAFKA-9548
Mar 3, 2021
Merged

KAFKA-9548 Added SPIs and public classes/interfaces introduced in KIP-405 for tiered storage feature in Kafka.#10173
junrao merged 3 commits into
apache:trunkfrom
satishd:KAFKA-9548

Conversation

@satishd

@satishd satishd commented Feb 22, 2021

Copy link
Copy Markdown
Member

KAFKA-9548 Added SPIs and public classes/interfaces introduced in KIP-405 for tiered storage feature in Kafka.

KIP-405 introduces tiered storage feature in Kafka. With this feature, Kafka cluster is configured with two tiers of storage - local and remote. The local tier is the same as the current Kafka that uses the local disks on the Kafka brokers to store the log segments. The new remote tier uses systems, such as HDFS or S3 or other cloud storages to store the completed log segments. Consumers fetch the records stored in remote storage through the brokers with the existing protocol.

We introduced a few SPIs for plugging in log/index store and remote log metadata store.

This involves two parts

  1. Storing the actual data in remote storage like HDFS, S3, or other cloud stroages.
  2. Storing the metadata about where the remote segments are stored. The default implementation uses an internal Kafka topic.

You can read KIP for more details at https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

@satishd

satishd commented Feb 23, 2021

Copy link
Copy Markdown
Member Author

@junrao @kowshik

@satishd
satishd force-pushed the KAFKA-9548 branch 5 times, most recently from cf3c406 to afdc0a0 Compare March 2, 2021 01:09

@junrao junrao left a comment

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.

@satishd : Thanks for the PR. A few comments below.

Comment thread clients/src/main/java/org/apache/kafka/common/TopicIdPartition.java Outdated
Comment thread clients/src/main/java/org/apache/kafka/common/TopicIdPartition.java Outdated
satishd added 2 commits March 2, 2021 11:05
…-405 for tiered storage feature in Kafka.

KIP-405 introduces tiered storage feature in Kafka. With this feature, Kafka cluster is configured with two tiers of storage - local and remote. The local tier is the same as the current Kafka that uses the local disks on the Kafka brokers to store the log segments. The new remote tier uses systems, such as HDFS or S3 or other cloud storages to store the completed log segments. Consumers fetch the records stored in remote storage through the brokers with the existing protocol.

We introduced a few SPIs for plugging in log/index store and remote log metadata store.

This involves two parts
1. Storing the actual data in remote storage like HDFS, S3, or other cloud stroages.
2. Storing the metadata about where the remote segments are stored. The default implementation uses an internal Kafka topic.

You can read KIP for more details at https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage

@satishd satishd left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

thanks @junrao for the review. Addressed them in the latest commit.

@junrao junrao left a comment

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.

@satishd : Thanks for the updated PR. A couple of more comments below.

@satishd

satishd commented Mar 3, 2021

Copy link
Copy Markdown
Member Author

@junrao thanks for the comment, added all public classes to javadoc section in build.gradle.

 * Added new classes for java doc generation.
 * Fixed a few javadoc warnings in the newly added classes..

@junrao junrao left a comment

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.

@satishd : Thanks for the updated PR. LGTM

@junrao
junrao merged commit 0d9a95a into apache:trunk Mar 3, 2021

@kowshik kowshik left a comment

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.

@satishd Thanks for the PR! LGTM. Just small comments. Feel free to address them later since this is merged.

Comment thread clients/src/main/java/org/apache/kafka/common/TopicIdPartition.java
@satishd

satishd commented Mar 30, 2021

Copy link
Copy Markdown
Member Author

@kowshik @ijuma thanks for your review. Raised #10424 to address your comments.

junrao pushed a commit that referenced this pull request Mar 31, 2021
Replaced File with Path in LogSegment Data.

This is a followup of #10173

Reviewers: Kowshik Prakasam <kprakasam@confluent.io>, Jun Rao <junrao@gmail.com>
Terrdi pushed a commit to Terrdi/kafka that referenced this pull request Apr 1, 2021
Replaced File with Path in LogSegment Data.

This is a followup of apache#10173

Reviewers: Kowshik Prakasam <kprakasam@confluent.io>, Jun Rao <junrao@gmail.com>
satishd added a commit to satishd/kafka that referenced this pull request May 31, 2021
…-405 for tiered storage feature in Kafka. (apache#10173)

KIP-405 introduces tiered storage feature in Kafka. With this feature, Kafka cluster is configured with two tiers of storage - local and remote. The local tier is the same as the current Kafka that uses the local disks on the Kafka brokers to store the log segments. The new remote tier uses systems, such as HDFS or S3 or other cloud storages to store the completed log segments. Consumers fetch the records stored in remote storage through the brokers with the existing protocol.

We introduced a few SPIs for plugging in log/index store and remote log metadata store.

This involves two parts
1. Storing the actual data in remote storage like HDFS, S3, or other cloud storages.
2. Storing the metadata about where the remote segments are stored. The default implementation uses an internal Kafka topic.

You can read KIP for more details at https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage

Reviewers: Jun Rao <junrao@gmail.com>
satishd added a commit to satishd/kafka that referenced this pull request May 31, 2021
Replaced File with Path in LogSegment Data.

This is a followup of apache#10173

Reviewers: Kowshik Prakasam <kprakasam@confluent.io>, Jun Rao <junrao@gmail.com>
kamalcph pushed a commit to satishd/kafka that referenced this pull request Jun 21, 2021
…-405 for tiered storage feature in Kafka. (apache#10173)

KIP-405 introduces tiered storage feature in Kafka. With this feature, Kafka cluster is configured with two tiers of storage - local and remote. The local tier is the same as the current Kafka that uses the local disks on the Kafka brokers to store the log segments. The new remote tier uses systems, such as HDFS or S3 or other cloud storages to store the completed log segments. Consumers fetch the records stored in remote storage through the brokers with the existing protocol.

We introduced a few SPIs for plugging in log/index store and remote log metadata store.

This involves two parts
1. Storing the actual data in remote storage like HDFS, S3, or other cloud storages.
2. Storing the metadata about where the remote segments are stored. The default implementation uses an internal Kafka topic.

You can read KIP for more details at https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage

Reviewers: Jun Rao <junrao@gmail.com>
kamalcph pushed a commit to satishd/kafka that referenced this pull request Jun 21, 2021
Replaced File with Path in LogSegment Data.

This is a followup of apache#10173

Reviewers: Kowshik Prakasam <kprakasam@confluent.io>, Jun Rao <junrao@gmail.com>
satishd added a commit to satishd/kafka that referenced this pull request Aug 12, 2021
…-405 for tiered storage feature in Kafka. (apache#10173)

Summary:
KIP-405 introduces tiered storage feature in Kafka. With this feature, Kafka cluster is configured with two tiers of storage - local and remote. The local tier is the same as the current Kafka that uses the local disks on the Kafka brokers to store the log segments. The new remote tier uses systems, such as HDFS or S3 or other cloud storages to store the completed log segments. Consumers fetch the records stored in remote storage through the brokers with the existing protocol.

We introduced a few SPIs for plugging in log/index store and remote log metadata store.

This involves two parts
1. Storing the actual data in remote storage like HDFS, S3, or other cloud storages.
2. Storing the metadata about where the remote segments are stored. The default implementation uses an internal Kafka topic.

You can read KIP for more details at https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage

apache-reviewers: Jun Rao <junrao@gmail.com>
(cherry picked from commit 0d9a95a)

Reviewers: #ldap_kafka_admins, kchandraprakash

Reviewed By: #ldap_kafka_admins, kchandraprakash

JIRA Issues: DKAFC-868

Differential Revision: https://code.uberinternal.com/D6303151
satishd added a commit to satishd/kafka that referenced this pull request Aug 12, 2021
Summary:
Replaced File with Path in LogSegment Data.

This is a followup of apache#10173

apache-reviewers: Kowshik Prakasam <kprakasam@confluent.io>, Jun Rao <junrao@gmail.com>
(cherry picked from commit 3829df1)

Reviewers: #ldap_kafka_admins, kchandraprakash

Reviewed By: #ldap_kafka_admins, kchandraprakash

JIRA Issues: DKAFC-868

Differential Revision: https://code.uberinternal.com/D6303171
divijvaidya pushed a commit to Hangleton/kafka that referenced this pull request Apr 28, 2022
…-405 for tiered storage feature in Kafka. (apache#10173)

Summary:
KIP-405 introduces tiered storage feature in Kafka. With this feature, Kafka cluster is configured with two tiers of storage - local and remote. The local tier is the same as the current Kafka that uses the local disks on the Kafka brokers to store the log segments. The new remote tier uses systems, such as HDFS or S3 or other cloud storages to store the completed log segments. Consumers fetch the records stored in remote storage through the brokers with the existing protocol.

We introduced a few SPIs for plugging in log/index store and remote log metadata store.

This involves two parts
1. Storing the actual data in remote storage like HDFS, S3, or other cloud storages.
2. Storing the metadata about where the remote segments are stored. The default implementation uses an internal Kafka topic.

You can read KIP for more details at https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage

apache-reviewers: Jun Rao <junrao@gmail.com>
(cherry picked from commit 0d9a95a)

Reviewers: #ldap_kafka_admins, kchandraprakash

Reviewed By: #ldap_kafka_admins, kchandraprakash

JIRA Issues: DKAFC-868

Differential Revision: https://code.uberinternal.com/D6303151
divijvaidya pushed a commit to Hangleton/kafka that referenced this pull request Apr 28, 2022
Summary:
Replaced File with Path in LogSegment Data.

This is a followup of apache#10173

apache-reviewers: Kowshik Prakasam <kprakasam@confluent.io>, Jun Rao <junrao@gmail.com>
(cherry picked from commit 3829df1)

Reviewers: #ldap_kafka_admins, kchandraprakash

Reviewed By: #ldap_kafka_admins, kchandraprakash

JIRA Issues: DKAFC-868

Differential Revision: https://code.uberinternal.com/D6303171
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants