You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by GitBox <gi...@apache.org> on 2018/06/11 03:19:36 UTC

[GitHub] liubao68 closed pull request #759: [SCB-653]Transfer-Encoding and Content-Length can not be set to response

liubao68 closed pull request #759: [SCB-653]Transfer-Encoding and Content-Length can not be set to response
URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/759
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java
index 9a3769b88..81e6fc925 100644
--- a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java
+++ b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java
@@ -205,7 +205,8 @@ protected void sendResponse(Response response) {
     if (response.getHeaders().getHeaderMap() != null) {
       for (Entry<String, List<Object>> entry : response.getHeaders().getHeaderMap().entrySet()) {
         for (Object value : entry.getValue()) {
-          if (!entry.getKey().equalsIgnoreCase(HttpHeaders.CONTENT_LENGTH)) {
+          if (!entry.getKey().equalsIgnoreCase(HttpHeaders.CONTENT_LENGTH)
+              && !entry.getKey().equalsIgnoreCase("Transfer-Encoding")) {
             responseEx.addHeader(entry.getKey(), String.valueOf(value));
           }
         }
diff --git a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/JaxrsClient.java b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/JaxrsClient.java
index 57eda6831..1ecf7f554 100644
--- a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/JaxrsClient.java
+++ b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/JaxrsClient.java
@@ -183,9 +183,12 @@ private static void testValidatorAddFail(RestTemplate template, String cseUrlPre
       isExcep = true;
       TestMgr.check(400, e.getStatus().getStatusCode());
       TestMgr.check(Status.BAD_REQUEST, e.getReasonPhrase());
+      // Message dependends on locale, so just check the short part.
+      // 'must be greater than or equal to 20', propertyPath=add.arg1, rootBeanClass=class org.apache.servicecomb.demo.jaxrs.server.Validator, messageTemplate='{javax.validation.constraints.Min.message}'}]]
+      // ignored
       TestMgr.check(
-          "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage='must be greater than or equal to 20', propertyPath=add.arg1, rootBeanClass=class org.apache.servicecomb.demo.jaxrs.server.Validator, messageTemplate='{javax.validation.constraints.Min.message}'}]]",
-          e.getErrorData());
+          "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage=",
+          e.getErrorData().toString().substring(0, "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage=".length()));
     }
 
     TestMgr.check(true, isExcep);
@@ -207,9 +210,10 @@ private static void testValidatorSayHiFail(RestTemplate template, String cseUrlP
       isExcep = true;
       TestMgr.check(400, e.getStatus().getStatusCode());
       TestMgr.check(Status.BAD_REQUEST, e.getReasonPhrase());
+      // Message dependends on locale, so just check the short part.
       TestMgr.check(
-          "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage='length must be between 3 and 2147483647', propertyPath=sayHi.arg0, rootBeanClass=class org.apache.servicecomb.demo.jaxrs.server.Validator, messageTemplate='{org.hibernate.validator.constraints.Length.message}'}]]",
-          e.getErrorData());
+          "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage=",
+          e.getErrorData().toString().substring(0, "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage=".length()));
     }
     TestMgr.check(true, isExcep);
   }
@@ -238,9 +242,10 @@ private static void testValidatorExchangeFail(RestTemplate template, String cseU
       isExcep = true;
       TestMgr.check(400, e.getStatus().getStatusCode());
       TestMgr.check(Status.BAD_REQUEST, e.getReasonPhrase());
+      // Message dependends on locale, so just check the short part.
       TestMgr.check(
-          "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage='must be less than or equal to 20', propertyPath=sayHello.arg0.age, rootBeanClass=class org.apache.servicecomb.demo.jaxrs.server.Validator, messageTemplate='{javax.validation.constraints.Max.message}'}]]",
-          e.getErrorData());
+          "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage=",
+          e.getErrorData().toString().substring(0, "CommonExceptionData [message=[ConstraintViolationImpl{interpolatedMessage=".length()));
     }
     TestMgr.check(true, isExcep);
   }
