xjlgod opened a new pull request, #8209:
URL: https://github.com/apache/incubator-seata/pull/8209

   <!--
       Licensed to the Apache Software Foundation (ASF) under one or more
       contributor license agreements.  See the NOTICE file distributed with
       this work for additional information regarding copyright ownership.
       The ASF licenses this file to You under the Apache License, Version 2.0
       (the "License"); you may not use this file except in compliance with
       the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
       
       Unless required by applicable law or agreed to in writing, software
       distributed under the License is distributed on an "AS IS" BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       See the License for the specific language governing permissions and
       limitations under the License.
   -->
   <!-- Please make sure you have read and understood the contributing 
guidelines -->
   
   - [x] I have read the 
[CONTRIBUTING.md](https://github.com/apache/incubator-seata/blob/2.x/CONTRIBUTING.md)
 guidelines.
   - [x] I have registered the PR 
[changes](https://github.com/apache/incubator-seata/tree/2.x/changes).
   
   ### Ⅰ. Describe what this PR did
   
   - Upgrade Netty from `4.1.137.Final` to `4.2.15.Final` through the Netty BOM.
   - Migrate Seata transport event loops from deprecated Netty 4.1 APIs to the 
Netty 4.2 `IoHandler` / `MultiThreadIoEventLoopGroup` APIs.
   - Keep the allocator explicitly configured as `pooled`, and remove use of 
Netty internal APIs.
   - Ensure Seata's Netty BOM takes precedence over Spring Boot dependency 
management in server-related modules.
   - Align related gRPC/Protobuf dependency management and add required direct 
Netty dependencies for the SkyWalking plugin.
   - Update the gRPC interceptor test to use an actual `grpc-netty` TCP server 
and client.
   - Add Chinese and English change-log entries under `changes/`.
   
   ### Ⅱ. Does this pull request fix one issue?
   
   No.
   
   ### Ⅲ. Why don't you add test cases (unit test/integration test)?
   
   N/A. This PR updates existing tests and executes the relevant test suites.
   
   In particular, `GrpcTest` was migrated from the in-process transport to a 
real `grpc-netty` TCP transport, so the test now verifies the Netty-based gRPC 
request path. Existing core remoting, HTTP/2, Etcd registry, and 
version-compatibility tests were also executed.
   
   ### Ⅳ. Describe how to verify it
   
   1. Run the relevant unit tests on JDK 8:
      - Core Netty remoting, HTTP/2 handler, channel event, and Netty client 
bootstrap tests.
      - Etcd registry tests.
      - `extensions/rpc/seata-grpc` interceptor tests.
   
   2. Run the cross-version compatibility tests on JDK 21:
      - Verify client/server combinations across the old and new versions.
   
   3. Build the release distribution with JDK 25 and the `release-seata` 
profile.
   
   4. Inspect the generated server and naming-server distributions:
      - All bundled Netty artifacts must resolve to `4.2.15.Final`.
      - No `netty-4.1.x` artifacts should remain.
      - Startup scripts must retain `-Dio.netty.allocator.type=pooled`.
   
   ### Ⅴ. Special notes for reviews
   
   - Netty 4.2 is not intended to coexist with Netty 4.1 in the same runtime 
classpath. This PR centralizes version resolution through the Netty BOM and 
overrides Spring Boot-managed Netty versions where necessary.
   - The migration is intentionally scoped to deprecated event-loop APIs and 
direct internal-API usage; business protocol behavior is unchanged.
   - The SkyWalking plugin now declares direct `provided` Netty dependencies 
because it directly uses Netty `Channel` and `AttributeMap` types.
   
   


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