Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-13776: Upgrade RocksDB from 6.27.3 to 6.29.4.1 #11967

Merged
merged 1 commit into from
Mar 30, 2022

Conversation

cadonna
Copy link
Contributor

@cadonna cadonna commented Mar 29, 2022

RocksDB 6.27.3 does not run on arm64 M1 Macs which would prevent people on this platform to run Kafka Streams. Thus, this PR upgrades RocksDB to 6.29.4.1 which contains the following fix to allow to run RocksDB on arm64 M1 Macs:

facebook/rocksdb#7720

The source compatibility report between 6.27.3 and 6.29.4.1 (attached to the ticket) reports a couple of incompatibilities. However, the incompatibilities do not seem to affect Kafka Streams' backwards compatibility.

  • The changes to class RocksDB only apply when inheriting from RocksDB. RocksDB is not exposed to users in Streams.
  • The changes to class WriteBatch and class WriteBatchInterface also only apply with inheritance. Both classes are not exposed to users in Streams.
    -The change to enum SanityLevel seem also not to apply to Streams since SanityLevel is only used in ConfigOptions which is only used to load options from files and properties objects. Loading options from files or properties is not exposed to users in Streams.

Committer Checklist (excluded from commit message)

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

Copy link
Member

@bbejeck bbejeck left a comment

Choose a reason for hiding this comment

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

Great to see this update @cadonna.

LGTM pending tests passing. Can we kick off the streams system tests as well?

Copy link
Member

@mjsax mjsax left a comment

Choose a reason for hiding this comment

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

Can we run the system test on this branch before merging?

Copy link
Member

@mjsax mjsax left a comment

Choose a reason for hiding this comment

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

Can we run the system test on this branch before merging?

Copy link
Member

@ableegoldman ableegoldman left a comment

Choose a reason for hiding this comment

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

Hahaha think you have enough comments asking for system tests? 😜

Pending the results there though this LGTM

@cadonna
Copy link
Contributor Author

cadonna commented Mar 30, 2022

Here are the anxiously awaited system test results (spoiler alarm: everything is fine!):

http://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2022-03-29--001.system-test-kafka-branch-builder--1648573998--cadonna--upgrade_rocksdb_to_6.29.4.1--edccd9df6/report.html

@cadonna
Copy link
Contributor Author

cadonna commented Mar 30, 2022

Failure is unrelated:

Build / ARM / org.apache.kafka.clients.consumer.KafkaConsumerTest.testReturnRecordsDuringRebalance()

@cadonna cadonna merged commit 3904652 into apache:trunk Mar 30, 2022
@cadonna
Copy link
Contributor Author

cadonna commented Mar 30, 2022

Cherry-picked to 3.2

cadonna added a commit that referenced this pull request Mar 30, 2022
RocksDB 6.27.3 does not run on arm64 M1 Macs which would prevent people on this platform to run Kafka Streams. Thus, this PR upgrades RocksDB to 6.29.4.1 which contains the following fix to allow to run RocksDB on arm64 M1 Macs:

facebook/rocksdb#7720

The source compatibility report between 6.27.3 and 6.29.4.1 (attached to the ticket) reports a couple of incompatibilities. However, the incompatibilities do not seem to affect Kafka Streams' backwards compatibility.

    The changes to class RocksDB only apply when inheriting from RocksDB. RocksDB is not exposed to users in Streams.
    The changes to class WriteBatch and class WriteBatchInterface also only apply with inheritance. Both classes are not exposed to users in Streams.
    -The change to enum SanityLevel seem also not to apply to Streams since SanityLevel is only used in ConfigOptions which is only used to load options from files and properties objects. Loading options from files or properties is not exposed to users in Streams.

Reviewers: Bill Bejeck <[email protected]>, Matthias J. Sax <[email protected]>, A. Sophie Blee-Goldman <[email protected]>
hshi2022 added a commit to hshi2022/kafka that referenced this pull request Jun 7, 2022
RocksDB 6.27.3 does not run on arm64 M1 Macs which would prevent people on this platform to run Kafka Streams. Thus, this PR upgrades RocksDB to 6.29.4.1 which contains the following fix to allow to run RocksDB on arm64 M1 Macs:

facebook/rocksdb#7720

The source compatibility report between 6.27.3 and 6.29.4.1 (attached to the ticket) reports a couple of incompatibilities. However, the incompatibilities do not seem to affect Kafka Streams' backwards compatibility.

    The changes to class RocksDB only apply when inheriting from RocksDB. RocksDB is not exposed to users in Streams.
    The changes to class WriteBatch and class WriteBatchInterface also only apply with inheritance. Both classes are not exposed to users in Streams.
    -The change to enum SanityLevel seem also not to apply to Streams since SanityLevel is only used in ConfigOptions which is only used to load options from files and properties objects. Loading options from files or properties is not exposed to users in Streams.

Reviewers: Bill Bejeck <[email protected]>, Matthias J. Sax <[email protected]>, A. Sophie Blee-Goldman <[email protected]>
hshi2022 added a commit to linkedin/kafka that referenced this pull request Jun 8, 2022
…apache#11967) #351

RocksDB 6.27.3 does not run on arm64 M1 Macs which would prevent people on this platform to run Kafka Streams. Thus, this PR upgrades RocksDB to 6.29.4.1 which contains the following fix to allow to run RocksDB on arm64 M1 Macs:

facebook/rocksdb#7720

The source compatibility report between 6.27.3 and 6.29.4.1 (attached to the ticket) reports a couple of incompatibilities. However, the incompatibilities do not seem to affect Kafka Streams' backwards compatibility.

    The changes to class RocksDB only apply when inheriting from RocksDB. RocksDB is not exposed to users in Streams.
    The changes to class WriteBatch and class WriteBatchInterface also only apply with inheritance. Both classes are not exposed to users in Streams.
    -The change to enum SanityLevel seem also not to apply to Streams since SanityLevel is only used in ConfigOptions which is only used to load options from files and properties objects. Loading options from files or properties is not exposed to users in Streams.

Reviewers: Bill Bejeck <[email protected]>, Matthias J. Sax <[email protected]>, A. Sophie Blee-Goldman <[email protected]>
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