diff --git a/demo/demo-jaxrs/jaxrs-client/src/main/resources/microservice.yaml b/demo/demo-jaxrs/jaxrs-client/src/main/resources/microservice.yaml
index 35049a834..1559f5358 100644
--- a/demo/demo-jaxrs/jaxrs-client/src/main/resources/microservice.yaml
+++ b/demo/demo-jaxrs/jaxrs-client/src/main/resources/microservice.yaml
@@ -32,14 +32,14 @@ servicecomb:
       name: mycustomrule
     retryEnabled: true
     retryHandler: mycustomhandler
-cse:
+
   request:
-    timeout: 5000
+    timeout: 30000
     jaxrs:
-      timeout: 1000
+      timeout: 30000
       clientreqtimeout:
-        timeout: 150
+        timeout: 30000
         sayHello:
-          timeout: 100
+          timeout: 30000
         add:
-          timeout: 100
+          timeout: 1000
\ No newline at end of file
diff --git a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/RequestClientTimeOut.java b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/RequestClientTimeOut.java
index 83ec4c421..387165123 100644
--- a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/RequestClientTimeOut.java
+++ b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/RequestClientTimeOut.java
@@ -35,7 +35,7 @@
   @Path("/add")
   @POST
   public int add(@FormParam("a") int a, @FormParam("b") int b) throws InterruptedException {
-    Thread.sleep(1000);
+    Thread.sleep(2000);
     return a + b;
   }
 
diff --git a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
index 02061e8e3..9713069c3 100644
--- a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
+++ b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
@@ -48,10 +48,8 @@
 import org.apache.servicecomb.swagger.invocation.Response;
 import org.hamcrest.Matchers;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -105,13 +103,8 @@
   @Rule
   public ExpectedException expectedException = ExpectedException.none();
 
-  @AfterClass
-  public static void classTeardown() {
-    ArchaiusUtils.resetConfig();
-  }
-
-  @BeforeClass
-  public static void beforeCls() {
+  @Before
+  public void setUp() {
     ConfigUtil.installDynamicConfig();
     AbstractConfiguration configuration =
         (AbstractConfiguration) DynamicPropertyFactory.getBackingConfigurationSource();
@@ -122,10 +115,7 @@ public static void beforeCls() {
     configuration.addProperty("cse.loadbalance.serverListFilters", "a");
     configuration.addProperty("cse.loadbalance.serverListFilter.a.className",
         "org.apache.servicecomb.loadbalance.MyServerListFilterExt");
-  }
 
-  @Before
-  public void setUp() {
     new MockUp<Invocation>(invocation) {
       @Mock
       String getMicroserviceName() {
@@ -177,6 +167,7 @@ InstanceCacheManager getInstanceCacheManager() {
   public void teardown() {
     CseContext.getInstance().setTransportManager(null);
     RegistryUtils.setServiceRegistry(null);
+    ArchaiusUtils.resetConfig();
   }
 
   @Test
@@ -287,12 +278,7 @@ String getFlowsplitFilterPolicy(String microservice) {
 
   @Test
   public void setTransactionControlFilter_InvalidPolicy() {
-    new MockUp<Configuration>(Configuration.INSTANCE) {
-      @Mock
-      String getFlowsplitFilterPolicy(String microservice) {
-        return "InvalidPolicy";
-      }
-    };
+    ArchaiusUtils.setProperty("cse.loadbalance.ms.transactionControl.policy", "InvalidPolicy");
 
     expectedException.expect(Error.class);
     expectedException.expectMessage(Matchers.is("Fail to create instance of class: InvalidPolicy"));
@@ -332,6 +318,8 @@ String getFlowsplitFilterPolicy(String microservice) {
 
   @Test
   public void getOrCreateLoadBalancer() throws Exception {
+    LoadbalanceHandler handler = new LoadbalanceHandler();
+
     MicroserviceInstance instance = new MicroserviceInstance();
     instance.setInstanceId("id");
     instance.getEndpoints().add("rest://localhost:8080");


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services