Closed YoungHu closed 3 years ago
I am a bit confused here. Most of the time status -l
should be used to monitor the status of the Dubbo provider threadpool. What's the meaning of showing the pool of the Consumer consuming MonitorService?
yes, status -l
is use to monitor the status of the dubbo provider thread pool. but dubbo monitor haven't mark it self as consumer, so it override the provider thread pool data. finally, we got the wrong data.
Environment
Steps to reproduce this issue
set dubbo thread pool to be 100
<dubbo:protocol port="-1" dispatcher="all" threadpool="fixed" threads="100"/>
and enable dubbo monitor<dubbo:monitor protocol="registry" interval="10000"/>
start dubbo provider application
run
telnet localhost 20880
when show dubbo flag then runstatus -l
will get pool size is 100start a dubbo consumer applicaiton
do step 3 again, pool size change to 0
Pls. provide [GitHub address] to reproduce this issue.
Expected Result
step 5 should show pool size is 100
Actual Result
step 5 show pool size is 0
Troubleshooting
Then the executor changed to MonitorService executor with no pool.
solution
best:
temporary fix: