question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Task] Consolidate etcd dependencies into one

See original GitHub issue

Description

Currently, there’re 2 different etcd dependencies in Shenyu. And Can not even start admin by etcd registration.

In admin, it now uses

        <dependency>
            <groupId>io.etcd</groupId>
            <artifactId>jetcd-core</artifactId>
            <version>${jetcd-core.version}</version>
        </dependency>

In shenyu-register-client-server-etcd, it now uses

 <dependency>
            <groupId>com.coreos</groupId>
            <artifactId>jetcd-core</artifactId>
            <version>${jetcd.version}</version>
        </dependency>

When start admin, it will occur below errors because of this issue.

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    com.coreos.jetcd.internal.impl.ClientConnectionManager.defaultChannelBuilder(ClientConnectionManager.java:187)

The following method did not exist:

    'io.grpc.netty.NettyChannelBuilder io.grpc.netty.NettyChannelBuilder.usePlaintext(boolean)'

The calling method's class, com.coreos.jetcd.internal.impl.ClientConnectionManager, was loaded from the following location:

    jar:file:/Users/hgao/.m2/repository/com/coreos/jetcd-core/0.0.2/jetcd-core-0.0.2.jar!/com/coreos/jetcd/internal/impl/ClientConnectionManager.class

The called method's class, io.grpc.netty.NettyChannelBuilder, is available from the following locations:

    jar:file:/Users/hgao/.m2/repository/io/grpc/grpc-netty/1.27.1/grpc-netty-1.27.1.jar!/io/grpc/netty/NettyChannelBuilder.class

The called method's class hierarchy was loaded from the following locations:

    io.grpc.netty.NettyChannelBuilder: file:/Users/hgao/.m2/repository/io/grpc/grpc-netty/1.27.1/grpc-netty-1.27.1.jar
    io.grpc.internal.AbstractManagedChannelImplBuilder: file:/Users/hgao/.m2/repository/io/grpc/grpc-core/1.27.1/grpc-core-1.27.1.jar
    io.grpc.ManagedChannelBuilder: file:/Users/hgao/.m2/repository/io/grpc/grpc-api/1.27.1/grpc-api-1.27.1.jar

It’s better to consolidate to only one dependency for etcd, and the preference is https://mvnrepository.com/artifact/io.etcd/jetcd-core/0.7.3.

Task List

  1. add io.etcd.jetcd into dependency management part in root pom file.
  2. remove the other etcd dependency in whole project and replace by above one.
  3. refine the code if any error.
  4. test the whole process to make sure it works well. The whole process includes starting admin, bootstrap and an example like http example application using etcd as registration configuration.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:10 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
mahaitao617commented, Aug 5, 2022

please assign these four tasks to me

0reactions
huanccwangcommented, Aug 16, 2022

Hi @wanghuan0606 , can you run http-example successfully? I can’t run it without changing the grpc version to a higher version. Can you try it? Thanks!

Hello, I can run http-example successfully without any other operate.

Read more comments on GitHub >

github_iconTop Results From Across the Web

[GitHub] [shenyu] hgaol opened a new issue, #3807: [Task ...
... opened a new issue, #3807: [Task] Consolidate etcd dependencies into one ... Description Currently, there're 2 different etcd dependencies in Shenyu.
Read more >
etcd/CHANGELOG-3.4.md at main - GitHub
Fix etcdctl check datascale command to work with https endpoints. gRPC gateway. Add MaxCallRecvMsgSize support for http client. Dependency.
Read more >
Post-installation cluster tasks - OpenShift Documentation
If you have an infra node that has the infra and worker roles assigned, you must configure the node so that user workloads...
Read more >
Clustering Guide | etcd
Once an etcd cluster is up and running, adding or removing members is done via runtime reconfiguration. To better understand the design behind ......
Read more >
Zombie Dependencies - Dan Lorenc - Medium
Zombie dependencies are hard to spot, sometimes even indistinguishable from ... Updating etcd in k8s did not strike me as an easy task....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found