[
https://issues.apache.org/jira/browse/ZOOKEEPER-3829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17108338#comment-17108338
]
benwang li edited comment on ZOOKEEPER-3829 at 5/15/20, 2:30 PM:
-----------------------------------------------------------------
[~symat]
Hi, I reproduced it with your docker-compose scripts.
my zoo.cfg as ClickHouse documents
[tips|[https://clickhouse.tech/docs/en/operations/tips/]]
{code:java}
libenwang@ck015:~/git/zookeeper-docker-test$ cat conf/zoo.cfg
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=30000
syncLimit=10
maxClientCnxns=2000
maxSessionTimeout=60000000
autopurge.snapRetainCount=10
autopurge.purgeInterval=1
preAllocSize=131072
snapCount=3000000
leaderServes=yes
standaloneEnabled=false
clientPort=2181
admin.serverPort=8084
{code}
Scripts
{code:java}
export ZOOKEEPER_GIT_REPO=~/git/zookeeper
export ZOOKEEPER_DOCKER_TEST_GIT_REPO=~/git/zookeeper-docker-test
# you always need to do a maven install to have the assembly tar.gz file
updated!
cd $ZOOKEEPER_GIT_REPO
mvn clean install -DskipTests
cd $ZOOKEEPER_DOCKER_TEST_GIT_REPO
sudo rm -rf data
docker-compose --project-name zookeeper --file
3_nodes_zk_mounted_data_folder.yml up -d
docker exec -it zookeeper_zoo1_1 /bin/bash /zookeeper/bin/zkCli.sh create
/clickhouse aaa
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo4
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo4
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml stop zoo1
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo1
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo1
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml stop zoo2
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo2
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo2
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml stop zoo3
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo3
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo3
# This hangs
docker exec -it zookeeper_zoo4_1 /bin/bash /zookeeper/bin/zkCli.sh ls /
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml down
{code}
was (Author: sundyli):
[~symat]
Hi, I reproduced it with your docker-compose scripts.
my zoo.cfg
{code:java}
libenwang@ck015:~/git/zookeeper-docker-test$ cat conf/zoo.cfg
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=30000
syncLimit=10
maxClientCnxns=2000
maxSessionTimeout=60000000
autopurge.snapRetainCount=10
autopurge.purgeInterval=1
preAllocSize=131072
snapCount=3000000
leaderServes=yes
standaloneEnabled=false
clientPort=2181
admin.serverPort=8084
{code}
Scripts
{code:java}
export ZOOKEEPER_GIT_REPO=~/git/zookeeper
export ZOOKEEPER_DOCKER_TEST_GIT_REPO=~/git/zookeeper-docker-test
# you always need to do a maven install to have the assembly tar.gz file
updated!
cd $ZOOKEEPER_GIT_REPO
mvn clean install -DskipTests
cd $ZOOKEEPER_DOCKER_TEST_GIT_REPO
sudo rm -rf data
docker-compose --project-name zookeeper --file
3_nodes_zk_mounted_data_folder.yml up -d
docker exec -it zookeeper_zoo1_1 /bin/bash /zookeeper/bin/zkCli.sh create
/clickhouse aaa
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo4
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo4
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml stop zoo1
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo1
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo1
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml stop zoo2
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo2
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo2
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml stop zoo3
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml create zoo3
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml start zoo3
# This hangs
docker exec -it zookeeper_zoo4_1 /bin/bash /zookeeper/bin/zkCli.sh ls /
docker-compose --project-name zookeeper --file
4_nodes_zk_mounted_data_folder.yml down
{code}
> Zookeeper refuses request after node expansion
> ----------------------------------------------
>
> Key: ZOOKEEPER-3829
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3829
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.5.6
> Reporter: benwang li
> Priority: Major
> Attachments: d.log, screenshot-1.png
>
>
> It's easy to reproduce this bug.
> {code:java}
> //代码占位符
>
> Step 1. Deploy 3 nodes A,B,C with configuration A,B,C .
> Step 2. Deploy node ` D` with configuration `A,B,C,D` , cluster state is ok
> now.
> Step 3. Restart nodes A,B,C with configuration A,B,C,D, then the leader will
> be D, cluster hangs, but it can accept `mntr` command, other command like `ls
> /` will be blocked.
> Step 4. Restart nodes D, cluster state is back to normal now.
>
> {code}
>
> We have looked into the code of 3.5.6 version, and we found it may be the
> issue of `workerPool` .
> The `CommitProcessor` shutdown and make `workerPool` shutdown, but
> `workerPool` still exists. It will never work anymore, yet the cluster still
> thinks it's ok.
>
> I think the bug may still exist in master branch.
> We have tested it in our machines by reset the `workerPool` to null. If it's
> ok, please assign this issue to me, and then I'll create a PR.
>
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)