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

Add cluster-etcd-plugin #2725

Merged
merged 49 commits into from
Jun 17, 2019
Merged

Add cluster-etcd-plugin #2725

merged 49 commits into from
Jun 17, 2019

Conversation

wayilau
Copy link
Member

@wayilau wayilau commented May 21, 2019

Please answer these questions before submitting pull request

  • Why submit this pull request?
  • Bug fix
  • New feature provided
  • Improve performance

Add cluster etcd plugin.

Copy link
Member

@wu-sheng wu-sheng left a comment

Choose a reason for hiding this comment

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

Please ref #2640. We need you to provide the full list of dependency libs.

@wu-sheng wu-sheng added feature New feature backend OAP backend related. plugin Plugin for agent or collector. Be used to extend the capabilities of default implementor. labels May 21, 2019
@wayilau
Copy link
Member Author

wayilau commented May 21, 2019

Please ref #2640. We need you to provide the full list of dependency libs.

image

Group ID: org.mousio
Artifact ID: etcd4j
Version: 2.17.0
Apache License 2.0.

Group ID: com.github.wnameless
Artifact ID: json-flattener
Version: 0.6.0
Apache License 2.0.

Group ID: org.mousio
Artifact ID: etcd4j
Version: 2.17.0
Apache License 2.0.

Group ID: org.fasterxml.jackson.core
Artifact ID: jackson-core
Version: 2.9.5
Apache License 2.0.

Group ID: org.fasterxml.jackson.core
Artifact ID: jackson-databind
Version: 2.9.5
Apache License 2.0.

Group ID: org.fasterxml.jackson.core
Artifact ID: jackson-annotations
Version: 2.9.5
Apache License 2.0.

Group ID: org.fasterxml.jackson.module
Artifact ID: jackson-module-afterburner
Version: 2.8.11
Apache License 2.0.

Group ID: io.netty
Artifact ID: netty-codec-dns:4.1.32.Final
Version: 4.1.27.Final
Apache License 2.0.

Group ID: io.netty
Artifact ID: netty-codec-http:4.1.32.Final
Version: 4.1.27.Final
Apache License 2.0.

Group ID: io.netty
Artifact ID: netty-handler:4.1.32.Final
Version: 4.1.27.Final
Apache License 2.0.

Group ID: io.netty
Artifact ID: netty-resolver-dns:4.1.32.Final
Version: 4.1.27.Final
Apache License 2.0.

all netty jars uses from dist tar, version: 4.0.27.Final

@wayilau
Copy link
Member Author

wayilau commented May 21, 2019

@wu-sheng is this check netty's license failed ?

@wu-sheng
Copy link
Member

I have a little concern about the 2.x netty version. Right now, if you check our dist tar, there are 4.1.27 netty jar(s) there.

@wayilau
Copy link
Member Author

wayilau commented May 21, 2019

I have a little concern about the 2.x netty version. Right now, if you check our dist tar, there are 4.1.27 netty jar(s) there.

there's not enough jars from the oap-libs of dist tar. we need provide version of 4.1.32.Final ? or i have a try to change the version of etcd4j

@wu-sheng
Copy link
Member

We provide because grpc needs that. And our tar is not small, over 100m. Cluster management usually includes a lot of dependency libs. So, I want to make sure don't add many news.

@wayilau
Copy link
Member Author

wayilau commented May 22, 2019

Local compile passed. Is there some differences between local and the travis-ci ? @wu-sheng jar's versionis: 4.1.27.Final which i was using.

@wu-sheng
Copy link
Member

From the CI log, it means, you have files without ASF header. https://travis-ci.org/apache/skywalking/jobs/535203203

@wu-sheng
Copy link
Member

And I am still waiting for a committer to review and test this feature.

@wayilau
Copy link
Member Author

wayilau commented May 22, 2019

From the CI log, it means, you have files without ASF header. https://travis-ci.org/apache/skywalking/jobs/535203203

ok, i check the license again.

@wayilau
Copy link
Member Author

wayilau commented May 22, 2019

From the CI log, it means, you have files without ASF header. https://travis-ci.org/apache/skywalking/jobs/535203203

ok, i check the license again.

this tell me my own files may have not ASF header?

@wayilau
Copy link
Member Author

wayilau commented May 22, 2019

From the CI log, it means, you have files without ASF header. https://travis-ci.org/apache/skywalking/jobs/535203203

ok, i check the license again.

this tell me my own files may have not ASF header?

I am sorry for my pom.xml that is not added ASF header. I've added.

@wu-sheng
Copy link
Member

this tell me my own files may have not ASF header?

