[ 
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)

Reply via email to