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.7

Operating System version: centos6.9

Java version: jdk1.8

Steps to reproduce this issue

生产者maven依赖

<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>4.2.0</version>
</dependency>

消费者maven依赖

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
</dependency>

提供多版本服务

<dubbo:service interface="com.aaa.bbb.ccc" ref="xxx1" version="1.0.0" />
<dubbo:service interface="com.aaa.bbb.ccc" ref="xxx2" version="2.0.0" />

消费者调用3.0.0

<dubbo:reference id="idxxx" interface="com.aaa.bbb.ccc" version="2.0.0"/>

低版本2.5.3调用高本版2.7.7报错信息：

Service not found: com.aaa.bbb.ccc2,test.

断点观察：

这个方法的传入path 是com.aaa.bbb.ccc2

而serviceDescriptor中this.services的服务中的key只有两种：

com.aaa.bbb.ccc

com.aaa.bbb.ccc2:2.0.0

初步判断是duboo版本不兼容 消费者也升级为2.7.7

发现调用成功了

低版本调用高版本怎么可以兼容

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.6

Operating System version: mac os

Java version: 1.8.0_221

Steps to reproduce this issue

i want to test FileSystemServiceDiscovery, i test dubbo-demo-annotation-consumer and dubbo-demo-annotation-provider

i modify some config, like

provider : Application.java
registryConfig.setAddress("zookeeper://127.0.0.1:2181");
>>>
registryConfig.setAddress("file:///Users/frankwang/serviceDiscover?registry-type=service");

consumer: dubbo-consumer.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
>>>
dubbo.registry.address=file:///Users/frankwang/serviceDiscover?registry-type=service

provider can start ok, but the consumer cannot start and the error is

[01/05/20 17:40:16:273 CST] DubboShutdownHook INFO listener.LoggingEventListener: [DUBBO] Dubbo Service has been destroyed., dubbo version: , current host: 192.168.1.4
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoServiceComponent': Injection of @Reference dependencies is failed; nested exception is java.lang.IllegalStateException: Failed to check the status of the service org.apache.dubbo.demo.DemoService. No provider available for the service org.apache.dubbo.demo.DemoService from the url service-discovery-registry:///Users/frankwang/serviceDiscover?application=dubbo-demo-annotation-consumer&dubbo=2.0.2&init=false&interface=org.apache.dubbo.demo.DemoService&methods=sayHello,sayHelloAsync&pid=3599&register.ip=192.168.1.4&side=consumer&sticky=false&timestamp=1588326012293 to the consumer 192.168.1.4 use dubbo version
at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.postProcessPropertyValues(AbstractAnnotationBeanPostProcessor.java:146)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1268)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:84)
at org.apache.dubbo.demo.consumer.Application.main(Application.java:36)
Caused by: java.lang.IllegalStateException: Failed to check the status of the service org.apache.dubbo.demo.DemoService. No provider available for the service org.apache.dubbo.demo.DemoService from the url service-discovery-registry:///Users/frankwang/serviceDiscover?application=dubbo-demo-annotation-consumer&dubbo=2.0.2&init=false&interface=org.apache.dubbo.demo.DemoService&methods=sayHello,sayHelloAsync&pid=3599&register.ip=192.168.1.4&side=consumer&sticky=false&timestamp=1588326012293 to the consumer 192.168.1.4 use dubbo version
at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:349)
at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:258)
at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:158)
at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.getOrCreateProxy(ReferenceAnnotationBeanPostProcessor.java:274)
at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.doGetInjectedBean(ReferenceAnnotationBeanPostProcessor.java:143)
at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.getInjectedObject(AbstractAnnotationBeanPostProcessor.java:359)
at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor$AnnotatedFieldElement.inject(AbstractAnnotationBeanPostProcessor.java:539)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.postProcessPropertyValues(AbstractAnnotationBeanPostProcessor.java:142)
... 12 more

i check the code , i find some code has some problem

FileSystemServiceDiscovery.java
@Override
public List<ServiceInstance> getInstances(String serviceName) {
return dynamicConfiguration.getConfigKeys(DEFAULT_GROUP)
.stream()
.map(serviceInstanceId -> dynamicConfiguration.getConfig(serviceInstanceId, serviceName))
.map(content -> JSON.parseObject(content, DefaultServiceInstance.class))
.collect(Collectors.toList());
}

in this method , only from DEFAULT_GROUP subscribeURLs , but provider writer the service to other group, the provider use the project name as the default group, provider write the service to the default group, but when consumer start , it get the service from the DEFAULT_GROUP, not use the project name as the default group