You could run mvn package locally, it should check the license header by using rat.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.1%) to 16.933% when pulling c2b8aecaf46d2c24f27fd854c0b689e7a96362c8 on wayilau:etcd_cluster into 48bca24 on apache:master.

@coveralls
Copy link

coveralls commented May 22, 2019

Coverage Status

Coverage increased (+0.1%) to 17.373% when pulling dfd5724 on wayilau:etcd_cluster into dbb8bd8 on apache:master.

@wayilau
Copy link
Member Author

wayilau commented May 22, 2019

this tell me my own files may have not ASF header?

You could run mvn package locally, it should check the license header by using rat.

resolved.

@wu-sheng
Copy link
Member

You are still including UI changes in this pull request.

@wayilau
Copy link
Member Author

wayilau commented May 23, 2019

You are still including UI changes in this pull request.

I will check this.

@wayilau
Copy link
Member Author

wayilau commented May 23, 2019

You are still including UI changes in this pull request.

I will check this.

I need not merge the master into this branch, as it is not conflict with master. is that so ?

@wu-sheng wu-sheng requested a review from JaredTan95 May 24, 2019 13:58
@JaredTan95 JaredTan95 self-requested a review June 13, 2019 14:58
JaredTan95
JaredTan95 previously approved these changes Jun 13, 2019
Copy link
Member

@JaredTan95 JaredTan95 left a comment

Choose a reason for hiding this comment

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

LGTM, etcd cluster plugin works. @wayilau Thanks for your contribution.

@wayilau
Copy link
Member Author

wayilau commented Jun 14, 2019

@wu-sheng @JaredTan95 I have fix the ci. And I will open a new PR to achieve the configuration-etcd module. this pr only for server-cluster-etcd. And the etcd testcases also under "CI-with-IT".

@wu-sheng
Copy link
Member

@JaredTan95 Please review. We don't have a good e2e test today, so even have IT test, I think you have to do local test again.

@JaredTan95 JaredTan95 self-requested a review June 17, 2019 01:51
JaredTan95
JaredTan95 previously approved these changes Jun 17, 2019
Copy link
Member

@JaredTan95 JaredTan95 left a comment

Choose a reason for hiding this comment

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

Tested again, and going to merge this.
CC @wu-sheng

Copy link
Member

@wu-sheng wu-sheng left a comment

Choose a reason for hiding this comment

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

Where is the etcd4j in LICENSE?


List<URI> uris = EtcdUtils.parse(config);

//TODO check isSSL
Copy link
Member

Choose a reason for hiding this comment

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

SSL is going to be supported or not?

Copy link
Member Author

Choose a reason for hiding this comment

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

Where is the etcd4j in LICENSE?

Sorry for missing the etcd4j's license.

Copy link
Member Author

Choose a reason for hiding this comment

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

I think SSL should be added in a new pr.

public void before() throws Exception {
etcdConfig = new ClusterModuleEtcdConfig();
etcdConfig.setServiceName(SERVICE_NAME);
client = new EtcdClient(URI.create("http://127.0.0.1:2379"));
Copy link
Member

Choose a reason for hiding this comment

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

I think this could cause CI failure randomly because of port conflict. Please take a good example from here, @kezhenxu94 's PR of IT test. cc @JaredTan95

Copy link
Member Author

@wayilau wayilau Jun 17, 2019

Choose a reason for hiding this comment

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

You mean that i should change the port to a parameter which given from the start running to avoid port conflict?

Copy link
Member Author

Choose a reason for hiding this comment

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

Apollo test failed.

Copy link
Member

Choose a reason for hiding this comment

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

Apollo test failure partly because there is no official image, and not because of this. Port need to be assigned randomly. Because in ASF Jenkins, we are sharing OS with other tasks of other ASF projects.

Copy link
Member

Choose a reason for hiding this comment

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

For Apollo, I have been working with @kezhenxu94 to check and fix it. But that is another thread somehow.

Copy link
Member Author

Choose a reason for hiding this comment

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

ok

Copy link
Member Author

Choose a reason for hiding this comment

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

@wu-sheng I have make the host & port randomly as what you suggest. Also all test cases passed.

@wu-sheng wu-sheng removed the TBD To be decided later, need more discussion or input. label Jun 17, 2019
@wu-sheng wu-sheng added this to the 6.2.0 milestone Jun 17, 2019
Copy link
Member

@wu-sheng wu-sheng left a comment

Choose a reason for hiding this comment

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

LGTM

@wu-sheng wu-sheng merged commit a70a2b2 into apache:master Jun 17, 2019
@wayilau wayilau deleted the etcd_cluster branch June 17, 2019 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend OAP backend related. feature New feature plugin Plugin for agent or collector. Be used to extend the capabilities of default implementor.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants