<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.

### windows

* Dubbo version: 3.0.5
* Operating System version: windows 10
* Java version: 11

### Steps to reproduce this issue

1. callback-consumer.xml/callback-provider.xml add group 

**callback-consumer.xml**
```
<dubbo:reference id="callbackService" interface="org.apache.dubbo.samples.callback.api.CallbackService" />
to
<dubbo:reference id="callbackService" interface="org.apache.dubbo.samples.callback.api.CallbackService" group="test"/>
```
**callback-provider.xml**
```
    <dubbo:service interface="org.apache.dubbo.samples.callback.api.CallbackService" ref="callbackService"
                   connections="1" callbacks="1000" >
        <dubbo:method name="addListener">
            <dubbo:argument index="1" callback="true"/>
        </dubbo:method>
    </dubbo:service>
to

    <dubbo:service interface="org.apache.dubbo.samples.callback.api.CallbackService" ref="callbackService"
                   connections="1" callbacks="1000" group="test">
        <dubbo:method name="addListener">
            <dubbo:argument index="1" callback="true"/>
        </dubbo:method>
    </dubbo:service>
```

 **Other files and configurations have not been modified**

Pls. provide [GitHub address] to reproduce this issue.

### Expected Behavior

After adding a group, can call back successfully

### Actual Behavior

**Successful callback in version 3.0.2.1，However, in version 3.0.5, the callback failed。**


If there is an exception, please attach the exception trace:

**Provider**
```

[27/01/22 10:00:28:028 CST] DubboServerHandler-10.*.*.171:20880-thread-6  INFO dubbo.CallbackServiceCodec:  [DUBBO] method addListener include a callback service :callback://10.*.*.171:20880/org.apache.dubbo.samples.callback.api.CallbackListener?addListener.1.callback=true&addListener.return=true&addListener.sent=true&anyhost=true&application=callback-provider&background=false&bind.ip=10.*.*.171&bind.port=20880&callbacks=1000&connections=1&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=test&interface=org.apache.dubbo.samples.callback.api.CallbackListener&metadata-type=remote&pid=26308&release=3.0.5&service-name-mapping=true&side=provider&timestamp=1643292017962&token=ac75435a-4161-4643-b5b2-0b4c6c787038, a proxy :interface org.apache.dubbo.samples.callback.api.CallbackListener -> 10.*.*.171:20880 has been created., dubbo version: 3.0.5, current host: 10.*.*.171
[27/01/22 10:00:28:028 CST] DubboServerHandler-10.*.*.171:20880-thread-6 ERROR filter.ExceptionFilter:  [DUBBO] Got unchecked and undeclared exception which called by 10.*.*.171. service: org.apache.dubbo.samples.callback.api.CallbackService, method: addListener, exception: org.apache.dubbo.rpc.RpcException: Failed to invoke remote method: changed, provider: callback://10.*.*.171:20880/org.apache.dubbo.samples.callback.api.CallbackListener?addListener.1.callback=true&addListener.return=true&addListener.sent=true&anyhost=true&application=callback-provider&background=false&bind.ip=10.*.*.171&bind.port=20880&callbacks=1000&connections=1&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=test&interface=org.apache.dubbo.samples.callback.api.CallbackListener&metadata-type=remote&pid=26308&release=3.0.5&service-name-mapping=true&side=provider&timestamp=1643292017962&token=ac75435a-4161-4643-b5b2-0b4c6c787038, cause: org.apache.dubbo.remoting.RemotingException: org.apache.dubbo.remoting.RemotingException: Not found exported service: test/org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918 in [callback-consumer/org.apache.dubbo.metadata.MetadataService:1.0.0:20881, org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918], may be version or group mismatch , channel: consumer: /10.*.*.171:20880 --> provider: /10.*.*.171:53918, message:RpcInvocation [methodName=changed, parameterTypes=[class java.lang.String], arguments=[], attachments={callback.service.instid=901857770, input=287, path=org.apache.dubbo.samples.callback.api.CallbackListener, _isCallBackServiceInvoke=true, dubbo=2.0.2, version=null, group=test, token=ac75435a-4161-4643-b5b2-0b4c6c787038}]
org.apache.dubbo.remoting.RemotingException: Not found exported service: test/org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918 in [callback-consumer/org.apache.dubbo.metadata.MetadataService:1.0.0:20881, org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918], may be version or group mismatch , channel: consumer: /10.*.*.171:20880 --> provider: /10.*.*.171:53918, message:RpcInvocation [methodName=changed, parameterTypes=[class java.lang.String], arguments=[], attachments={callback.service.instid=901857770, input=287, path=org.apache.dubbo.samples.callback.api.CallbackListener, _isCallBackServiceInvoke=true, dubbo=2.0.2, version=null, group=test, token=ac75435a-4161-4643-b5b2-0b4c6c787038}]
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getInvoker(DubboProtocol.java:275)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:122)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:100)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:175)
	at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
	at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:57)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41)
	at java.lang.Thread.run(Thread.java:748)
, dubbo version: 3.0.5, current host: 10.*.*.171

```

