diguage opened a new issue, #15471:
URL: https://github.com/apache/dubbo/issues/15471

   ### Pre-check
   
   - [x] I am sure that all the content I provide is in English.
   
   
   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/dubbo/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Apache Dubbo Component
   
   Java SDK (apache/dubbo)
   
   ### Dubbo Version
   
   3.3.5 and the latest code
   
   ### Steps to reproduce this issue
   
   ## Environment
   
   ```bash
   ╭─☞ /Users/diguage/.m2/repository/com/google/protobuf/protoc/3.25.5
   ╰─➜ java -version
   openjdk version "21.0.7" 2025-04-15 LTS
   OpenJDK Runtime Environment Corretto-21.0.7.6.1 (build 21.0.7+6-LTS)
   OpenJDK 64-Bit Server VM Corretto-21.0.7.6.1 (build 21.0.7+6-LTS, mixed 
mode, sharing)
   
   ╭─☞ /Users/diguage/.m2/repository/com/google/protobuf/protoc/3.25.5
   ╰─➜ ll
   total 14200
   -rw-r--r--  1 diguage  staff   205B Oct 10  2024 _remote.repositories
   -rwxr-xr-x  1 diguage  staff   6.9M Sep 19  2024 protoc-3.25.5-osx-x86_64.exe
   -rw-r--r--  1 diguage  staff    40B Oct 10  2024 
protoc-3.25.5-osx-x86_64.exe.sha1
   -rw-r--r--  1 diguage  staff   1.2K Sep 19  2024 protoc-3.25.5.pom
   -rw-r--r--  1 diguage  staff    40B Oct 10  2024 protoc-3.25.5.pom.sha1
   
   ╭─☞ /Users/diguage/.m2/repository/com/google/protobuf/protoc/3.25.5
   ╰─➜ /bin/sh -c ./protoc-3.25.5-osx-x86_64.exe --verison
   Usage: ./protoc-3.25.5-osx-x86_64.exe [OPTION] PROTO_FILES
   Parse PROTO_FILES and generate output based on the options given:
     -IPATH, --proto_path=PATH   Specify the directory in which to search for
                                 imports.  May be specified multiple times;
                                 directories will be searched in order.  If not
                                 given, the current working directory is used.
                                 If not found in any of the these directories,
                                 the --descriptor_set_in descriptors will be
                                 checked for required proto file.
     --version                   Show version info and exit.
     -h, --help                  Show this text and exit.
     --encode=MESSAGE_TYPE       Read a text-format message of the given type
                                 from standard input and write it in binary
                                 to standard output.  The message type must
                                 be defined in PROTO_FILES or their imports.
     --deterministic_output      When using --encode, ensure map fields are
                                 deterministically ordered. Note that this order
                                 is not canonical, and changes across builds or
                                 releases of protoc.
     --decode=MESSAGE_TYPE       Read a binary message of the given type from
                                 standard input and write it in text format
                                 to standard output.  The message type must
                                 be defined in PROTO_FILES or their imports.
     --decode_raw                Read an arbitrary protocol message from
                                 standard input and write the raw tag/value
                                 pairs in text format to standard output.  No
                                 PROTO_FILES should be given when using this
                                 flag.
     --descriptor_set_in=FILES   Specifies a delimited list of FILES
                                 each containing a FileDescriptorSet (a
                                 protocol buffer defined in descriptor.proto).
                                 The FileDescriptor for each of the PROTO_FILES
                                 provided will be loaded from these
                                 FileDescriptorSets. If a FileDescriptor
                                 appears multiple times, the first occurrence
                                 will be used.
     -oFILE,                     Writes a FileDescriptorSet (a protocol buffer,
       --descriptor_set_out=FILE defined in descriptor.proto) containing all of
                                 the input files to FILE.
     --include_imports           When using --descriptor_set_out, also include
                                 all dependencies of the input files in the
                                 set, so that the set is self-contained.
     --include_source_info       When using --descriptor_set_out, do not strip
                                 SourceCodeInfo from the FileDescriptorProto.
                                 This results in vastly larger descriptors that
                                 include information about the original
                                 location of each decl in the source file as
                                 well as surrounding comments.
     --retain_options            When using --descriptor_set_out, do not strip
                                 any options from the FileDescriptorProto.
                                 This results in potentially larger descriptors
                                 that include information about options that 
were
                                 only meant to be useful during compilation.
     --dependency_out=FILE       Write a dependency output file in the format
                                 expected by make. This writes the transitive
                                 set of input file paths to FILE
     --error_format=FORMAT       Set the format in which to print errors.
                                 FORMAT may be 'gcc' (the default) or 'msvs'
                                 (Microsoft Visual Studio format).
     --fatal_warnings            Make warnings be fatal (similar to -Werr in
                                 gcc). This flag will make protoc return
                                 with a non-zero exit code if any warnings
                                 are generated.
     --print_free_field_numbers  Print the free field numbers of the messages
                                 defined in the given proto files. Extension 
ranges
                                 are counted as occupied fields numbers.
     --enable_codegen_trace      Enables tracing which parts of protoc are
                                 responsible for what codegen output. Not 
supported
                                 by all backends or on all platforms.
     --plugin=EXECUTABLE         Specifies a plugin executable to use.
                                 Normally, protoc searches the PATH for
                                 plugins, but you may specify additional
                                 executables not in the path using this flag.
                                 Additionally, EXECUTABLE may be of the form
                                 NAME=PATH, in which case the given plugin name
                                 is mapped to the given executable even if
                                 the executable's own name differs.
     --cpp_out=OUT_DIR           Generate C++ header and source.
     --csharp_out=OUT_DIR        Generate C# source file.
     --java_out=OUT_DIR          Generate Java source file.
     --kotlin_out=OUT_DIR        Generate Kotlin file.
     --objc_out=OUT_DIR          Generate Objective-C header and source.
     --php_out=OUT_DIR           Generate PHP source file.
     --pyi_out=OUT_DIR           Generate python pyi stub.
     --python_out=OUT_DIR        Generate Python source file.
     --ruby_out=OUT_DIR          Generate Ruby source file.
     --rust_out=OUT_DIR          Generate Rust sources.
     @<filename>                 Read options and filenames from file. If a
                                 relative file path is specified, the file
                                 will be searched in the working directory.
                                 The --proto_path option will not affect how
                                 this argument file is searched. Content of
                                 the file will be expanded in the position of
                                 @<filename> as in the argument list. Note
                                 that shell expansion is not applied to the
                                 content of the file (i.e., you cannot use
                                 quotes, wildcards, escapes, commands, etc.).
                                 Each line corresponds to a single argument,
                                 even if it contains spaces.
   ```
   
   ## Log
   
   I want to build the latest code on Mac OS X, but it threw an error:
   
   ```
   ╭─☞ /path/to/dubbo git:(19c53bc010*)
   ╰─➜ git branch -v
   * (HEAD detached at dubbo-3.3.5) 19c53bc010 Prepare 3.3.5 release
   
   
   ╭─☞ /path/to/dubbo git:(19c53bc010*)
   ╰─➜ mvn clean package -DskipTests
   [INFO] Scanning for projects...
   [INFO] 
------------------------------------------------------------------------
   [INFO] Detecting the operating system and CPU architecture
   [INFO] 
------------------------------------------------------------------------
   [INFO] os.detected.name: osx
   [INFO] os.detected.arch: x86_64
   [INFO] os.detected.bitness: 64
   [INFO] os.detected.version: 15.5
   [INFO] os.detected.version.major: 15
   [INFO] os.detected.version.minor: 5
   [INFO] os.detected.classifier: osx-x86_64
   [INFO] 
------------------------------------------------------------------------
   
   。。。。。。
   
   
   [INFO] --- clean:3.3.2:clean (default-clean) @ dubbo-rpc-triple ---
   [INFO] Deleting /path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target
   [INFO]
   [INFO] --- flatten:1.7.0:clean (flatten.clean) @ dubbo-rpc-triple ---
   [INFO]
   [INFO] --- enforcer:3.4.1:enforce (enforce-maven-version) @ dubbo-rpc-triple 
---
   [INFO]
   [INFO] --- enforcer:3.4.1:enforce (enforce-java-version) @ dubbo-rpc-triple 
---
   [INFO]
   [INFO] --- checkstyle:3.6.0:check (checkstyle-validation) @ dubbo-rpc-triple 
---
   [INFO]
   [INFO] --- checkstyle:3.6.0:check (checkstyle-unix-validation) @ 
dubbo-rpc-triple ---
   [INFO]
   [INFO] --- os:1.7.1:detect (default) @ dubbo-rpc-triple ---
   [INFO] 
------------------------------------------------------------------------
   [INFO] Detecting the operating system and CPU architecture
   [INFO] 
------------------------------------------------------------------------
   [INFO] os.detected.name: osx
   [INFO] os.detected.arch: x86_64
   [INFO] os.detected.bitness: 64
   [INFO] os.detected.version: 15.5
   [INFO] os.detected.version.major: 15
   [INFO] os.detected.version.minor: 5
   [INFO] os.detected.classifier: osx-x86_64
   [INFO]
   [INFO] --- jacoco:0.8.13:prepare-agent (jacoco-initialize) @ 
dubbo-rpc-triple ---
   [INFO] Skipping JaCoCo execution because property jacoco.skip is set.
   [INFO]
   [INFO] --- dubbo:3.3.5:compile (generate-stubs) @ dubbo-rpc-triple ---
   
   
   
   操作系统:
   osName:Mac OS X
   detectedName:osx
   osArch:x86_64
   detectedArch:x86_64
   
   
   [INFO] parts: [com.google.protobuf, protoc, 3.25.5, exe, osx-x86_64]
   
   
   
   
sourceFile:/Users/diguage/.m2/repository/com/google/protobuf/protoc/3.25.5/protoc-3.25.5-osx-x86_64.exe
   
   
   
   
   
   Os.isFamily(Os.FAMILY_WINDOWS):false
   
   
   
   
   
   !sourceFileName.endsWith(".exe"):false
   
   
   
   
   
   targetFileName:protoc-3.25.5-osx-x86_64.exe
   sourceFileName:protoc-3.25.5-osx-x86_64.exe
   
   
   [INFO] using protocExecutable: 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-plugins/protoc-3.25.5-osx-x86_64.exe
   [INFO] build dubbo protoc plugin:DubboProtocPlugin{id='tri', 
mainClass='org.apache.dubbo.gen.tri.Dubbo3TripleGenerator', 
dubboVersion='3.3.5', 
javaHome='/Users/diguage/.sdkman/candidates/java/21.0.7-amzn', 
pluginDirectory=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-plugins,
 
resolvedJars=[/path/to/dubbo/dubbo-plugin/dubbo-compiler/target/dubbo-compiler-3.3.5.jar,
 
/Users/diguage/.m2/repository/com/github/spullara/mustache/java/compiler/0.9.14/compiler-0.9.14.jar,
 /Users/diguage/.m2/repository/io/grpc/grpc-core/1.72.0/grpc-core-1.72.0.jar, 
/Users/diguage/.m2/repository/io/grpc/grpc-api/1.72.0/grpc-api-1.72.0.jar, 
/Users/diguage/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar,
 
/Users/diguage/.m2/repository/com/google/errorprone/error_prone_annotations/2.30.0/error_prone_annotations-2.30.0.jar,
 
/Users/diguage/.m2/repository/com/google/guava/guava/33.3.1-android/guava-33.3.1-android.jar,
 /Users/diguage/.m2/repository/com/google/guava/failureaccess/1.0.2
 /failureaccess-1.0.2.jar, 
/Users/diguage/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar,
 
/Users/diguage/.m2/repository/org/checkerframework/checker-qual/3.43.0/checker-qual-3.43.0.jar,
 
/Users/diguage/.m2/repository/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar,
 
/Users/diguage/.m2/repository/com/google/code/gson/gson/2.11.0/gson-2.11.0.jar, 
/Users/diguage/.m2/repository/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar,
 
/Users/diguage/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.24/animal-sniffer-annotations-1.24.jar,
 
/Users/diguage/.m2/repository/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar,
 
/Users/diguage/.m2/repository/io/grpc/grpc-context/1.72.0/grpc-context-1.72.0.jar,
 /Users/diguage/.m2/repository/io/grpc/grpc-stub/1.72.0/grpc-stub-1.72.0.jar, 
/Users/diguage/.m2/repository/io/grpc/grpc-protobuf/1.72.0/grpc-
 protobuf-1.72.0.jar, 
/Users/diguage/.m2/repository/com/google/protobuf/protobuf-java/3.25.5/protobuf-java-3.25.5.jar,
 
/Users/diguage/.m2/repository/com/google/api/grpc/proto-google-common-protos/2.51.0/proto-google-common-protos-2.51.0.jar,
 
/Users/diguage/.m2/repository/io/grpc/grpc-protobuf-lite/1.72.0/grpc-protobuf-lite-1.72.0.jar,
 
/Users/diguage/.m2/repository/com/salesforce/servicelibs/grpc-contrib/0.8.1/grpc-contrib-0.8.1.jar],
 args=[], jvmArgs=[], 
protocPlugin=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-plugins/protoc-gen-tri}
 success
   [INFO] protoFilesInDirectory: 
[/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/status.proto, 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/health.proto, 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/triple_wrapper.proto, 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/error_details.proto, 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/reflectionV1Alpha.proto]
   [INFO] commandLine:/bin/sh -c 
'/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-plugins/protoc-3.25.5-osx-x86_64.exe'
 '--proto_path=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto' 
'--proto_path=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-dependencies/9c8972f39bfb577b75cbe4ecd1b8a4fd'
 
'--proto_path=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-dependencies/92c0cc828903883fabbf5b0f8519d09e'
 
'--java_out=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/generated-sources/protobuf/java'
 
'--plugin=protoc-gen-tri=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-plugins/protoc-gen-tri'
 
'--tri_out=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/generated-sources/protobuf/java'
 '/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/status.proto' 
'/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/health.proto' 
'/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/triple_wrapper.proto' 
'/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/m
 ain/proto/error_details.proto' 
'/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/reflectionV1Alpha.proto'
   
   
   
   报错命令:
   --proto_path=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto 
--proto_path=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-dependencies/9c8972f39bfb577b75cbe4ecd1b8a4fd
 
--proto_path=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-dependencies/92c0cc828903883fabbf5b0f8519d09e
 
--java_out=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/generated-sources/protobuf/java
 
--plugin=protoc-gen-tri=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/protoc-plugins/protoc-gen-tri
 
--tri_out=/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/target/generated-sources/protobuf/java
 /path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/status.proto 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/health.proto 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/triple_wrapper.proto 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/error_details.proto 
/path/to/dubbo/dubbo-rpc/dubbo-rpc-triple/src/main/proto/reflectionV1Alpha.proto
   
   
   [INFO] execute commandLine finished with exit code: 1
   [ERROR] PROTOC FAILED: NOTE: Picked up JDK_JAVA_OPTIONS:  
-Djava.io.tmpdir=/tmp -XX:+PrintCommandLineFlags 
-XX:+PrintStringTableStatistics -XX:NativeMemoryTracking=summary 
-XX:+UnlockDiagnosticVMOptions -XX:+PrintNMTStatistics
   --tri_out: protoc-gen-tri: Plugin output is unparseable: -XX:ConcGCThreads=3 
-XX:G1ConcRefinementThreads=10 -XX:GCDrainStackTargetSize=64 
-XX:InitialHeapSize=536870912 -XX:MarkStackSize=4194304 
-XX:MaxHeapSize=8589934592 -XX:MinHeapSize=6815736 
-XX:NativeMemoryTracking=summary -XX:+PrintCommandLineFlags 
-XX:+PrintNMTStatistics -XX:+PrintStringTableStatistics 
-XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache 
-XX:+UnlockDiagnosticVMOptions -XX:+UseCompressedOops -XX:+UseG1GC 
\n\020\001z\254O\n(io/grpc/health/v1/DubboHealthTriple.javaz\377N/*\n * 
Licensed to the Apache Software Foundation (ASF) under one or more\n * 
contributor license agreements.  See the NOTICE file distributed with\n * this 
work for additional information regarding copyright ownership.\n * The ASF 
licenses this file to You under the Apache License, Version 2.0\n * (the 
\"License\"); you may not use this file except in compliance with\n * the 
License.  You may obtain a copy of the License at\n *\n *     h
 ttp://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by 
applicable law or agreed to in writing, software\n * distributed under the 
License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the 
specific language governing permissions and\n * limitations under the 
License.\n */\n\npackage io.grpc.health.v1;\n\nimport 
org.apache.dubbo.common.stream.StreamObserver;\nimport 
org.apache.dubbo.common.URL;\nimport org.apache.dubbo.rpc.Invoker;\nimport 
org.apache.dubbo.rpc.PathResolver;\nimport 
org.apache.dubbo.rpc.RpcException;\nimport 
org.apache.dubbo.rpc.ServerService;\nimport 
org.apache.dubbo.rpc.TriRpcStatus;\nimport 
org.apache.dubbo.rpc.model.MethodDescriptor;\nimport 
org.apache.dubbo.rpc.model.ServiceDescriptor;\nimport 
org.apache.dubbo.rpc.model.StubMethodDescriptor;\nimport 
org.apache.dubbo.rpc.model.StubServiceDescriptor;\nimport 
org.apache.dubbo.rpc.service.Destroyable;\nimport org
 .apache.dubbo.rpc.stub.BiStreamMethodHandler;\nimport 
org.apache.dubbo.rpc.stub.ServerStreamMethodHandler;\nimport 
org.apache.dubbo.rpc.stub.StubInvocationUtil;\nimport 
org.apache.dubbo.rpc.stub.StubInvoker;\nimport 
org.apache.dubbo.rpc.stub.StubMethodHandler;\nimport 
org.apache.dubbo.rpc.stub.StubSuppliers;\nimport 
org.apache.dubbo.rpc.stub.UnaryStubMethodHandler;\n\nimport 
com.google.protobuf.Message;\n\nimport java.util.HashMap;\nimport 
java.util.Map;\nimport java.util.function.BiConsumer;\nimport 
java.util.concurrent.CompletableFuture;\n\npublic final class DubboHealthTriple 
{\n\n    public static final String SERVICE_NAME = Health.SERVICE_NAME;\n\n    
private static final StubServiceDescriptor serviceDescriptor = new 
StubServiceDescriptor(SERVICE_NAME, Health.class);\n\n    static {\n        
org.apache.dubbo.rpc.protocol.tri.service.SchemaDescriptorRegistry.addSchemaDescriptor(SERVICE_NAME,
 HealthProto.getDescriptor());\n        StubSuppliers.addSupplier(SERVICE_NAME, 
DubboHeal
 thTriple::newStub);\n        
StubSuppliers.addSupplier(Health.JAVA_SERVICE_NAME,  
DubboHealthTriple::newStub);\n        StubSuppliers.addDescriptor(SERVICE_NAME, 
serviceDescriptor);\n        
StubSuppliers.addDescriptor(Health.JAVA_SERVICE_NAME, serviceDescriptor);\n    
}\n\n    @SuppressWarnings(\"unchecked\")\n    public static Health 
newStub(Invoker<?> invoker) {\n        return new 
HealthStub((Invoker<Health>)invoker);\n    }\n\n    private static final 
StubMethodDescriptor checkMethod = new StubMethodDescriptor(\"Check\",\n    
io.grpc.health.v1.HealthCheckRequest.class, 
io.grpc.health.v1.HealthCheckResponse.class, MethodDescriptor.RpcType.UNARY,\n  
  obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), 
io.grpc.health.v1.HealthCheckRequest::parseFrom,\n    
io.grpc.health.v1.HealthCheckResponse::parseFrom);\n\n    private static final 
StubMethodDescriptor checkAsyncMethod = new StubMethodDescriptor(\"Check\",\n   
 io.grpc.health.v1.HealthCheckRequest.class, 
 java.util.concurrent.CompletableFuture.class, 
MethodDescriptor.RpcType.UNARY,\n    obj -> ((Message) obj).toByteArray(), obj 
-> ((Message) obj).toByteArray(), 
io.grpc.health.v1.HealthCheckRequest::parseFrom,\n    
io.grpc.health.v1.HealthCheckResponse::parseFrom);\n\n    private static final 
StubMethodDescriptor checkProxyAsyncMethod = new 
StubMethodDescriptor(\"CheckAsync\",\n    
io.grpc.health.v1.HealthCheckRequest.class, 
io.grpc.health.v1.HealthCheckResponse.class, MethodDescriptor.RpcType.UNARY,\n  
  obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), 
io.grpc.health.v1.HealthCheckRequest::parseFrom,\n    
io.grpc.health.v1.HealthCheckResponse::parseFrom);\n\n    private static final 
StubMethodDescriptor watchMethod = new StubMethodDescriptor(\"Watch\",\n    
io.grpc.health.v1.HealthCheckRequest.class, 
io.grpc.health.v1.HealthCheckResponse.class, 
MethodDescriptor.RpcType.SERVER_STREAM,\n    obj -> ((Message) 
obj).toByteArray(), obj -> ((Message) obj).toByteAr
 ray(), io.grpc.health.v1.HealthCheckRequest::parseFrom,\n    
io.grpc.health.v1.HealthCheckResponse::parseFrom);\n\n    static{\n        
serviceDescriptor.addMethod(checkMethod);\n        
serviceDescriptor.addMethod(checkProxyAsyncMethod);\n        
serviceDescriptor.addMethod(watchMethod);\n    }\n\n    public static class 
HealthStub implements Health, Destroyable {\n        private final 
Invoker<Health> invoker;\n\n        public HealthStub(Invoker<Health> invoker) 
{\n            this.invoker = invoker;\n        }\n\n        @Override\n        
public void $destroy() {\n              invoker.destroy();\n         }\n\n      
  @Override\n        public io.grpc.health.v1.HealthCheckResponse 
check(io.grpc.health.v1.HealthCheckRequest request){\n            return 
StubInvocationUtil.unaryCall(invoker, checkMethod, request);\n        }\n\n     
   public CompletableFuture<io.grpc.health.v1.HealthCheckResponse> 
checkAsync(io.grpc.health.v1.HealthCheckRequest request){\n            return 
Stu
 bInvocationUtil.unaryCall(invoker, checkAsyncMethod, request);\n        }\n\n  
      public void check(io.grpc.health.v1.HealthCheckRequest request, 
StreamObserver<io.grpc.health.v1.HealthCheckResponse> responseObserver){\n      
      StubInvocationUtil.unaryCall(invoker, checkMethod , request, 
responseObserver);\n        }\n\n        @Override\n        public void 
watch(io.grpc.health.v1.HealthCheckRequest request, 
StreamObserver<io.grpc.health.v1.HealthCheckResponse> responseObserver){\n      
      StubInvocationUtil.serverStreamCall(invoker, watchMethod , request, 
responseObserver);\n        }\n    }\n\n    public static abstract class 
HealthImplBase implements Health, ServerService<Health> {\n        private <T, 
R> BiConsumer<T, StreamObserver<R>> syncToAsync(java.util.function.Function<T, 
R> syncFun) {\n            return new BiConsumer<T, StreamObserver<R>>() {\n    
            @Override\n                public void accept(T t, 
StreamObserver<R> observer) {\n                  
   try {\n                        R ret = syncFun.apply(t);\n                   
     observer.onNext(ret);\n                        observer.onCompleted();\n   
                 } catch (Throwable e) {\n                        
observer.onError(e);\n                    }\n                }\n            
};\n        }\n\n        @Override\n        public 
CompletableFuture<io.grpc.health.v1.HealthCheckResponse> 
checkAsync(io.grpc.health.v1.HealthCheckRequest request){\n                
return CompletableFuture.completedFuture(check(request));\n        }\n\n        
// This server stream type unary method is <b>only</b> used for generated stub 
to support async unary method.\n        // It will not be called if you are NOT 
using Dubbo3 generated triple stub and <b>DO NOT</b> implement this method.\n\n 
       public void check(io.grpc.health.v1.HealthCheckRequest request, 
StreamObserver<io.grpc.health.v1.HealthCheckResponse> responseObserver){\n      
      checkAsync(request).whenComplete((r, 
 t) -> {\n                if (t != null) {\n                    
responseObserver.onError(t);\n                } else {\n                    
responseObserver.onNext(r);\n                    
responseObserver.onCompleted();\n                }\n            });\n        
}\n\n        @Override\n        public final Invoker<Health> getInvoker(URL 
url) {\n            PathResolver pathResolver = 
url.getOrDefaultFrameworkModel()\n            
.getExtensionLoader(PathResolver.class)\n            .getDefaultExtension();\n  
          Map<String, StubMethodHandler<?, ?>> handlers = new HashMap<>();\n    
        pathResolver.addNativeStub( \"/\" + SERVICE_NAME + \"/Check\");\n       
     pathResolver.addNativeStub( \"/\" + SERVICE_NAME + \"/CheckAsync\");\n     
       // for compatibility\n            pathResolver.addNativeStub( \"/\" + 
JAVA_SERVICE_NAME + \"/Check\");\n            pathResolver.addNativeStub( \"/\" 
+ JAVA_SERVICE_NAME + \"/CheckAsync\");\n            
pathResolver.addNativeStub( \"/\
 " + SERVICE_NAME + \"/Watch\");\n            pathResolver.addNativeStub( \"/\" 
+ SERVICE_NAME + \"/WatchAsync\");\n            // for compatibility\n          
  pathResolver.addNativeStub( \"/\" + JAVA_SERVICE_NAME + \"/Watch\");\n        
    pathResolver.addNativeStub( \"/\" + JAVA_SERVICE_NAME + \"/WatchAsync\");\n 
           BiConsumer<io.grpc.health.v1.HealthCheckRequest, 
StreamObserver<io.grpc.health.v1.HealthCheckResponse>> checkFunc = 
this::check;\n            handlers.put(checkMethod.getMethodName(), new 
UnaryStubMethodHandler<>(checkFunc));\n            
BiConsumer<io.grpc.health.v1.HealthCheckRequest, 
StreamObserver<io.grpc.health.v1.HealthCheckResponse>> checkAsyncFunc = 
syncToAsync(this::check);\n            
handlers.put(checkProxyAsyncMethod.getMethodName(), new 
UnaryStubMethodHandler<>(checkAsyncFunc));\n            
handlers.put(watchMethod.getMethodName(), new 
ServerStreamMethodHandler<>(this::watch));\n\n            return new 
StubInvoker<>(this, url, Health.class, ha
 ndlers);\n        }\n\n        @Override\n        public 
io.grpc.health.v1.HealthCheckResponse 
check(io.grpc.health.v1.HealthCheckRequest request){\n            throw 
unimplementedMethodException(checkMethod);\n        }\n\n        @Override\n    
    public void watch(io.grpc.health.v1.HealthCheckRequest request, 
StreamObserver<io.grpc.health.v1.HealthCheckResponse> responseObserver){\n      
      throw unimplementedMethodException(watchMethod);\n        }\n\n        
@Override\n        public final ServiceDescriptor getServiceDescriptor() {\n    
        return serviceDescriptor;\n        }\n        private RpcException 
unimplementedMethodException(StubMethodDescriptor methodDescriptor) {\n         
   return TriRpcStatus.UNIMPLEMENTED.withDescription(String.format(\"Method %s 
is unimplemented\",\n                \"/\" + 
serviceDescriptor.getInterfaceName() + \"/\" + 
methodDescriptor.getMethodName())).asException();\n        }\n    
}\n}\nz\357\025\n\035io/grpc/health/v1/Health.javaz\3
 15\025/*\n * Licensed to the Apache Software Foundation (ASF) under one or 
more\n * contributor license agreements.  See the NOTICE file distributed 
with\n * this work for additional information regarding copyright ownership.\n 
* The ASF licenses this file to You under the Apache License, Version 2.0\n * 
(the \"License\"); you may not use this file except in compliance with\n * the 
License.  You may obtain a copy of the License at\n *\n *     
http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by 
applicable law or agreed to in writing, software\n * distributed under the 
License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the 
specific language governing permissions and\n * limitations under the 
License.\n */\n\npackage io.grpc.health.v1;\n\nimport 
org.apache.dubbo.common.stream.StreamObserver;\nimport 
org.apache.dubbo.remoting.http12.HttpMethods;\nimport org.apache.dubbo.remo
 ting.http12.rest.Mapping;\nimport 
org.apache.dubbo.rpc.stub.annotations.GRequest;\nimport 
com.google.protobuf.Message;\n\nimport java.util.HashMap;\nimport 
java.util.Map;\nimport java.util.function.BiConsumer;\nimport 
java.util.concurrent.CompletableFuture;\n\npublic interface Health extends 
org.apache.dubbo.rpc.model.DubboStub {\n\n    String JAVA_SERVICE_NAME = 
\"io.grpc.health.v1.Health\";\n    String SERVICE_NAME = 
\"grpc.health.v1.Health\";\n\n    io.grpc.health.v1.HealthCheckResponse 
check(io.grpc.health.v1.HealthCheckRequest request);\n\n    
CompletableFuture<io.grpc.health.v1.HealthCheckResponse> 
checkAsync(io.grpc.health.v1.HealthCheckRequest request);\n\n    /**\n     * 
<pre>\n     *  Performs a watch for the serving status of the requested 
service.\n     *  The server will immediately send back a message indicating 
the current\n     *  serving status.  It will then subsequently send a new 
message whenever\n     *  the service&#39;s serving status changes.\n     * \n  
   *
   If the requested service is unknown when the call is received, the\n     *  
server will send a message setting the serving status to\n     *  
SERVICE_UNKNOWN but will &#42;not&#42; terminate the call.  If at some\n     *  
future point, the serving status of the service becomes known, the\n     *  
server will send a new message with the service&#39;s serving status.\n     * 
\n     *  If the call terminates with status UNIMPLEMENTED, then clients\n     
*  should assume this method is not supported and should not retry the\n     *  
call.  If the call terminates with any other status (including OK),\n     *  
clients should retry the call with appropriate exponential backoff.\n     * 
</pre>\n     */\n    void watch(io.grpc.health.v1.HealthCheckRequest request, 
StreamObserver<io.grpc.health.v1.HealthCheckResponse> 
responseObserver);\n}\nz\2306\n;io/grpc/reflection/v1alpha/DubboServerReflectionTriple.javaz\3305/*\n
 * Licensed to the Apache Software Foundation (ASF) under one or more\n * 
 contributor license agreements.  See the NOTICE file distributed with\n * this 
work for additional information regarding copyright ownership.\n * The ASF 
licenses this file to You under the Apache License, Version 2.0\n * (the 
\"License\"); you may not use this file except in compliance with\n * the 
License.  You may obtain a copy of the License at\n *\n *     
http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by 
applicable law or agreed to in writing, software\n * distributed under the 
License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the 
specific language governing permissions and\n * limitations under the 
License.\n */\n\npackage io.grpc.reflection.v1alpha;\n\nimport 
org.apache.dubbo.common.stream.StreamObserver;\nimport 
org.apache.dubbo.common.URL;\nimport org.apache.dubbo.rpc.Invoker;\nimport 
org.apache.dubbo.rpc.PathResolver;\nimport org.apache.dubbo.rpc.RpcExceptio
 n;\nimport org.apache.dubbo.rpc.ServerService;\nimport 
org.apache.dubbo.rpc.TriRpcStatus;\nimport 
org.apache.dubbo.rpc.model.MethodDescriptor;\nimport 
org.apache.dubbo.rpc.model.ServiceDescriptor;\nimport 
org.apache.dubbo.rpc.model.StubMethodDescriptor;\nimport 
org.apache.dubbo.rpc.model.StubServiceDescriptor;\nimport 
org.apache.dubbo.rpc.service.Destroyable;\nimport 
org.apache.dubbo.rpc.stub.BiStreamMethodHandler;\nimport 
org.apache.dubbo.rpc.stub.ServerStreamMethodHandler;\nimport 
org.apache.dubbo.rpc.stub.StubInvocationUtil;\nimport 
org.apache.dubbo.rpc.stub.StubInvoker;\nimport 
org.apache.dubbo.rpc.stub.StubMethodHandler;\nimport 
org.apache.dubbo.rpc.stub.StubSuppliers;\nimport 
org.apache.dubbo.rpc.stub.UnaryStubMethodHandler;\n\nimport 
com.google.protobuf.Message;\n\nimport java.util.HashMap;\nimport 
java.util.Map;\nimport java.util.function.BiConsumer;\nimport 
java.util.concurrent.CompletableFuture;\n\npublic final class 
DubboServerReflectionTriple {\n\n    public static final
  String SERVICE_NAME = ServerReflection.SERVICE_NAME;\n\n    private static 
final StubServiceDescriptor serviceDescriptor = new 
StubServiceDescriptor(SERVICE_NAME, ServerReflection.class);\n\n    static {\n  
      
org.apache.dubbo.rpc.protocol.tri.service.SchemaDescriptorRegistry.addSchemaDescriptor(SERVICE_NAME,
 ServerReflectionProto.getDescriptor());\n        
StubSuppliers.addSupplier(SERVICE_NAME, 
DubboServerReflectionTriple::newStub);\n        
StubSuppliers.addSupplier(ServerReflection.JAVA_SERVICE_NAME,  
DubboServerReflectionTriple::newStub);\n        
StubSuppliers.addDescriptor(SERVICE_NAME, serviceDescriptor);\n        
StubSuppliers.addDescriptor(ServerReflection.JAVA_SERVICE_NAME, 
serviceDescriptor);\n    }\n\n    @SuppressWarnings(\"unchecked\")\n    public 
static ServerReflection newStub(Invoker<?> invoker) {\n        return new 
ServerReflectionStub((Invoker<ServerReflection>)invoker);\n    }\n\n    private 
static final StubMethodDescriptor serverReflectionInfoMethod = new
  StubMethodDescriptor(\"ServerReflectionInfo\",\n    
io.grpc.reflection.v1alpha.ServerReflectionRequest.class, 
io.grpc.reflection.v1alpha.ServerReflectionResponse.class, 
MethodDescriptor.RpcType.BI_STREAM,\n    obj -> ((Message) obj).toByteArray(), 
obj -> ((Message) obj).toByteArray(), 
io.grpc.reflection.v1alpha.ServerReflectionRequest::parseFrom,\n    
io.grpc.reflection.v1alpha.ServerReflectionResponse::parseFrom);\n\n    
static{\n        serviceDescriptor.addMethod(serverReflectionInfoMethod);\n    
}\n\n    public static class ServerReflectionStub implements ServerReflection, 
Destroyable {\n        private final Invoker<ServerReflection> invoker;\n\n     
   public ServerReflectionStub(Invoker<ServerReflection> invoker) {\n           
 this.invoker = invoker;\n        }\n\n        @Override\n        public void 
$destroy() {\n              invoker.destroy();\n         }\n\n        
@Override\n        public 
StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionRequest> serverRefle
 ctionInfo(StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionResponse> 
responseObserver){\n            return 
StubInvocationUtil.biOrClientStreamCall(invoker, serverReflectionInfoMethod , 
responseObserver);\n        }\n    }\n\n    public static abstract class 
ServerReflectionImplBase implements ServerReflection, 
ServerService<ServerReflection> {\n        private <T, R> BiConsumer<T, 
StreamObserver<R>> syncToAsync(java.util.function.Function<T, R> syncFun) {\n   
         return new BiConsumer<T, StreamObserver<R>>() {\n                
@Override\n                public void accept(T t, StreamObserver<R> observer) 
{\n                    try {\n                        R ret = 
syncFun.apply(t);\n                        observer.onNext(ret);\n              
          observer.onCompleted();\n                    } catch (Throwable e) 
{\n                        observer.onError(e);\n                    }\n        
        }\n            };\n        }\n\n        // This server stream t
 ype unary method is <b>only</b> used for generated stub to support async unary 
method.\n        // It will not be called if you are NOT using Dubbo3 generated 
triple stub and <b>DO NOT</b> implement this method.\n\n        @Override\n     
   public final Invoker<ServerReflection> getInvoker(URL url) {\n            
PathResolver pathResolver = url.getOrDefaultFrameworkModel()\n            
.getExtensionLoader(PathResolver.class)\n            .getDefaultExtension();\n  
          Map<String, StubMethodHandler<?, ?>> handlers = new HashMap<>();\n    
        pathResolver.addNativeStub( \"/\" + SERVICE_NAME + 
\"/ServerReflectionInfo\");\n            pathResolver.addNativeStub( \"/\" + 
SERVICE_NAME + \"/ServerReflectionInfoAsync\");\n            // for 
compatibility\n            pathResolver.addNativeStub( \"/\" + 
JAVA_SERVICE_NAME + \"/ServerReflectionInfo\");\n            
pathResolver.addNativeStub( \"/\" + JAVA_SERVICE_NAME + 
\"/ServerReflectionInfoAsync\");\n            handlers.put(serv
 erReflectionInfoMethod.getMethodName(), new 
BiStreamMethodHandler<>(this::serverReflectionInfo));\n\n            return new 
StubInvoker<>(this, url, ServerReflection.class, handlers);\n        }\n\n      
  @Override\n        public 
StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionRequest> 
serverReflectionInfo(StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionResponse>
 responseObserver){\n            throw 
unimplementedMethodException(serverReflectionInfoMethod);\n        }\n\n        
@Override\n        public final ServiceDescriptor getServiceDescriptor() {\n    
        return serviceDescriptor;\n        }\n        private RpcException 
unimplementedMethodException(StubMethodDescriptor methodDescriptor) {\n         
   return TriRpcStatus.UNIMPLEMENTED.withDescription(String.format(\"Method %s 
is unimplemented\",\n                \"/\" + 
serviceDescriptor.getInterfaceName() + \"/\" + 
methodDescriptor.getMethodName())).asException();\n        }\n    
}\n}\nz\314\016\n0i
 o/grpc/reflection/v1alpha/ServerReflection.javaz\227\016/*\n * Licensed to the 
Apache Software Foundation (ASF) under one or more\n * contributor license 
agreements.  See the NOTICE file distributed with\n * this work for additional 
information regarding copyright ownership.\n * The ASF licenses this file to 
You under the Apache License, Version 2.0\n * (the \"License\"); you may not 
use this file except in compliance with\n * the License.  You may obtain a copy 
of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n 
* Unless required by applicable law or agreed to in writing, software\n * 
distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT 
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the 
License for the specific language governing permissions and\n * limitations 
under the License.\n */\n\npackage io.grpc.reflection.v1alpha;\n\nimport 
org.apache.dubbo.common.stream.StreamObserver;\nimport org.apache.dubbo
 .remoting.http12.HttpMethods;\nimport 
org.apache.dubbo.remoting.http12.rest.Mapping;\nimport 
org.apache.dubbo.rpc.stub.annotations.GRequest;\nimport 
com.google.protobuf.Message;\n\nimport java.util.HashMap;\nimport 
java.util.Map;\nimport java.util.function.BiConsumer;\nimport 
java.util.concurrent.CompletableFuture;\n\npublic interface ServerReflection 
extends org.apache.dubbo.rpc.model.DubboStub {\n\n    String JAVA_SERVICE_NAME 
= \"io.grpc.reflection.v1alpha.ServerReflection\";\n    String SERVICE_NAME = 
\"grpc.reflection.v1alpha.ServerReflection\";\n\n    /**\n     * <pre>\n     *  
The reflection service is structured as a bidirectional stream, ensuring\n     
*  all related requests go to a single server.\n     * </pre>\n     */\n    
StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionRequest> 
serverReflectionInfo(StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionResponse>
 responseObserver);\n}\n\nNative Memory Tracking:\n\nTotal: 
reserved=10246260385, committed=6552
 01953\n       malloc: 29521569 #24814\n       mmap:   reserved=10216738816, 
committed=625680384\n\n-                 Java Heap (reserved=8589934592, 
committed=541065216)\n                            (mmap: reserved=8589934592, 
committed=541065216, at peak) \n \n-                     Class 
(reserved=1073896119, committed=678583)\n                            (classes 
#1549)\n                            (  instance classes #1390, array classes 
#159)\n                            (malloc=154295 #3778) (peak=154647 #3779) \n 
                           (mmap: reserved=1073741824, committed=524288, at 
peak) \n                            (  Metadata:   )\n                          
  (    reserved=67108864, committed=4849664)\n                            (    
used=4727000)\n                            (    waste=122664 =2.53%)\n          
                  (  Class space:)\n                            (    
reserved=1073741824, committed=524288)\n                            (    
used=442160)\n 
                            (    waste=82128 =15.66%)\n \n-                    
Thread (reserved=13679808, committed=13679808)\n                            
(threads #13)\n                            (stack: reserved=13631488, 
committed=13631488, peak=13631488)\n                            (malloc=29888 
#106) (peak=40296 #116) \n                            (arena=18432 #32) 
(peak=149344 #32)\n \n-                      Code (reserved=253817936, 
committed=7914576)\n                            (malloc=185424 #1900) (at peak) 
\n                            (mmap: reserved=253632512, committed=7729152, at 
peak) \n                            (arena=0 #0) (peak=984 #1)\n \n-            
            GC (reserved=224095738, committed=66891258)\n                       
     (malloc=22224378 #1327) (peak=22224418 #1328) \n                           
 (mmap: reserved=201871360, committed=44666880, at peak) \n \n-                 
GCCardSet (reserved=30160, committed=30160)\n                            
 (malloc=30160 #390) (at peak) \n \n-                  Compiler 
(reserved=174232, committed=174232)\n                            (malloc=6656 
#79) (peak=21136 #85) \n                            (arena=167576 #4) 
(peak=3895616 #13)\n \n-                  Internal (reserved=220553, 
committed=220553)\n                            (malloc=187785 #2068) 
(peak=190283 #2078) \n                            (mmap: reserved=32768, 
committed=32768, at peak) \n \n-                     Other (reserved=0, 
committed=0)\n                            (malloc=0) (peak=2048 #1) \n \n-      
              Symbol (reserved=2424810, committed=2424810)\n                    
        (malloc=2056170 #10143) (at peak) \n                            
(arena=368640 #1) (at peak)\n \n-    Native Memory Tracking (reserved=405200, 
committed=405200)\n                            (malloc=8176 #130) (peak=8616 
#135) \n                            (tracking overhead=397024)\n \n-        
Shared class space (reserved=16777216, c
 ommitted=13172736, readonly=0)\n                            (mmap: 
reserved=16777216, committed=13172736, peak=13426688) \n \n-               
Arena Chunk (reserved=3391752, committed=3391752)\n                            
(malloc=3391752 #154) (peak=4319976 #162) \n \n-                   Tracing 
(reserved=313, committed=313)\n                            (malloc=313 #9) (at 
peak) \n \n-                Statistics (reserved=128, committed=128)\n          
                  (malloc=128 #2) (at peak) \n \n-                 Arguments 
(reserved=172, committed=172)\n                            (malloc=172 #5) 
(peak=9890 #2) \n \n-                    Module (reserved=41664, 
committed=41664)\n                            (malloc=41664 #1276) (at peak) \n 
\n-                 Safepoint (reserved=8192, committed=8192)\n                 
           (mmap: reserved=8192, committed=8192, at peak) \n \n-           
Synchronization (reserved=212224, committed=212224)\n                           
 (malloc=2
 12224 #3415) (peak=212256 #3416) \n \n-            Serviceability 
(reserved=17080, committed=17080)\n                            (malloc=17080 
#9) (peak=17224 #11) \n \n-                 Metaspace (reserved=67131264, 
committed=4872064)\n                            (malloc=22400 #12) (at peak) \n 
                           (mmap: reserved=67108864, committed=4849664, at 
peak) \n \n-      String Deduplication (reserved=608, committed=608)\n          
                  (malloc=608 #8) (at peak) \n \n-           Object Monitors 
(reserved=624, committed=624)\n                            (malloc=624 #3) (at 
peak) \n \n-                   Unknown (reserved=0, committed=0)\n              
              (mmap: reserved=0, committed=0, peak=20480) \n \nSymbolTable 
statistics:\nNumber of buckets       :     32768 =    262144 bytes, each 
8\nNumber of entries       :     10004 =    160064 bytes, each 16\nNumber of 
literals      :     10004 =    655448 bytes, avg  65.000\nTotal footprint       
  : 
           =   1077656 bytes\nAverage bucket size     :     0.305\nVariance of 
bucket size :     0.311\nStd. dev. of bucket size:     0.557\nMaximum bucket 
size     :         5\nShared Symbol Table statistics:\nNumber of buckets       
:     10771\nNumber of entries       :     41548\nMaximum bucket size     :     
   14\nStringTable statistics:\nNumber of buckets       :     65536 =    524288 
bytes, each 8\nNumber of entries       :      1065 =     17040 bytes, each 
16\nNumber of literals      :      1065 =     89592 bytes, avg  84.000\nTotal 
footprint         :           =    630920 bytes\nAverage bucket size     :     
0.016\nVariance of bucket size :     0.016\nStd. dev. of bucket size:     
0.128\nMaximum bucket size     :         2\nShared String Table 
statistics:\nNumber of buckets       :      1919\nNumber of entries       :     
 7444\nMaximum bucket size     :        11\n
   
   [INFO] 
------------------------------------------------------------------------
   [INFO] Reactor Summary for dubbo-parent 3.3.5:
   [INFO]
   [INFO] dubbo-parent ....................................... SUCCESS [  4.048 
s]
   [INFO] dubbo-common ....................................... SUCCESS [ 24.794 
s]
   [INFO] dubbo-test ......................................... SUCCESS [  0.318 
s]
   [INFO] dubbo-test-check ................................... SUCCESS [  2.453 
s]
   [INFO] dubbo-serialization ................................ SUCCESS [  0.329 
s]
   [INFO] dubbo-serialization-api ............................ SUCCESS [  1.692 
s]
   [INFO] dubbo-native ....................................... SUCCESS [  4.160 
s]
   [INFO] dubbo-serialization-hessian2 ....................... SUCCESS [  3.018 
s]
   [INFO] dubbo-serialization-fastjson2 ...................... SUCCESS [  3.084 
s]
   [INFO] dubbo-remoting ..................................... SUCCESS [  0.168 
s]
   [INFO] dubbo-remoting-api ................................. SUCCESS [  6.921 
s]
   [INFO] dubbo-remoting-netty ............................... SUCCESS [  3.116 
s]
   [INFO] dubbo-remoting-zookeeper-curator5 .................. SUCCESS [  3.266 
s]
   [INFO] dubbo-metrics ...................................... SUCCESS [  0.167 
s]
   [INFO] dubbo-metrics-event ................................ SUCCESS [  1.305 
s]
   [INFO] dubbo-rpc .......................................... SUCCESS [  0.156 
s]
   [INFO] dubbo-rpc-api ...................................... SUCCESS [  6.444 
s]
   [INFO] dubbo-metrics-api .................................. SUCCESS [  4.041 
s]
   [INFO] dubbo-metrics-netty ................................ SUCCESS [  1.290 
s]
   [INFO] dubbo-remoting-netty4 .............................. SUCCESS [  4.242 
s]
   [INFO] dubbo-remoting-http12 .............................. SUCCESS [  4.343 
s]
   [INFO] dubbo-remoting-http3 ............................... SUCCESS [  1.984 
s]
   [INFO] dubbo-remoting-websocket ........................... SUCCESS [  1.363 
s]
   [INFO] dubbo-rpc-injvm .................................... SUCCESS [  3.152 
s]
   [INFO] dubbo-metrics-registry ............................. SUCCESS [  3.220 
s]
   [INFO] dubbo-metrics-default .............................. SUCCESS [  4.219 
s]
   [INFO] dubbo-cluster ...................................... SUCCESS [  9.475 
s]
   [INFO] dubbo-rpc-dubbo .................................... SUCCESS [  4.651 
s]
   [INFO] dubbo-compiler ..................................... SUCCESS [  2.202 
s]
   [INFO] dubbo-maven-plugin ................................. SUCCESS [  2.929 
s]
   [INFO] dubbo-rpc-triple ................................... FAILURE [  1.979 
s]
   [INFO] dubbo-metrics-metadata ............................. SKIPPED
   [INFO] dubbo-metadata ..................................... SKIPPED
   [INFO] dubbo-metadata-api ................................. SKIPPED
   [INFO] dubbo-registry ..................................... SKIPPED
   [INFO] dubbo-registry-api ................................. SKIPPED
   [INFO] dubbo-registry-multicast ........................... SKIPPED
   [INFO] dubbo-registry-zookeeper ........................... SKIPPED
   [INFO] dubbo-registry-nacos ............................... SKIPPED
   [INFO] dubbo-test-common .................................. SKIPPED
   [INFO] dubbo-registry-multiple ............................ SKIPPED
   [INFO] dubbo-qos-api ...................................... SKIPPED
   [INFO] dubbo-metrics-prometheus ........................... SKIPPED
   [INFO] dubbo-metrics-config-center ........................ SKIPPED
   [INFO] dubbo-configcenter ................................. SKIPPED
   [INFO] dubbo-configcenter-zookeeper ....................... SKIPPED
   [INFO] dubbo-configcenter-apollo .......................... SKIPPED
   [INFO] dubbo-configcenter-nacos ........................... SKIPPED
   [INFO] dubbo-configcenter-file ............................ SKIPPED
   [INFO] dubbo-tracing ...................................... SKIPPED
   [INFO] dubbo-metadata-report-zookeeper .................... SKIPPED
   [INFO] dubbo-filter-cache ................................. SKIPPED
   [INFO] dubbo-filter-validation ............................ SKIPPED
   [INFO] dubbo-config ....................................... SKIPPED
   [INFO] dubbo-config-api ................................... SKIPPED
   [INFO] dubbo-config-spring ................................ SKIPPED
   [INFO] dubbo-config-spring6 ............................... SKIPPED
   [INFO] dubbo-qos .......................................... SKIPPED
   [INFO] dubbo-metadata-processor ........................... SKIPPED
   [INFO] dubbo-compatible ................................... SKIPPED
   [INFO] dubbo-dependencies-bom ............................. SKIPPED
   [INFO] dubbo-metadata-definition-protobuf ................. SKIPPED
   [INFO] dubbo-metadata-report-nacos ........................ SKIPPED
   [INFO] dubbo-test-spring .................................. SKIPPED
   [INFO] dubbo-test-spring3.2 ............................... SKIPPED
   [INFO] dubbo-test-spring4.1 ............................... SKIPPED
   [INFO] dubbo-test-spring4.2 ............................... SKIPPED
   [INFO] dubbo-auth ......................................... SKIPPED
   [INFO] dubbo-security ..................................... SKIPPED
   [INFO] dubbo-reactive ..................................... SKIPPED
   [INFO] dubbo-spring-security .............................. SKIPPED
   [INFO] dubbo-rest-jaxrs ................................... SKIPPED
   [INFO] dubbo-triple-servlet ............................... SKIPPED
   [INFO] dubbo-rest-spring .................................. SKIPPED
   [INFO] dubbo-rest-openapi ................................. SKIPPED
   [INFO] dubbo-triple-websocket ............................. SKIPPED
   [INFO] dubbo-plugin-loom .................................. SKIPPED
   [INFO] dubbo .............................................. SKIPPED
   [INFO] dubbo-spring-boot .................................. SKIPPED
   [INFO] dubbo-spring-boot-actuator ......................... SKIPPED
   [INFO] dubbo-spring-boot-compatible ....................... SKIPPED
   [INFO] dubbo-spring-boot-autoconfigure-compatible ......... SKIPPED
   [INFO] dubbo-spring-boot-autoconfigure .................... SKIPPED
   [INFO] dubbo-spring-boot-actuator-autoconfigure-compatible  SKIPPED
   [INFO] dubbo-spring-boot-actuator-autoconfigure ........... SKIPPED
   [INFO] dubbo-spring-boot-starters ......................... SKIPPED
   [INFO] dubbo-spring-boot-starter .......................... SKIPPED
   [INFO] dubbo-tracing-otel-zipkin-spring-boot-starter ...... SKIPPED
   [INFO] dubbo-tracing-otel-otlp-spring-boot-starter ........ SKIPPED
   [INFO] dubbo-tracing-brave-zipkin-spring-boot-starter ..... SKIPPED
   [INFO] dubbo-observability-spring-boot-starter ............ SKIPPED
   [INFO] dubbo-nacos-spring-boot-starter .................... SKIPPED
   [INFO] dubbo-zookeeper-curator5-spring-boot-starter ....... SKIPPED
   [INFO] dubbo-sentinel-spring-boot-starter ................. SKIPPED
   [INFO] dubbo-seata-spring-boot-starter .................... SKIPPED
   [INFO] dubbo-test-modules ................................. SKIPPED
   [INFO] dubbo-spring-boot-3-autoconfigure .................. SKIPPED
   [INFO] dubbo-dependencies-all ............................. SKIPPED
   [INFO] dubbo-demo-api ..................................... SKIPPED
   [INFO] dubbo-demo-api-interface ........................... SKIPPED
   [INFO] dubbo-demo-api-provider ............................ SKIPPED
   [INFO] dubbo-demo-api-consumer ............................ SKIPPED
   [INFO] dubbo-demo-spring-boot ............................. SKIPPED
   [INFO] dubbo-demo-spring-boot-interface ................... SKIPPED
   [INFO] dubbo-demo-spring-boot-consumer .................... SKIPPED
   [INFO] dubbo-demo-spring-boot-provider .................... SKIPPED
   [INFO] dubbo-demo-spring-boot-servlet ..................... SKIPPED
   [INFO] dubbo-demo-spring-boot-idl ......................... SKIPPED
   [INFO] dubbo-demo-spring-boot-idl-provider ................ SKIPPED
   [INFO] dubbo-demo-spring-boot-idl-consumer ................ SKIPPED
   [INFO] dubbo-bom .......................................... SKIPPED
   [INFO] 
------------------------------------------------------------------------
   [INFO] BUILD FAILURE
   [INFO] 
------------------------------------------------------------------------
   [INFO] Total time:  01:55 min
   [INFO] Finished at: 2025-06-18T16:31:47+08:00
   [INFO] 
------------------------------------------------------------------------
   [ERROR] Failed to execute goal 
org.apache.dubbo:dubbo-maven-plugin:3.3.5:compile (generate-stubs) on project 
dubbo-rpc-triple: protoc did not exit cleanly. Review output for more 
information. -> [Help 1]
   [ERROR]
   [ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
   [ERROR] Re-run Maven using the -X switch to enable full debug logging.
   [ERROR]
   [ERROR] For more information about the errors and possible solutions, please 
read the following articles:
   [ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
   [ERROR]
   [ERROR] After correcting the problems, you can resume the build with the 
command
   [ERROR]   mvn <args> -rf :dubbo-rpc-triple
   ```
   
   ### What you expected to happen
   
   succeed building the code.
   
   ### Anything else
   
   NO
   
   ### Are you willing to submit a pull request to fix on your own?
   
   - [ ] Yes I am willing to submit a pull request on my own!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to