From ceaf60d951b32d8f31aa993dc0a945370368bc8a Mon Sep 17 00:00:00 2001 From: Albumen Kevin Date: Sat, 22 Oct 2022 16:02:49 +0800 Subject: [PATCH 1/2] Fix workflow branch name (#10783) --- .github/workflows/build-and-test-scheduled-3.0.yml | 6 +++--- .github/workflows/build-and-test-scheduled-3.1.yml | 8 ++++---- .github/workflows/build-and-test-scheduled-3.2.yml | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-and-test-scheduled-3.0.yml b/.github/workflows/build-and-test-scheduled-3.0.yml index 9ade11e0d7..72bc2d58ce 100644 --- a/.github/workflows/build-and-test-scheduled-3.0.yml +++ b/.github/workflows/build-and-test-scheduled-3.0.yml @@ -26,7 +26,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.0 + ref: "3.0" - name: Check License uses: apache/skywalking-eyes@main env: @@ -38,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.0 + ref: "3.0" path: dubbo - uses: actions/setup-java@v1 with: @@ -148,7 +148,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.0 + ref: "3.0" - name: "Set up JDK ${{ matrix.jdk }}" uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-and-test-scheduled-3.1.yml b/.github/workflows/build-and-test-scheduled-3.1.yml index f0844970dd..e29e30d575 100644 --- a/.github/workflows/build-and-test-scheduled-3.1.yml +++ b/.github/workflows/build-and-test-scheduled-3.1.yml @@ -26,7 +26,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.1 + ref: "3.1" - name: Check License uses: apache/skywalking-eyes@main env: @@ -38,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.1 + ref: "3.1" path: dubbo - uses: actions/setup-java@v1 with: @@ -148,7 +148,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.1 + ref: "3.1" - name: "Set up JDK ${{ matrix.jdk }}" uses: actions/setup-java@v1 with: @@ -188,7 +188,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.1 + ref: "3.1" - name: "Set up JDK ${{ matrix.jdk }}" uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-and-test-scheduled-3.2.yml b/.github/workflows/build-and-test-scheduled-3.2.yml index ddeeec63ee..3b305051f9 100644 --- a/.github/workflows/build-and-test-scheduled-3.2.yml +++ b/.github/workflows/build-and-test-scheduled-3.2.yml @@ -26,7 +26,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.2 + ref: "3.2" - name: Check License uses: apache/skywalking-eyes@main env: @@ -38,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.2 + ref: "3.2" path: dubbo - uses: actions/setup-java@v1 with: @@ -148,7 +148,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.2 + ref: "3.2" - name: "Set up JDK ${{ matrix.jdk }}" uses: actions/setup-java@v1 with: @@ -188,7 +188,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: 3.2 + ref: "3.2" - name: "Set up JDK ${{ matrix.jdk }}" uses: actions/setup-java@v1 with: From 400f756abbd1d7f679ff99aed8d873ab2ba9fc01 Mon Sep 17 00:00:00 2001 From: huazhongming Date: Sat, 22 Oct 2022 16:08:01 +0800 Subject: [PATCH 2/2] Avoid getting the whitelist every time and causing performance degradation (#10775) --- .../dubbo/Hessian2FactoryInitializer.java | 11 ++++++----- .../WhitelistHessian2FactoryInitializer.java | 15 ++++++--------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java index 814f27f747..842888cf1b 100644 --- a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java +++ b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java @@ -26,16 +26,17 @@ import com.alibaba.com.caucho.hessian.io.SerializerFactory; @SPI(value = "default", scope = ExtensionScope.FRAMEWORK) public interface Hessian2FactoryInitializer { - String WHITELIST = "dubbo.application.hessian2.whitelist"; - String ALLOW = "dubbo.application.hessian2.allow"; - String DENY = "dubbo.application.hessian2.deny"; + String ALLOW = System.getProperty("dubbo.application.hessian2.allow"); + String DENY = System.getProperty("dubbo.application.hessian2.deny"); + String WHITELIST = System.getProperty("dubbo.application.hessian2.whitelist"); + + String ALLOW_NON_SERIALIZABLE = System.getProperty("dubbo.hessian.allowNonSerializable", "false"); SerializerFactory getSerializerFactory(); static Hessian2FactoryInitializer getInstance() { ExtensionLoader loader = FrameworkModel.defaultModel().getExtensionLoader(Hessian2FactoryInitializer.class); - String whitelist = System.getProperty(WHITELIST); - if (StringUtils.isNotEmpty(whitelist)) { + if (StringUtils.isNotEmpty(WHITELIST)) { return loader.getExtension("whitelist"); } return loader.getDefaultExtension(); diff --git a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java index 6d7c88efbc..53bcb0f0cb 100644 --- a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java +++ b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java @@ -29,25 +29,22 @@ public class WhitelistHessian2FactoryInitializer extends AbstractHessian2Factory @Override public SerializerFactory createSerializerFactory() { SerializerFactory serializerFactory = new Hessian2SerializerFactory(); - String whiteList = System.getProperty(WHITELIST); - if ("true".equals(whiteList)) { + if ("true".equals(WHITELIST)) { serializerFactory.getClassFactory().setWhitelist(true); - String allowPattern = System.getProperty(ALLOW); - if (StringUtils.isNotEmpty(allowPattern)) { - for (String pattern : allowPattern.split(";")) { + if (StringUtils.isNotEmpty(ALLOW)) { + for (String pattern : ALLOW.split(";")) { serializerFactory.getClassFactory().allow(pattern); } } } else { serializerFactory.getClassFactory().setWhitelist(false); - String denyPattern = System.getProperty(DENY); - if (StringUtils.isNotEmpty(denyPattern)) { - for (String pattern : denyPattern.split(";")) { + if (StringUtils.isNotEmpty(DENY)) { + for (String pattern : DENY.split(";")) { serializerFactory.getClassFactory().deny(pattern); } } } - serializerFactory.setAllowNonSerializable(Boolean.parseBoolean(System.getProperty("dubbo.hessian.allowNonSerializable", "false"))); + serializerFactory.setAllowNonSerializable(Boolean.parseBoolean(ALLOW_NON_SERIALIZABLE)); serializerFactory.getClassFactory().allow("org.apache.dubbo.*"); return serializerFactory; }