Upgrading GRPC version to 1.33, Netty to 4.1.50Final and ETCD client driver - #2582
Conversation
eolivelli
left a comment
There was a problem hiding this comment.
LGTM
but unfortunately Integration tests of the Etcd metadata driver are failing```
Errors:
Error: org.apache.bookkeeper.metadata.etcd.Etcd64bitIdGeneratorTest.testGenerateIdParallel
Error: Run 1: Etcd64bitIdGeneratorTest.setUp:57->EtcdTestBase.setUp:79->EtcdTestBase.newEtcdClient:61 » NoSuchMethod
Error: Run 2: Etcd64bitIdGeneratorTest.setUp:57->EtcdTestBase.setUp:79->EtcdTestBase.newEtcdClient:61 » NoSuchMethod
Error: Run 3: Etcd64bitIdGeneratorTest.setUp:57->EtcdTestBase.setUp:79->EtcdTestBase.newEtcdClient:61 » NoSuchMethod
[INFO]
| <google.errorprone.version>2.1.2</google.errorprone.version> | ||
| <grpc.version>1.18.0</grpc.version> | ||
| <grpc.version>1.35.0</grpc.version> | ||
| <tomcat-annotations.version>1.35.0</tomcat-annotations.version> |
There was a problem hiding this comment.
I guess that the tomcat-annotations.version is not correct. What is the exact reason for introducing this dependency?
It looks like the dependency isn't maintained, updated last in 2017: https://search.maven.org/artifact/org.apache.tomcat/annotations-api
|
The problem with the integration tests seems to be related to the etcd client. I am not sure what/whom this can affect but anyone running 2yo etcd should consider rethinking their life choices. :/ |
691ce7a to
e2809b0
Compare
…de grpc a little (to 1.33) to get integration tests to work
|
So far: I left netty at its current version. jetcd dependencies use newer version but TLS tests timeout with it A few notes: |
eolivelli
left a comment
There was a problem hiding this comment.
Great work.
I will check tomorrow the hardest parts.
Aren't we updating LICENSE files?
|
@eolivelli The licenses weren't updated in a while. I.e. licenses still referred netty 4.1.32, the build is on 4.1.50, similarly others (rocksdb etc).
This is what's currently left for the server, after the last commit: |
| <dependency> | ||
| <groupId>org.testcontainers</groupId> | ||
| <artifactId>testcontainers</artifactId> | ||
| <scope>test</scope> |
There was a problem hiding this comment.
Why is <scope>test</scope> removed from testcontainers dependency?
lhotari
left a comment
There was a problem hiding this comment.
I placed one question about dependencies in metadata-drivers/etcd/pom.xml. The <scope>test</scope> was removed for testcontainers dependency. However it seems odd that the same file contains other test dependencies such as
<dependency>
<groupId>org.arquillian.cube</groupId>
<artifactId>arquillian-cube-docker</artifactId>
<version>${arquillian-cube.version}</version>
<exclusions>
<exclusion>
<groupId>com.github.docker-java</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-standalone</artifactId>
<version>${arquillian-junit.version}</version>
<exclusions>
<exclusion>
<groupId>com.github.docker-java</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
Is this intentional?
| <dependency> | ||
| <groupId>org.arquillian.cube</groupId> | ||
| <artifactId>arquillian-cube-docker</artifactId> | ||
| <version>${arquillian-cube.version}</version> |
There was a problem hiding this comment.
should have <scope>test</scope> ?
| <dependency> | ||
| <groupId>org.jboss.arquillian.junit</groupId> | ||
| <artifactId>arquillian-junit-standalone</artifactId> | ||
| <version>${arquillian-junit.version}</version> |
There was a problem hiding this comment.
should have <scope>test</scope> ?
Descriptions of the changes in this PR:
upgraded GRPC
Will need to upgrade GRPC in pulsar as well
Upgrading:
Motivation
TableService stopped working under load.
jstack points to a problem with GRPC that is fixed in later versions
Changes
upgraded GRPC
Master Issue: #2581