Issue 1:
I have searched the issues of this repository and believe that this is not a duplicate.

I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 2.7.5

Operating System version: Mac OS

Java version: 1.8

Steps to reproduce this issue

部署一个机遇tomcat容器的rest的provider，同时开启monitor

使用客服端访问若干次

发现服务端统计的次数要少一次

Expected Result

What do you expected from the above steps？

客服端和服务端的调用次数相同

Actual Result

What actually happens?

服务端少一次

我debug发现在服务端第一次接受请求的时候才初始化monitorFilter，然后通过org.apache.dubbo.monitor.support.AbstractMonitorFactory来创建monitor，然后走了异步的future，导致第一次的monitor为空，就没有进行统计。

Issue 2:
I have searched the issues of this repository and believe that this is not a duplicate.

I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 2.7.1-SNAPSHOT

Operating System version: Mac OS 10.14.3

Java version: Java 11

Steps to reproduce this issue

use etcd as config center, or choose other config center implementation

Add a new configurator config to etcd

./etcdctl put /dubbo/config/org.apache.dubbo.demo.DemoService/configurators "
---
configVersion: v2.7
scope: service
key: org.apache.dubbo.demo.DemoService
enabled: true
configs:
- addresses: [\"0.0.0.0:20890\"]
side: provider
parameters:
timeout: 10000
..."

start org.apache.dubbo.demo.provider.Application

Expected Result

No exception is thrown.

Actual Result

What actually happens?

Exception is thrown during startup:

java.lang.IllegalStateException: error state, exporter should not be null
at org.apache.dubbo.registry.integration.RegistryProtocol$OverrideListener.doOverrideIfNecessary(RegistryProtocol.java:518)
at org.apache.dubbo.registry.integration.RegistryProtocol$ServiceConfigurationListener.notifyOverrides(RegistryProtocol.java:569)
at org.apache.dubbo.registry.integration.AbstractConfiguratorListener.process(AbstractConfiguratorListener.java:71)
at org.apache.dubbo.registry.integration.AbstractConfiguratorListener.initWith(AbstractConfiguratorListener.java:46)
at org.apache.dubbo.registry.integration.RegistryProtocol$ServiceConfigurationListener.<init>(RegistryProtocol.java:560)
at org.apache.dubbo.registry.integration.RegistryProtocol.overrideUrlWithConfig(RegistryProtocol.java:209)
at org.apache.dubbo.registry.integration.RegistryProtocol.export(RegistryProtocol.java:182)
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.export(QosProtocolWrapper.java:61)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:106)
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:55)
at org.apache.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java)
at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:562)
at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:415)
at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:376)
at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:335)
at org.apache.dubbo.config.spring.ServiceBean.export(ServiceBean.java:319)
at org.apache.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:113)
at org.apache.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:59)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:883)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at org.apache.dubbo.demo.provider.Application.main(Application.java:27)