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-5576: increase the rocksDB version to 5.5.1 for Power support #3519

Closed
wants to merge 2 commits into from

Conversation

yussufsh
Copy link

No description provided.

@asfgit
Copy link

asfgit commented Jul 11, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/6023/
Test FAILed (JDK 7 and Scala 2.11).

@asfgit
Copy link

asfgit commented Jul 11, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/6008/
Test PASSed (JDK 8 and Scala 2.12).

@ijuma
Copy link
Contributor

ijuma commented Jul 11, 2017

cc @enothereska @guozhangwang

@guozhangwang
Copy link
Contributor

@yussufsh which power support you were referring to? http://rocksdb.org/blog/

cc @enothereska

@enothereska
Copy link
Contributor

I noticed a unit test failure with message pure virtual method called which has traditionally come from RocksDB.

@enothereska
Copy link
Contributor

Also when running locally on my laptop I got: Assertion failed: (is_last_reference), function ~ColumnFamilyData, file db/column_family.cc, line 458. for one of the tests. Haven't dug deeper but I noticed this was a problem with 5.4.5 too (see #3472).

@yussufsh
Copy link
Author

yussufsh commented Jul 13, 2017

@enothereska Thanks for looking at this.
I have no failure on my power8 system. Could you let me know which unit test is failing for you?

Also, let me know the jdk & scala version you are working with.

@ayappanec
Copy link

@guozhangwang From version 5.3.6 onwards , rocksdb has IBM PowerPC64 Little-Endian support (PPC64LE). https://github.com/facebook/rocksdb/releases/tag/v5.3.6
glibc compatibility issues are there but that is rectified in the newer versions 5.4.7 & 5.5.1

@yussufsh
Copy link
Author

@enothereska I got the AssertionError in RocksDBStoreTest#shouldThrowProcessorStateExceptionOnOpeningReadOnlyDir if that is what you are referring to?
However, I got the failure on RHEL 7.3 machine but on Ubuntu 14.04 all test passed with JDK1.7 as well as JDK1.8.

@enothereska
Copy link
Contributor

@yussufsh thank you. One error you can see is the one from Jenkins above "JDK 7...". If you go under Details you'll see a pure virtual error.

@yussufsh
Copy link
Author

I am not able to see the details of the build failure where you mentioned pure virtual error. However I am still getting the AssertionError on the RHEL machine:

org.apache.kafka.streams.state.internals.RocksDBStoreTest > shouldThrowProcessorStateExceptionOnOpeningReadOnlyDir FAILED
    java.lang.AssertionError: Expected exception: org.apache.kafka.streams.errors.ProcessorStateException

@yussufsh
Copy link
Author

Hi @enothereska
Let us know what is required to update the rocksdb version or next steps required from my side.
I can help you with testing on Power systems.

@guozhangwang
Copy link
Contributor

Hi @yussufsh we need to have 1) the Jenkins build on the unit test to pass at least once (they are running on AWS), and 2) you can help validate that all unit tests still passed on RHEL machine using ./gradlew streams:test, and 3) someone can validate that unit test passed on MacOS.

I can help with 3), and 1) could be done by typing retest this please on the comment once you have rebased your PR.

@asfgit
Copy link

asfgit commented Jul 24, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/6300/
Test PASSed (JDK 8 and Scala 2.12).

@asfgit
Copy link

asfgit commented Jul 24, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/6315/
Test PASSed (JDK 7 and Scala 2.11).

@ayappanec
Copy link

Now the failures are gone, this is good to go i guess.

@yussufsh
Copy link
Author

I don't think so the build has the version changes. I need to rebase the feature branch with latest Kafka code then we can request the build.

I will do this as soon as I am back in office.

@ayappanec
Copy link

The build has the version changes. In the console output, i am able to see maven downloads rocksDB 5.5.1 artifact

@yussufsh
Copy link
Author

Hi @guozhangwang
I have attached the successful pass on my local rhel power VM to the JIRA ticket. Also the Jenkins build is successful.
Could you merge the PR please?

@asfgit
Copy link

asfgit commented Jul 27, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/6383/
Test PASSed (JDK 7 and Scala 2.11).

@asfgit
Copy link

asfgit commented Jul 27, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/6368/
Test PASSed (JDK 8 and Scala 2.12).

@guozhangwang
Copy link
Contributor

When running locally on a MacOS (version 10.10.5), I still see the following error message as @enothereska reported:

org.apache.kafka.streams.state.internals.RocksDBKeyValueStoreTest > testRestore PASSED
Assertion failed: (is_last_reference), function ~ColumnFamilyData, file db/column_family.cc, line 458.
:streams:test FAILED

org.apache.kafka.streams.state.internals.ChangeLoggingKeyValueStoreTest > shouldLogKeyNullOnDelete PASSED
Assertion failed: (is_last_reference), function ~ColumnFamilyData, file db/column_family.cc, line 458.

As shown above I ran it twice and both times it fails but around different test cases, so I suspect it is not boiled down to a specific test case but a general transient issue in rocksDB

@yussufsh
Copy link
Author

Thanks @guozhangwang
I see you are already working with RocksDB team on this MacOS issue.

@guozhangwang
Copy link
Contributor

I think there might be regression introduced in the 5.4.5, and lasts in 5.5.1 and 5.6.1 as well. We need to hold on further upgrading until it was resolved in a future release.

@guozhangwang
Copy link
Contributor

This is the issue containing the discussion: facebook/rocksdb#2533 (comment)

asfgit pushed a commit that referenced this pull request Aug 9, 2017
Notable updates:

1. Gradle 4.1 includes a number of performance and
CLI improvements as well as initial Java 9 support.

2. Scala 2.12.3 has substantial compilation time
improvements.

3. lz4-java 1.4 allows us to remove a workaround in
KafkaLZ4BlockInputStream (not done in this PR).

4. snappy-java 1.1.4 improved performance of compression (5%)
and decompression (20%). There was a slight increase in the
compressed size in one of our tests.

Not updated:

1. PowerMock due to a couple of regressions. I investigated one of them
and filed powermock/powermock#828.

2. Jackson, which will be done via #3631.

3. Rocksdb, which will be done via #3519.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #3619 from ijuma/update-deps-for-1.0.0
@ijuma
Copy link
Contributor

ijuma commented Sep 8, 2017

The latest version is now 5.7.3. Do we also have to upgrade due to the license change?

@guozhangwang
Copy link
Contributor

I can try that, not sure if the issue is resolved in 5.7.3.

@guozhangwang
Copy link
Contributor

#3819

@sslavic
Copy link
Member

sslavic commented Oct 2, 2017

@guozhangwang
Copy link
Contributor

@yussufsh @ayappanec We have upgraded to 5.8 in #3819. If that has resolved your intention please feel free to close this PR.

@yussufsh yussufsh closed this Oct 6, 2017
@yussufsh
Copy link
Author

yussufsh commented Oct 6, 2017

Thnanks @guozhangwang

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.

7 participants