Skip to content

Commit ce1fe02

Browse files
committed
Fix version list: keep only locally verified versions, document incompatibilities
Locally verified PASSED: - OkHttp: 4.10.0, 4.11.0, 4.12.0 (all 24 versions passed) - Dubbo 3.x: 3.1.11, 3.2.19 (3.3.6 dropped: dubbo-dependencies-zookeeper not published for 3.3+) Reverted (need code fixes, not just test extensions): - PostgreSQL 42.x: execute() delegates to executeWithFlags() in 42.x, plugin intercepts both causing double spans. Needs plugin code fix. - HttpClient 5.2+: async execution path changed, different span structure. Needs investigation of 5.2+ async behavior. Also add "verify locally before pushing PR" rule to plugin development skill.
1 parent 2835571 commit ce1fe02

File tree

6 files changed

+28
-16
lines changed

6 files changed

+28
-16
lines changed

.claude/skills/new-plugin/SKILL.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,24 @@ This is useful when different framework versions need different dependency versi
10941094

10951095
**This step is mandatory.** Documentation updates are part of the PR requirements.
10961096

1097+
## Step 11 - Verify Locally Before Pushing PR
1098+
1099+
**ALWAYS run E2E tests locally before pushing a PR.** Do not rely on CI to catch issues — CI failures waste review cycles and block other PRs.
1100+
1101+
For test-only version extensions:
1102+
1. Pre-warm Maven dependencies for all new versions
1103+
2. Run the test scenario locally with `bash ./test/plugin/run.sh --debug {scenario}`
1104+
3. Verify all versions pass
1105+
4. Only then commit, push, and create PR
1106+
1107+
For new plugins or code changes:
1108+
1. Build the plugin module: `./mvnw clean package -pl {module} -am -Dmaven.test.skip=true`
1109+
2. Run unit tests: `./mvnw test -pl {module}`
1110+
3. Run E2E tests locally
1111+
4. Only then push
1112+
1113+
This catches issues like wrong version numbers, assertion mismatches, missing classes, and dependency conflicts before they reach CI.
1114+
10971115
## Quick Reference - Plugin Type Decision Tree
10981116

10991117
```

CHANGES.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@ Release Notes.
1717
* Extend GraphQL plugin to support graphql-java 18 -> 24 (20+ requires JDK 17).
1818
* Extend Spring Kafka plugin to support Spring Kafka 2.4 -> 2.9 and 3.0 -> 3.3.
1919
* Enhance test/plugin/run.sh to support extra Maven properties per version in support-version.list (format: version,key=value).
20-
* Extend PostgreSQL plugin to support PostgreSQL JDBC 42.2 -> 42.7.
2120
* Extend OkHttp plugin to support OkHttp 4.10 -> 4.12.
22-
* Extend Dubbo 3.x plugin to support Dubbo 3.1 -> 3.3.
23-
* Extend HttpClient 5.x plugin to support HttpClient 5.2 -> 5.4.
21+
* Extend Dubbo 3.x plugin to support Dubbo 3.1 -> 3.2.
2422

2523
All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/249?closed=1)
2624

docs/en/setup/service-agent/java-agent/Supported-list.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ metrics based on the tracing data.
3131
* [Feign](https://github.com/OpenFeign/feign) 9.x -> 12.1
3232
* [Netflix Spring Cloud Feign](https://github.com/spring-cloud/spring-cloud-openfeign) 1.1.x -> 2.x
3333
* [Okhttp](https://github.com/square/okhttp) 2.x -> 3.x -> 4.12.x
34-
* [Apache httpcomponent HttpClient](http://hc.apache.org/) 2.0 -> 3.1, 4.2, 4.3, 5.0 -> 5.4.x
34+
* [Apache httpcomponent HttpClient](http://hc.apache.org/) 2.0 -> 3.1, 4.2, 4.3, 5.0, 5.1
3535
* [Spring RestTemplate](https://github.com/spring-projects/spring-framework) 4.x
3636
* [Spring RestTemplate](https://github.com/spring-projects/spring-framework) 6.x (Optional²)
3737
* [Jetty Client](http://www.eclipse.org/jetty/) 9.x -> 11.x
@@ -49,7 +49,7 @@ metrics based on the tracing data.
4949
* Oracle Driver (Optional¹), See [SkySPM Plugin Repository](https://github.com/SkyAPM/java-plugin-extensions)
5050
* H2 Driver 1.3.x -> 1.4.x
5151
* [ShardingSphere](https://github.com/apache/shardingsphere) 3.0.0, 4.0.0, 4.0.1, 4.1.0, 4.1.1, 5.0.0
52-
* PostgreSQL Driver 8.x, 9.x, 42.x (42.2 -> 42.7)
52+
* PostgreSQL Driver 8.x, 9.x, 42.x
5353
* Mariadb Driver 1.8, 2.x (2.0 -> 2.7)
5454
* [InfluxDB](https://github.com/influxdata/influxdb-java) 2.5 -> 2.17
5555
* [Mssql-Jtds](https://github.com/milesibastos/jTDS) 1.x
@@ -60,7 +60,7 @@ metrics based on the tracing data.
6060
* RPC Frameworks
6161
* [Dubbo](https://github.com/alibaba/dubbo) 2.5.4 -> 2.6.0
6262
* [Dubbox](https://github.com/dangdangdotcom/dubbox) 2.8.4
63-
* [Apache Dubbo](https://github.com/apache/dubbo) 2.7.x -> 3.3.x
63+
* [Apache Dubbo](https://github.com/apache/dubbo) 2.7.x -> 3.2.x
6464
* [Motan](https://github.com/weibocom/motan) 0.2.x -> 1.1.0
6565
* [gRPC](https://github.com/grpc/grpc-java) 1.x
6666
* [Apache ServiceComb Java Chassis](https://github.com/apache/servicecomb-java-chassis) 1.x, 2.x

test/plugin/scenarios/dubbo-3.x-scenario/support-version.list

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
# dubbo-dependencies-zookeeper module not published for 3.3+, needs pom change
1718
3.0.4
1819
3.1.11
1920
3.2.19
20-
3.3.6

test/plugin/scenarios/httpclient-5.x-scenario/support-version.list

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
# HttpClient 5.2+ changes async behavior, producing different spans.
18+
# Needs investigation of the async execution path changes.
1719
5.0
1820
5.1
19-
5.2.3
20-
5.3.1
21-
5.4.4

test/plugin/scenarios/postgresql-scenario/support-version.list

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,9 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
# PostgreSQL 42.x changes internal method dispatch: execute() delegates to
18+
# executeWithFlags(), producing different span names. Needs expectedData update
19+
# or investigation of which method to intercept for 42.x.
1720
9.2-1004-jdbc41
1821
9.3-1104-jdbc41
1922
9.4-1206-jdbc42
20-
42.2.29
21-
42.3.10
22-
42.4.5
23-
42.5.6
24-
42.6.2
25-
42.7.10

0 commit comments

Comments
 (0)