**Consumer**
```
[27/01/22 10:00:28:028 CST] NettyClientWorker-6-3  INFO dubbo.CallbackServiceCodec:  [DUBBO] Export a callback service :dubbo://10.*.*.171:53918/org.apache.dubbo.samples.callback.api.CallbackListener.901857770?codec=dubbo&dubbo.endpoints=[{"port":20880,"protocol":"dubbo"}]&dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.0.5","port":"20880","protocol":"dubbo"}&dubbo.metadata.revision=7a7dba86cebc10d4f2309d385803a8d3&dubbo.metadata.storage-type=local&heartbeat=60000&interface=org.apache.dubbo.samples.callback.api.CallbackListener&is_callback_service=true&isserver=false&methods=changed&threadname=DubboClientHandler&threadpool=cached, on NettyChannel [channel=[id: 0x61173633, L:/10.*.*.171:53918 - R:/10.*.*.171:20880]], url is: DefaultServiceInstance{, serviceName='callback-provider', host='10.*.*.171', port=20880, enabled=true, healthy=true, metadata={dubbo.endpoints=[{"port":20880,"protocol":"dubbo"}], dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.0.5","port":"20880","protocol":"dubbo"}, dubbo.metadata.revision=7a7dba86cebc10d4f2309d385803a8d3, dubbo.metadata.storage-type=local}}, dubbo version: 3.0.5, current host: 10.*.*.171
[27/01/22 10:00:28:028 CST] DubboClientHandler-thread-1  INFO dubbo.CallbackServiceCodec:  [DUBBO] Not found exported service: test/org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918 in [callback-consumer/org.apache.dubbo.metadata.MetadataService:1.0.0:20881, org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918], may be version or group mismatch , channel: consumer: /10.*.*.171:20880 --> provider: /10.*.*.171:53918, message:RpcInvocation [methodName=changed, parameterTypes=[class java.lang.String], arguments=[], attachments={callback.service.instid=901857770, input=287, path=org.apache.dubbo.samples.callback.api.CallbackListener, _isCallBackServiceInvoke=true, dubbo=2.0.2, version=null, group=test, token=ac75435a-4161-4643-b5b2-0b4c6c787038}], dubbo version: 3.0.5, current host: 10.*.*.171
org.apache.dubbo.remoting.RemotingException: Not found exported service: test/org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918 in [callback-consumer/org.apache.dubbo.metadata.MetadataService:1.0.0:20881, org.apache.dubbo.samples.callback.api.CallbackListener.901857770:53918], may be version or group mismatch , channel: consumer: /10.*.*.171:20880 --> provider: /10.*.*.171:53918, message:RpcInvocation [methodName=changed, parameterTypes=[class java.lang.String], arguments=[], attachments={callback.service.instid=901857770, input=287, path=org.apache.dubbo.samples.callback.api.CallbackListener, _isCallBackServiceInvoke=true, dubbo=2.0.2, version=null, group=test, token=ac75435a-4161-4643-b5b2-0b4c6c787038}]
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getInvoker(DubboProtocol.java:275)
	at org.apache.dubbo.rpc.protocol.dubbo.CallbackServiceCodec.decodeInvocationArgument(CallbackServiceCodec.java:327)
	at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:236)
	at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:93)
	at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:57)
	at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:44)
	at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:57)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41)
	at java.lang.Thread.run(Thread.java:748)

```

String invokerCacheKey = getServerSideCallbackInvokerCacheKey(channel, clazz.getName(), instid);
        String proxyCacheKey = getServerSideCallbackServiceCacheKey(channel, clazz.getName(), instid);
        proxy = channel.getAttribute(proxyCacheKey);
        String countkey = getServerSideCountKey(channel, clazz.getName());
        if (isRefer) {
            if (proxy == null) {
                URL referurl = URL.valueOf("callback://" + url.getAddress() + "/" + clazz.getName() + "?" + INTERFACE_KEY + "=" + clazz.getName());
                referurl = referurl.addParametersIfAbsent(url.getParameters()).removeParameter(METHODS_KEY);
                if (!isInstancesOverLimit(channel, referurl, clazz.getName(), instid, true)) {
                    url.getOrDefaultApplicationModel().getDefaultModule().getServiceRepository().registerService(clazz);
                    @SuppressWarnings("rawtypes")
                    Invoker<?> invoker = new ChannelWrappedInvoker(clazz, channel, referurl, String.valueOf(instid));
                    proxy = proxyFactory.getProxy(invoker);
                    channel.setAttribute(proxyCacheKey, proxy);
                    channel.setAttribute(invokerCacheKey, invoker);
                    increaseInstanceCount(channel, countkey);
                    
                    
                    Set<Invoker<?>> callbackInvokers = (Set<Invoker<?>>) channel.getAttribute(CHANNEL_CALLBACK_KEY);
                    if (callbackInvokers == null) {
                        callbackInvokers = new ConcurrentHashSet<>(1);
                        channel.setAttribute(CHANNEL_CALLBACK_KEY, callbackInvokers);
                    }
                    callbackInvokers.add(invoker);
                    logger.info("method " + inv.getMethodName() + " include a callback service :" + invoker.getUrl() + ", a proxy :" + invoker + " has been created.");
                }
            }
        } else {
            if (proxy != null) {
                Invoker<?> invoker = (Invoker<?>) channel.getAttribute(invokerCacheKey);