-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[integration] Add messaging etcd integration tests #15010
Conversation
There is a remaining problem, the bug of bookkeeper 4.14.4 will cause the ci to fail, and it needs to be solved issue: apache/bookkeeper#3011 |
managed-ledger/pom.xml
Outdated
@@ -99,14 +99,14 @@ | |||
</exclusions> | |||
</dependency> | |||
<dependency> | |||
<groupId>io.dropwizard.metrics</groupId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better to keep it as it is because it has nothing to do with this issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
@@ -143,11 +143,7 @@ public ProxyServiceStarter(String[] args) throws Exception { | |||
// load config file | |||
config = PulsarConfigurationLoader.create(configFile, ProxyConfiguration.class); | |||
|
|||
if (isBlank(metadataStoreUrl)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use zookeeperServers from command line if metadataStoreUrl is empty. How to handle if the metadataStoreUrl is empty ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a remaining problem, the bug of bookkeeper 4.14.4 will cause the ci to fail, and it needs to be solved
Does the problem here refer to the problem that caused the current CI failed?
org.apache.pulsar.client.api.PulsarClientException$BrokerPersistenceException: {"errorMsg":"org.apache.bookkeeper.mledger.ManagedLedgerException: Not enough non-faulty bookies available","reqId":2486145185344564130, "remote":"localhost/127.0.0.1:49173", "local":"/127.0.0.1:43276"}
I saw that there are several zk integration tests that also failed. It looks like apache/bookkeeper#3011 should only affect cases that don't use zk as the metadata store. Seems there is something wrong with this PR. We should at least not let original tests fail.
} else { | ||
// Use metadataStoreUrl from command line | ||
if (!isBlank(zookeeperServers)) { | ||
config.setZookeeperServers(zookeeperServers); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have deprecated the zookeeperServers
in the proxy configuration in #13777. We would better not set it here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previously AbstractZkLedgerManager was used to create LedgerManagerFactory. In this issue, MetadataDriver was used to create LedgerManagerFactory, but their uri were different, so the zk test case would fail.
this.zkContainer = new ZKContainer(clusterName); | ||
this.metadataStoreContainer = createMetadataStoreContainer(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that we still need to maintain the ZK container even though we use the etcd container?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some test cases will use zk, such as TestBaseOffload.
this.zkContainer | ||
.withNetwork(network) | ||
.withNetworkAliases(appendClusterName(ZKContainer.NAME)) | ||
.withEnv("clusterName", clusterName) | ||
.withEnv("zkServers", appendClusterName(ZKContainer.NAME)) | ||
.withEnv("configurationStore", CSContainer.NAME + ":" + CS_PORT) | ||
.withEnv("forceSync", "no") | ||
.withEnv("pulsarNode", appendClusterName("pulsar-broker-0")); | ||
.withEnv("pulsarNode", appendClusterName("pulsar-broker-0")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we wrap the zkConainer here as a metadataStoreContainer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some test cases will use zk, such as TestBaseOffload.
.../integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarCluster.java
Outdated
Show resolved
Hide resolved
@@ -133,10 +139,11 @@ private PulsarCluster(PulsarClusterSpec spec, CSContainer csContainer, boolean s | |||
this.proxyContainer = new ProxyContainer(appendClusterName("pulsar-proxy"), ProxyContainer.NAME) | |||
.withNetwork(network) | |||
.withNetworkAliases(appendClusterName("pulsar-proxy")) | |||
.withEnv("configurationStoreServers", CSContainer.NAME + ":" + CS_PORT) | |||
.withEnv("clusterName", clusterName) | |||
.withEnv("zkServers", appendClusterName(ZKContainer.NAME)) | |||
.withEnv("zookeeperServers", appendClusterName(ZKContainer.NAME)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we deprecated the zookeeperServers
, I think we can remove it here. The same is true for the broker.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason for not removing it is that watch-znode.py will check the zk status and can remove it if it has no other effect.
Fixes #14295
Motivation
Adding Ectd integration tests #14295
Modifications
Adding Ectd integration tests
Verifying this change
This change added tests and can be verified as follows:
Does this pull request potentially affect one of the following parts:
Documentation
Check the box below or label this PR directly (if you have committer privilege).
Need to update docs?
doc-required
no-need-doc
doc