### Environment

* Dubbo version: 3.2
* Operating System version: mac 10.15
* Java version: JDK8  or JDK 15  or JDK 17

### Steps to reproduce this issue

1. mvn clean install
2. show build error
dubbo-cluster build fail

### Expected Behavior

<!-- What do you expect from the above steps？-->

### Actual Behavior

<!-- What actually happens? -->

If there is an exception, please attach the exception trace:
error log 
```
Please refer to /Users/lucas/github/dubbo/dubbo-cluster/target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.�
```
�

}
            if (e.isBiz()) {
                targetKey = MetricsKey.METRIC_REQUEST_BUSINESS_FAILED_AGG;
            }
            if (e.isSerialization()) {
                targetKey = MetricsKey.METRIC_REQUESTS_CODEC_FAILED_AGG;
            }
            if (e.isNetwork()) {
                targetKey = MetricsKey.METRIC_REQUESTS_NETWORK_FAILED_AGG;
            }
        } else {
            targetKey = MetricsKey.METRIC_REQUEST_BUSINESS_FAILED_AGG;
        }
        return targetKey;
    }
    public static String getSide(Invocation invocation) {
        Optional<? extends Invoker<?>> invoker = Optional.ofNullable(invocation.getInvoker());
        return invoker.isPresent() ? invoker.get().getUrl().getSide() : PROVIDER_SIDE;
    }
    public static String getInterfaceName(Invocation invocation) {
        if (invocation.getServiceModel() != null && invocation.getServiceModel().getServiceMetadata() != null) {
            return invocation.getServiceModel().getServiceMetadata().getServiceInterfaceName();
        } else {
            String serviceUniqueName = invocation.getTargetServiceUniqueName();
            String interfaceAndVersion;
            String[] arr = serviceUniqueName.split(PATH_SEPARATOR);
            if (arr.length == 2) {
                interfaceAndVersion = arr[1];
            } else {
                interfaceAndVersion = arr[0];