[jira] [Updated] (SCB-575) Publish the Java doc of ServiceComb projects
[ https://issues.apache.org/jira/browse/SCB-575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang updated SCB-575: - Description: We should generate the API document and publish it to the website. * Aggregate the java doc * Submit the generated pages to ServiceComb website. was:We should generate the API document and publish it to the website. > Publish the Java doc of ServiceComb projects > > > Key: SCB-575 > URL: https://issues.apache.org/jira/browse/SCB-575 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis, Saga >Reporter: Willem Jiang >Assignee: Yang Bo >Priority: Major > Fix For: java-chassis-1.0.0-m2, saga-0.2.0 > > > We should generate the API document and publish it to the website. > * Aggregate the java doc > * Submit the generated pages to ServiceComb website. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-506) 服务治理相关的需要事件上报
[ https://issues.apache.org/jira/browse/SCB-506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478524#comment-16478524 ] ASF GitHub Bot commented on SCB-506: coveralls commented on issue #678: [SCB-506]服务治理相关的需要事件上报 URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/678#issuecomment-384615018 [![Coverage Status](https://coveralls.io/builds/17026195/badge)](https://coveralls.io/builds/17026195) Coverage decreased (-0.1%) to 87.261% when pulling **d08c751fea23364c603f7edf322ba3acfb9c7729 on xuyiyun0929:alarm** into **5348393b977f5e6a8eac87016dd1f969a7a1e6df on apache:master**. 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: us...@infra.apache.org > 服务治理相关的需要事件上报 > - > > Key: SCB-506 > URL: https://issues.apache.org/jira/browse/SCB-506 > Project: Apache ServiceComb > Issue Type: Task > Components: Java-Chassis >Reporter: xuyiyun >Assignee: xuyiyun >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > 如果发生服务降级 实例隔离 熔断等操作,业务监控系统需要能获取到对应的通知,方便集成 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (SCB-590) Update the validator version to latest(6.0.2)
sukesh created SCB-590: -- Summary: Update the validator version to latest(6.0.2) Key: SCB-590 URL: https://issues.apache.org/jira/browse/SCB-590 Project: Apache ServiceComb Issue Type: Task Components: Java-Chassis Affects Versions: java-chassis-1.0.0-m2 Reporter: sukesh Assignee: sukesh Fix For: java-chassis-1.0.0-m2 Update the validator and its dependent versions to latest -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (SCB-589) allow consumer upgrade before producer
wujimin created SCB-589: --- Summary: allow consumer upgrade before producer Key: SCB-589 URL: https://issues.apache.org/jira/browse/SCB-589 Project: Apache ServiceComb Issue Type: Task Components: Java-Chassis Reporter: wujimin Assignee: wujimin -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-353) Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义
[ https://issues.apache.org/jira/browse/SCB-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478494#comment-16478494 ] wujimin commented on SCB-353: - nobody can get p90/p99 except we record times of each invocation i'm not sure what the last decision. > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义 > --- > > Key: SCB-353 > URL: https://issues.apache.org/jira/browse/SCB-353 > Project: Apache ServiceComb > Issue Type: Task > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: renyingxin >Assignee: wujimin >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义,也就是类似[0,200),[200,400)这种时延分布的统计,平均时延可能会掩盖系统的部分问题,比如部分高延时,但是被正常平均值掩盖了 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-333) support for Java 8's LocalDate and LocalDateTime
[ https://issues.apache.org/jira/browse/SCB-333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang updated SCB-333: - Labels: newbie (was: ) > support for Java 8's LocalDate and LocalDateTime > > > Key: SCB-333 > URL: https://issues.apache.org/jira/browse/SCB-333 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Labels: newbie > Fix For: java-chassis-1.0.0-m2 > > > Currently, java chassis does not support Java 8's new Type LocalDate and > LocalDateTime. It seems the jackson is unable to deserialize LocalDate > because it does not have the default constructor. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-353) Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义
[ https://issues.apache.org/jira/browse/SCB-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478473#comment-16478473 ] Willem Jiang commented on SCB-353: -- [~wujimin] If we don't provide this feature, we can add some comments and close the JIRA for it. BTW, it looks like user can get the p90/p99 by using monitor backend. > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义 > --- > > Key: SCB-353 > URL: https://issues.apache.org/jira/browse/SCB-353 > Project: Apache ServiceComb > Issue Type: Task > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: renyingxin >Assignee: wujimin >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义,也就是类似[0,200),[200,400)这种时延分布的统计,平均时延可能会掩盖系统的部分问题,比如部分高延时,但是被正常平均值掩盖了 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-522) Compensation call could fail because of CompensationContext is instance related
[ https://issues.apache.org/jira/browse/SCB-522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang resolved SCB-522. -- Resolution: Won't Fix It's a design issue, we have to make the service stateless to provide the high availability. > Compensation call could fail because of CompensationContext is instance > related > --- > > Key: SCB-522 > URL: https://issues.apache.org/jira/browse/SCB-522 > Project: Apache ServiceComb > Issue Type: Bug > Components: Saga >Affects Versions: saga-0.1.0 >Reporter: haifeng niu >Assignee: Willem Jiang >Priority: Major > > It's a critical situation, I could not provide a test case. But I can explain > it with an example: > We deploy two service instance A and B with same codebase. We usually do this > for high available. > If A did some operation, CompensationContext of A will cache instance of > service bean, than later it would be used in compensation call if error > happens. > But if A crash, the coordinator (aka alpha) will call an backup service > instance, which is B, to compensate. Although there is no cached instance of > service bean in CompensationContext of B, so compensation fail. > We expect any instance of same service should process compensation > successfully, if it doesn't, it is a bug. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-548) Support Gracefully Shutdown
[ https://issues.apache.org/jira/browse/SCB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478465#comment-16478465 ] ASF GitHub Bot commented on SCB-548: wujimin commented on a change in pull request #693: [SCB-548] support gracefully shutdown URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/693#discussion_r188831625 ## File path: core/src/main/java/org/apache/servicecomb/core/SCBStatus.java ## @@ -0,0 +1,32 @@ +/* + * 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. + */ + +package org.apache.servicecomb.core; + +//DOWN -> STARTING -> UP -> STOPPING -> DOWN +public enum SCBStatus { + //Chassis is Down + DOWN, + //Chassis is Starting (progressing) + STARTING, + //Chassis is Running + UP, + //Chassis is Stopping (progressing) + STOPPING, + //Chassis Init Failed + FAILED Review comment: seems that uninit failed, will set status to FAILED. so what's your design? 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: us...@infra.apache.org > Support Gracefully Shutdown > --- > > Key: SCB-548 > URL: https://issues.apache.org/jira/browse/SCB-548 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > We did not implement gracefully shutdown yet: > ```java > // 当程序退出时,进行相关清理,注意:kill -9 {pid}下无效 > // 1. 去注册实例信息 > // TODO 服务优雅退出 > if (applicationContext instanceof AbstractApplicationContext) { > ((AbstractApplicationContext) > applicationContext).registerShutdownHook(); > } > ``` > > And had got an issue : > https://github.com/apache/incubator-servicecomb-java-chassis/issues/685 from > user. > So it's time we must do it and remove this TODO -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-522) Compensation call could fail because of CompensationContext is instance related
[ https://issues.apache.org/jira/browse/SCB-522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478464#comment-16478464 ] Willem Jiang commented on SCB-522: -- We could address this issue by making the service instance stateless, which means if the instance A crashed, we can still call the instance B compensation service for recovery. > Compensation call could fail because of CompensationContext is instance > related > --- > > Key: SCB-522 > URL: https://issues.apache.org/jira/browse/SCB-522 > Project: Apache ServiceComb > Issue Type: Bug > Components: Saga >Affects Versions: saga-0.1.0 >Reporter: haifeng niu >Priority: Major > > It's a critical situation, I could not provide a test case. But I can explain > it with an example: > We deploy two service instance A and B with same codebase. We usually do this > for high available. > If A did some operation, CompensationContext of A will cache instance of > service bean, than later it would be used in compensation call if error > happens. > But if A crash, the coordinator (aka alpha) will call an backup service > instance, which is B, to compensate. Although there is no cached instance of > service bean in CompensationContext of B, so compensation fail. > We expect any instance of same service should process compensation > successfully, if it doesn't, it is a bug. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (SCB-522) Compensation call could fail because of CompensationContext is instance related
[ https://issues.apache.org/jira/browse/SCB-522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang reassigned SCB-522: Assignee: Willem Jiang > Compensation call could fail because of CompensationContext is instance > related > --- > > Key: SCB-522 > URL: https://issues.apache.org/jira/browse/SCB-522 > Project: Apache ServiceComb > Issue Type: Bug > Components: Saga >Affects Versions: saga-0.1.0 >Reporter: haifeng niu >Assignee: Willem Jiang >Priority: Major > > It's a critical situation, I could not provide a test case. But I can explain > it with an example: > We deploy two service instance A and B with same codebase. We usually do this > for high available. > If A did some operation, CompensationContext of A will cache instance of > service bean, than later it would be used in compensation call if error > happens. > But if A crash, the coordinator (aka alpha) will call an backup service > instance, which is B, to compensate. Although there is no cached instance of > service bean in CompensationContext of B, so compensation fail. > We expect any instance of same service should process compensation > successfully, if it doesn't, it is a bug. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-522) Compensation call could fail because of CompensationContext is instance related
[ https://issues.apache.org/jira/browse/SCB-522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang updated SCB-522: - Fix Version/s: (was: saga-0.2.0) > Compensation call could fail because of CompensationContext is instance > related > --- > > Key: SCB-522 > URL: https://issues.apache.org/jira/browse/SCB-522 > Project: Apache ServiceComb > Issue Type: Bug > Components: Saga >Affects Versions: saga-0.1.0 >Reporter: haifeng niu >Priority: Major > > It's a critical situation, I could not provide a test case. But I can explain > it with an example: > We deploy two service instance A and B with same codebase. We usually do this > for high available. > If A did some operation, CompensationContext of A will cache instance of > service bean, than later it would be used in compensation call if error > happens. > But if A crash, the coordinator (aka alpha) will call an backup service > instance, which is B, to compensate. Although there is no cached instance of > service bean in CompensationContext of B, so compensation fail. > We expect any instance of same service should process compensation > successfully, if it doesn't, it is a bug. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-588) Set archetypes sourceEncoding to UTF-8
[ https://issues.apache.org/jira/browse/SCB-588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478463#comment-16478463 ] ASF GitHub Bot commented on SCB-588: coveralls commented on issue #710: [SCB-588] Set archetypes sourceEncoding to UTF-8 URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/710#issuecomment-389735091 [![Coverage Status](https://coveralls.io/builds/17025577/badge)](https://coveralls.io/builds/17025577) Coverage remained the same at 87.371% when pulling **12a8b582c5786072cd3b4ccaa711bd46aa9aca98 on zhengyangyong:SCB-588** into **61cda009b7ac8539364bd0f1d1855d804ea4dd27 on apache:master**. 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: us...@infra.apache.org > Set archetypes sourceEncoding to UTF-8 > -- > > Key: SCB-588 > URL: https://issues.apache.org/jira/browse/SCB-588 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > Need set archetypes sourceEncoding to utf-8,not follow system default encoding > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-548) Support Gracefully Shutdown
[ https://issues.apache.org/jira/browse/SCB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478461#comment-16478461 ] ASF GitHub Bot commented on SCB-548: wujimin commented on a change in pull request #693: [SCB-548] support gracefully shutdown URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/693#discussion_r188831121 ## File path: core/src/main/java/org/apache/servicecomb/core/SCBEngine.java ## @@ -0,0 +1,272 @@ +/* + * 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. + */ +package org.apache.servicecomb.core; + +import java.util.Collection; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +import org.apache.servicecomb.core.BootListener.BootEvent; +import org.apache.servicecomb.core.BootListener.EventType; +import org.apache.servicecomb.core.definition.loader.SchemaListenerManager; +import org.apache.servicecomb.core.endpoint.AbstractEndpointsCache; +import org.apache.servicecomb.core.event.InvocationFinishEvent; +import org.apache.servicecomb.core.event.InvocationStartEvent; +import org.apache.servicecomb.core.handler.HandlerConfigUtils; +import org.apache.servicecomb.core.provider.consumer.ConsumerProviderManager; +import org.apache.servicecomb.core.provider.producer.ProducerProviderManager; +import org.apache.servicecomb.core.transport.TransportManager; +import org.apache.servicecomb.foundation.common.event.EventManager; +import org.apache.servicecomb.foundation.vertx.VertxUtils; +import org.apache.servicecomb.serviceregistry.RegistryUtils; +import org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import com.google.common.eventbus.AllowConcurrentEvents; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; + +// TODO: should not depend on spring, that will make integration more flexible +public class SCBEngine { + private static final Logger LOGGER = LoggerFactory.getLogger(SCBEngine.class); + + private ProducerProviderManager producerProviderManager; + + private ConsumerProviderManager consumerProviderManager; + + private TransportManager transportManager; + + private SchemaListenerManager schemaListenerManager; + + private Collection bootListenerList; + + private final AtomicLong invocationStartedCounter = new AtomicLong(); + + private final AtomicLong invocationFinishedCounter = new AtomicLong(); + + private volatile SCBStatus status = SCBStatus.DOWN; + + public void setStatus(SCBStatus status) { +this.status = status; + } + + public SCBStatus getStatus() { +return status; + } + + private EventBus eventBus = EventManager.getEventBus(); + + private static final SCBEngine INSTANCE = new SCBEngine(); + + public static SCBEngine getInstance() { +return INSTANCE; + } + + public void setProducerProviderManager( + ProducerProviderManager producerProviderManager) { +this.producerProviderManager = producerProviderManager; + } + + public void setConsumerProviderManager( + ConsumerProviderManager consumerProviderManager) { +this.consumerProviderManager = consumerProviderManager; + } + + public TransportManager getTransportManager() { +return transportManager; + } + + public void setTransportManager(TransportManager transportManager) { +this.transportManager = transportManager; + } + + public void setSchemaListenerManager( + SchemaListenerManager schemaListenerManager) { +this.schemaListenerManager = schemaListenerManager; + } + + public Collection getBootListenerList() { +return bootListenerList; + } + + public void setBootListenerList(Collection bootListenerList) { +this.bootListenerList = bootListenerList; + } + + protected void triggerEvent(EventType eventType) { +BootEvent event = new BootEvent(); +event.setEventType(eventType); + +for (BootListener listener : bootListenerList) { + listener.onBootEvent(event); +} + } + + protected void safeTriggerEvent(EventType eventType) { +BootEvent event = new BootEvent(); +
[jira] [Resolved] (SCB-342) [pack] secure gRPC transport
[ https://issues.apache.org/jira/browse/SCB-342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang resolved SCB-342. -- Resolution: Fixed The patch is applied to the master branch, the document is updated. > [pack] secure gRPC transport > > > Key: SCB-342 > URL: https://issues.apache.org/jira/browse/SCB-342 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Affects Versions: saga-0.2.0 >Reporter: Eric Lee >Assignee: Yang Bo >Priority: Major > Fix For: saga-0.2.0 > > > As a user, I want to secure the transport between alpha and omega. > Configurations of security should be visible to developers. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Reopened] (SCB-50) Support to call the dubbo service
[ https://issues.apache.org/jira/browse/SCB-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang reopened SCB-50: - > Support to call the dubbo service > - > > Key: SCB-50 > URL: https://issues.apache.org/jira/browse/SCB-50 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > > to support calling dubbo services -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-50) Support to call the dubbo service
[ https://issues.apache.org/jira/browse/SCB-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang resolved SCB-50. - Resolution: Won't Fix > Support to call the dubbo service > - > > Key: SCB-50 > URL: https://issues.apache.org/jira/browse/SCB-50 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > > to support calling dubbo services -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (SCB-50) Support to call the dubbo service
[ https://issues.apache.org/jira/browse/SCB-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang closed SCB-50. --- Resolution: Fixed Fix Version/s: (was: saga-0.2.0) As we don't provide the proxy mode saga service for the user now, I just close this issue. > Support to call the dubbo service > - > > Key: SCB-50 > URL: https://issues.apache.org/jira/browse/SCB-50 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > > to support calling dubbo services -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-587) Fix archetypes readme
[ https://issues.apache.org/jira/browse/SCB-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478443#comment-16478443 ] ASF GitHub Bot commented on SCB-587: zhengyangyong commented on a change in pull request #709: [SCB-587] Fix archetypes readme URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/709#discussion_r188829748 ## File path: archetypes/README.md ## @@ -46,6 +46,7 @@ mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -Dar In console Interactive mode, input your GroupId, ArtifactId and Version of new project(module), after a while the new project will be generated. *Notice: We will publish these archetypes to maven center repository since 1.0.0-m2, if you would like to use an archetype from an unreleased version : * + ```bash -mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=${archetype-version} -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group +mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=1.0.0-m2-SNAPSHOT -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group Review comment: Encoding problem PR : https://github.com/apache/incubator-servicecomb-java-chassis/pull/710 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: us...@infra.apache.org > Fix archetypes readme > - > > Key: SCB-587 > URL: https://issues.apache.org/jira/browse/SCB-587 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In archetype readme.md,generate from SNAPSHOT repo command is : > mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=${archetype-version} > -DarchetypeRepository=[https://repository.apache.org/content/groups/snapshots-group] > > if version of archetype plugin is 3.0+, archetypeRepository had > deleted,[https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html] > We need replace it with : > mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate > -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=1.0.0-m2-SNAPSHOT > -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-50) Support to call the dubbo service
[ https://issues.apache.org/jira/browse/SCB-50?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478442#comment-16478442 ] Willem Jiang commented on SCB-50: - I think we can close this issue, as it is for invoke the services of Dubbo, not inject the transaction id with Dubbo. > Support to call the dubbo service > - > > Key: SCB-50 > URL: https://issues.apache.org/jira/browse/SCB-50 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > Fix For: saga-0.2.0 > > > to support calling dubbo services -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-393) Retry to request etcd too frequently when fail
[ https://issues.apache.org/jira/browse/SCB-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478435#comment-16478435 ] ASF GitHub Bot commented on SCB-393: codecov-io commented on issue #352: SCB-393 Retry to request etcd too frequently when fail URL: https://github.com/apache/incubator-servicecomb-service-center/pull/352#issuecomment-389732060 # [Codecov](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352?src=pr=h1) Report > Merging [#352](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352?src=pr=desc) into [master](https://codecov.io/gh/apache/incubator-servicecomb-service-center/commit/3618245c56360a24df606a7daf78586ac006dca3?src=pr=desc) will **increase** coverage by `0.02%`. > The diff coverage is `97.43%`. [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/graphs/tree.svg?token=GAaF7zrg8R=pr=650=150)](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352?src=pr=tree) ```diff @@Coverage Diff @@ ## master #352 +/- ## == + Coverage 69.88% 69.91% +0.02% == Files 18 18 Lines3420 3420 == + Hits 2390 2391 +1 Misses865 865 + Partials 165 164 -1 ``` | [Impacted Files](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352?src=pr=tree) | Coverage Δ | | |---|---|---| | [server/service/util/heartbeat\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC9oZWFydGJlYXRfdXRpbC5nbw==) | `80% <100%> (ø)` | :arrow_up: | | [server/service/util/microservice\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC9taWNyb3NlcnZpY2VfdXRpbC5nbw==) | `74.84% <100%> (ø)` | :arrow_up: | | [server/service/util/dependency.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC9kZXBlbmRlbmN5Lmdv) | `56.37% <100%> (ø)` | :arrow_up: | | [server/service/microservices.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvbWljcm9zZXJ2aWNlcy5nbw==) | `74.55% <100%> (ø)` | :arrow_up: | | [server/service/util/schema\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC9zY2hlbWFfdXRpbC5nbw==) | `87.5% <100%> (ø)` | :arrow_up: | | [server/service/util/domain\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC9kb21haW5fdXRpbC5nbw==) | `71.64% <100%> (ø)` | :arrow_up: | | [server/service/util/rule\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC9ydWxlX3V0aWwuZ28=) | `67.5% <100%> (ø)` | :arrow_up: | | [server/service/util/tag\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC90YWdfdXRpbC5nbw==) | `65.51% <100%> (ø)` | :arrow_up: | | [server/service/schema.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2Uvc2NoZW1hLmdv) | `75% <100%> (ø)` | :arrow_up: | | [server/service/util/instance\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC9pbnN0YW5jZV91dGlsLmdv) | `48.36% <88.88%> (ø)` | :arrow_up: | | ... and [1 more](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352/diff?src=pr=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352?src=pr=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352?src=pr=footer). Last update [3618245...7ff4463](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/352?src=pr=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use
[jira] [Commented] (SCB-393) Retry to request etcd too frequently when fail
[ https://issues.apache.org/jira/browse/SCB-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478434#comment-16478434 ] ASF GitHub Bot commented on SCB-393: coveralls commented on issue #352: SCB-393 Retry to request etcd too frequently when fail URL: https://github.com/apache/incubator-servicecomb-service-center/pull/352#issuecomment-389720468 [![Coverage Status](https://coveralls.io/builds/17025456/badge)](https://coveralls.io/builds/17025456) Coverage increased (+0.1%) to 73.468% when pulling **7ff446331fbd29df31dcaeb78270cf06c07d7b47 on little-cui:master** into **3618245c56360a24df606a7daf78586ac006dca3 on apache:master**. 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: us...@infra.apache.org > Retry to request etcd too frequently when fail > -- > > Key: SCB-393 > URL: https://issues.apache.org/jira/browse/SCB-393 > Project: Apache ServiceComb > Issue Type: Bug > Components: Service-Center >Reporter: little-cui >Assignee: little-cui >Priority: Major > Fix For: service-center-1.0.0-m2 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-548) Support Gracefully Shutdown
[ https://issues.apache.org/jira/browse/SCB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478436#comment-16478436 ] ASF GitHub Bot commented on SCB-548: zhengyangyong commented on a change in pull request #693: [SCB-548] support gracefully shutdown URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/693#discussion_r188829358 ## File path: core/src/main/java/org/apache/servicecomb/core/SCBEngine.java ## @@ -0,0 +1,272 @@ +/* + * 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. + */ +package org.apache.servicecomb.core; + +import java.util.Collection; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +import org.apache.servicecomb.core.BootListener.BootEvent; +import org.apache.servicecomb.core.BootListener.EventType; +import org.apache.servicecomb.core.definition.loader.SchemaListenerManager; +import org.apache.servicecomb.core.endpoint.AbstractEndpointsCache; +import org.apache.servicecomb.core.event.InvocationFinishEvent; +import org.apache.servicecomb.core.event.InvocationStartEvent; +import org.apache.servicecomb.core.handler.HandlerConfigUtils; +import org.apache.servicecomb.core.provider.consumer.ConsumerProviderManager; +import org.apache.servicecomb.core.provider.producer.ProducerProviderManager; +import org.apache.servicecomb.core.transport.TransportManager; +import org.apache.servicecomb.foundation.common.event.EventManager; +import org.apache.servicecomb.foundation.vertx.VertxUtils; +import org.apache.servicecomb.serviceregistry.RegistryUtils; +import org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import com.google.common.eventbus.AllowConcurrentEvents; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; + +// TODO: should not depend on spring, that will make integration more flexible +public class SCBEngine { + private static final Logger LOGGER = LoggerFactory.getLogger(SCBEngine.class); + + private ProducerProviderManager producerProviderManager; + + private ConsumerProviderManager consumerProviderManager; + + private TransportManager transportManager; + + private SchemaListenerManager schemaListenerManager; + + private Collection bootListenerList; + + private final AtomicLong invocationStartedCounter = new AtomicLong(); + + private final AtomicLong invocationFinishedCounter = new AtomicLong(); + + private volatile SCBStatus status = SCBStatus.DOWN; + + public void setStatus(SCBStatus status) { +this.status = status; + } + + public SCBStatus getStatus() { +return status; + } + + private EventBus eventBus = EventManager.getEventBus(); + + private static final SCBEngine INSTANCE = new SCBEngine(); + + public static SCBEngine getInstance() { +return INSTANCE; + } + + public void setProducerProviderManager( + ProducerProviderManager producerProviderManager) { +this.producerProviderManager = producerProviderManager; + } + + public void setConsumerProviderManager( + ConsumerProviderManager consumerProviderManager) { +this.consumerProviderManager = consumerProviderManager; + } + + public TransportManager getTransportManager() { +return transportManager; + } + + public void setTransportManager(TransportManager transportManager) { +this.transportManager = transportManager; + } + + public void setSchemaListenerManager( + SchemaListenerManager schemaListenerManager) { +this.schemaListenerManager = schemaListenerManager; + } + + public Collection getBootListenerList() { +return bootListenerList; + } + + public void setBootListenerList(Collection bootListenerList) { +this.bootListenerList = bootListenerList; + } + + protected void triggerEvent(EventType eventType) { +BootEvent event = new BootEvent(); +event.setEventType(eventType); + +for (BootListener listener : bootListenerList) { + listener.onBootEvent(event); +} + } + + protected void safeTriggerEvent(EventType eventType) { +BootEvent event = new BootEvent(); +
[jira] [Commented] (SCB-588) Set archetypes sourceEncoding to UTF-8
[ https://issues.apache.org/jira/browse/SCB-588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478427#comment-16478427 ] ASF GitHub Bot commented on SCB-588: zhengyangyong opened a new pull request #710: [SCB-588] Set archetypes sourceEncoding to UTF-8 URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/710 Signed-off-by: zhengyangyongFollow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- 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: us...@infra.apache.org > Set archetypes sourceEncoding to UTF-8 > -- > > Key: SCB-588 > URL: https://issues.apache.org/jira/browse/SCB-588 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > Need set archetypes sourceEncoding to utf-8,not follow system default encoding > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-548) Support Gracefully Shutdown
[ https://issues.apache.org/jira/browse/SCB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478426#comment-16478426 ] ASF GitHub Bot commented on SCB-548: wujimin commented on a change in pull request #693: [SCB-548] support gracefully shutdown URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/693#discussion_r188827460 ## File path: core/src/main/java/org/apache/servicecomb/core/SCBEngine.java ## @@ -0,0 +1,272 @@ +/* + * 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. + */ +package org.apache.servicecomb.core; + +import java.util.Collection; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +import org.apache.servicecomb.core.BootListener.BootEvent; +import org.apache.servicecomb.core.BootListener.EventType; +import org.apache.servicecomb.core.definition.loader.SchemaListenerManager; +import org.apache.servicecomb.core.endpoint.AbstractEndpointsCache; +import org.apache.servicecomb.core.event.InvocationFinishEvent; +import org.apache.servicecomb.core.event.InvocationStartEvent; +import org.apache.servicecomb.core.handler.HandlerConfigUtils; +import org.apache.servicecomb.core.provider.consumer.ConsumerProviderManager; +import org.apache.servicecomb.core.provider.producer.ProducerProviderManager; +import org.apache.servicecomb.core.transport.TransportManager; +import org.apache.servicecomb.foundation.common.event.EventManager; +import org.apache.servicecomb.foundation.vertx.VertxUtils; +import org.apache.servicecomb.serviceregistry.RegistryUtils; +import org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import com.google.common.eventbus.AllowConcurrentEvents; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; + +// TODO: should not depend on spring, that will make integration more flexible +public class SCBEngine { + private static final Logger LOGGER = LoggerFactory.getLogger(SCBEngine.class); + + private ProducerProviderManager producerProviderManager; + + private ConsumerProviderManager consumerProviderManager; + + private TransportManager transportManager; + + private SchemaListenerManager schemaListenerManager; + + private Collection bootListenerList; + + private final AtomicLong invocationStartedCounter = new AtomicLong(); + + private final AtomicLong invocationFinishedCounter = new AtomicLong(); + + private volatile SCBStatus status = SCBStatus.DOWN; + + public void setStatus(SCBStatus status) { +this.status = status; + } + + public SCBStatus getStatus() { +return status; + } + + private EventBus eventBus = EventManager.getEventBus(); + + private static final SCBEngine INSTANCE = new SCBEngine(); + + public static SCBEngine getInstance() { +return INSTANCE; + } + + public void setProducerProviderManager( + ProducerProviderManager producerProviderManager) { +this.producerProviderManager = producerProviderManager; + } + + public void setConsumerProviderManager( + ConsumerProviderManager consumerProviderManager) { +this.consumerProviderManager = consumerProviderManager; + } + + public TransportManager getTransportManager() { +return transportManager; + } + + public void setTransportManager(TransportManager transportManager) { +this.transportManager = transportManager; + } + + public void setSchemaListenerManager( + SchemaListenerManager schemaListenerManager) { +this.schemaListenerManager = schemaListenerManager; + } + + public Collection getBootListenerList() { +return bootListenerList; + } + + public void setBootListenerList(Collection bootListenerList) { +this.bootListenerList = bootListenerList; + } + + protected void triggerEvent(EventType eventType) { +BootEvent event = new BootEvent(); +event.setEventType(eventType); + +for (BootListener listener : bootListenerList) { + listener.onBootEvent(event); +} + } + + protected void safeTriggerEvent(EventType eventType) { +BootEvent event = new BootEvent(); +
[jira] [Commented] (SCB-582) Provide a way to protection for instance removal
[ https://issues.apache.org/jira/browse/SCB-582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478420#comment-16478420 ] ASF GitHub Bot commented on SCB-582: liubao68 commented on a change in pull request #704: [SCB-582]Provide a way to protect instance removal URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/704#discussion_r188826558 ## File path: service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/SimpleMicroserviceInstancePing.java ## @@ -0,0 +1,47 @@ +/* + * 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. + */ +package org.apache.servicecomb.serviceregistry.consumer; + +import java.io.IOException; +import java.net.Socket; + +import org.apache.servicecomb.foundation.common.net.IpPort; +import org.apache.servicecomb.foundation.common.net.NetUtils; +import org.apache.servicecomb.serviceregistry.api.registry.MicroserviceInstance; + +/** + * Simple implementation of .MicroserviceInstancePing using telnet + */ +public class SimpleMicroserviceInstancePing implements MicroserviceInstancePing { + @Override + public int getOrder() { +return 100; + } + + @Override + public boolean ping(MicroserviceInstance instance) { +if (instance.getEndpoints() != null && instance.getEndpoints().size() > 0) { + IpPort ipPort = NetUtils.parseIpPortFromURI(instance.getEndpoints().get(0)); + try (Socket s = new Socket(ipPort.getHostOrIp(), ipPort.getPort())) { Review comment: I have think this problem very carefully. This mechanism only work when client get empty instances list, and we face this problem due to service center bugs, unexpected start/stop of microservices and service center, and other network failures not properly handled. In theory, these problems should be properly handled and SDK do not need to care about it, but It happens very frequently. So we add this mechanism to make SDK itself more stable in bad circumstances. Since SDK will query instances periodically, after there are instances, no problem for your mentioned scenario. And if even your scenario happens(rarely), this time, to consumer both of them are failures(no instance vs send to wrong destination). This time is very short and acceptable. And ping logic is extensible by users, they may cover the problem too. 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: us...@infra.apache.org > Provide a way to protection for instance removal > > > Key: SCB-582 > URL: https://issues.apache.org/jira/browse/SCB-582 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Java-Chassis >Reporter: liubao >Assignee: liubao >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In some applications, each microservice have fixed instances and rarely > change. But for some reason, heartbeat to service center is not stable. In > this scenario, instances will get lost and result in invocation failure. > > To deal with this problem, we need to provide a way to protect instance > removal. That's when there is instance removal, we first check(ping)the > instance to see if it is reachable. If it's reachable, we don't remove it. > > Since this protection is not fit for docker applications or scenarios where > instances are constantly removed and added, and resources(hosts ,ip, port) > are reused, this feature is an optional feature and users can open it when > necessary. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-582) Provide a way to protection for instance removal
[ https://issues.apache.org/jira/browse/SCB-582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478417#comment-16478417 ] ASF GitHub Bot commented on SCB-582: liubao68 commented on a change in pull request #704: [SCB-582]Provide a way to protect instance removal URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/704#discussion_r188826558 ## File path: service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/SimpleMicroserviceInstancePing.java ## @@ -0,0 +1,47 @@ +/* + * 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. + */ +package org.apache.servicecomb.serviceregistry.consumer; + +import java.io.IOException; +import java.net.Socket; + +import org.apache.servicecomb.foundation.common.net.IpPort; +import org.apache.servicecomb.foundation.common.net.NetUtils; +import org.apache.servicecomb.serviceregistry.api.registry.MicroserviceInstance; + +/** + * Simple implementation of .MicroserviceInstancePing using telnet + */ +public class SimpleMicroserviceInstancePing implements MicroserviceInstancePing { + @Override + public int getOrder() { +return 100; + } + + @Override + public boolean ping(MicroserviceInstance instance) { +if (instance.getEndpoints() != null && instance.getEndpoints().size() > 0) { + IpPort ipPort = NetUtils.parseIpPortFromURI(instance.getEndpoints().get(0)); + try (Socket s = new Socket(ipPort.getHostOrIp(), ipPort.getPort())) { Review comment: I have think this problem very carefully. This mechanism only work when client get empty instances list, and we face this problem due to service center bugs, unexpected start/stop of microservices and service center, and other network failures not properly handled. In theory, these problems should be properly handled and SDK do not need to care about it, but It happens very frequently. So we add this mechanism to make SDK itself more stable in bad circumstances. Since SDK will query instances periodically, after there are instances, no problem for your mentioned scenario. And if even your scenario happens(rarely), this time, to consumer both of them are failures(no instance vs send to wrong destination). This time is very short and acceptable. 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: us...@infra.apache.org > Provide a way to protection for instance removal > > > Key: SCB-582 > URL: https://issues.apache.org/jira/browse/SCB-582 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Java-Chassis >Reporter: liubao >Assignee: liubao >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In some applications, each microservice have fixed instances and rarely > change. But for some reason, heartbeat to service center is not stable. In > this scenario, instances will get lost and result in invocation failure. > > To deal with this problem, we need to provide a way to protect instance > removal. That's when there is instance removal, we first check(ping)the > instance to see if it is reachable. If it's reachable, we don't remove it. > > Since this protection is not fit for docker applications or scenarios where > instances are constantly removed and added, and resources(hosts ,ip, port) > are reused, this feature is an optional feature and users can open it when > necessary. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-548) Support Gracefully Shutdown
[ https://issues.apache.org/jira/browse/SCB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478418#comment-16478418 ] ASF GitHub Bot commented on SCB-548: coveralls commented on issue #693: [SCB-548] support gracefully shutdown URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/693#issuecomment-387664923 [![Coverage Status](https://coveralls.io/builds/17025268/badge)](https://coveralls.io/builds/17025268) Coverage decreased (-0.3%) to 87.068% when pulling **7e2cbd6a0f10d921f509f994e75f637285ee6f79 on zhengyangyong:SCB-548** into **5c29a7cd224e788cb357e8c640a5f3473ceb0209 on apache:master**. 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: us...@infra.apache.org > Support Gracefully Shutdown > --- > > Key: SCB-548 > URL: https://issues.apache.org/jira/browse/SCB-548 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > We did not implement gracefully shutdown yet: > ```java > // 当程序退出时,进行相关清理,注意:kill -9 {pid}下无效 > // 1. 去注册实例信息 > // TODO 服务优雅退出 > if (applicationContext instanceof AbstractApplicationContext) { > ((AbstractApplicationContext) > applicationContext).registerShutdownHook(); > } > ``` > > And had got an issue : > https://github.com/apache/incubator-servicecomb-java-chassis/issues/685 from > user. > So it's time we must do it and remove this TODO -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (SCB-588) Set archetypes sourceEncoding to UTF-8
yangyongzheng created SCB-588: - Summary: Set archetypes sourceEncoding to UTF-8 Key: SCB-588 URL: https://issues.apache.org/jira/browse/SCB-588 Project: Apache ServiceComb Issue Type: Bug Components: Java-Chassis Affects Versions: java-chassis-1.0.0-m2 Reporter: yangyongzheng Assignee: yangyongzheng Fix For: java-chassis-1.0.0-m2 Need set archetypes sourceEncoding to utf-8,not follow system default encoding -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-580) When upload file size exceeds limitation of provider, consumer will return a confusing response
[ https://issues.apache.org/jira/browse/SCB-580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478414#comment-16478414 ] ASF GitHub Bot commented on SCB-580: wujimin commented on a change in pull request #702: [SCB-580] fix response of the upload file too large URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/702#discussion_r188826253 ## File path: transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java ## @@ -64,9 +70,106 @@ private void failureHandler(RoutingContext context) { e = cause; } } -restProducerInvocation.sendFailResponse(e); -// 走到这里,应该都是不可控制的异常,直接关闭连接 +// only when unexpected exception happens, it will run into here. +// the connection should be closed. +handleFailureAndClose(context, restProducerInvocation, e); + } + + /** + * Try to find out the failure information and send it in response. + */ + private void handleFailureAndClose(RoutingContext context, AbstractRestInvocation restProducerInvocation, + Throwable e) { +if (null != restProducerInvocation) { + // if there is restProducerInvocation, let it send exception in response. The exception is allowed to be null. + sendFailResponseByInvocation(context, restProducerInvocation, e); + return; +} + +if (null != e) { + // if there exists exception, try to send this exception by RoutingContext + sendExceptionByRoutingContext(context, e); + return; +} + +// if there is no exception, the response is determined by status code. +sendFailureRespDeterminedByStatus(context); + } + + /** + * Try to determine response by status code, and send response. + */ + private void sendFailureRespDeterminedByStatus(RoutingContext context) { +Family statusFamily = Family.familyOf(context.statusCode()); +if (Family.CLIENT_ERROR.equals(statusFamily) || Family.SERVER_ERROR.equals(statusFamily) || Family.OTHER +.equals(statusFamily)) { + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(context.statusCode()).end(); +} else { + // it seems the status code is not set properly + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()) + .setStatusMessage(Status.INTERNAL_SERVER_ERROR.getReasonPhrase()) + .end(wrapResponseBody(Status.INTERNAL_SERVER_ERROR.getReasonPhrase())); +} +context.response().close(); + } + + /** + * Use routingContext to send failure information in throwable. + */ + private void sendExceptionByRoutingContext(RoutingContext context, Throwable e) { +if (InvocationException.class.isInstance(e)) { + InvocationException invocationException = (InvocationException) e; + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(invocationException.getStatusCode()).setStatusMessage(invocationException.getReasonPhrase()) + .end(wrapResponseBody(invocationException.getReasonPhrase())); +} else { + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()).end(wrapResponseBody(e.getMessage())); +} +context.response().close(); + } + + /** + * Consumer will treat the response body as json by default, so it's necessary to wrap response body as Json string + * to avoid deserialization error. + * + * @param message response body + * @return response body wrapped as Json string + */ + String wrapResponseBody(String message) { +if (isValidJson(message)) { + return message; +} + +JsonObject jsonObject = new JsonObject(); +jsonObject.put("message", message); + +return jsonObject.toString(); Review comment: ok because your last commit just return a string, now return a CommonExceptionData structure, so i have this question 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: us...@infra.apache.org > When upload file size exceeds limitation of provider, consumer will return a > confusing response > --- > > Key: SCB-580 > URL: https://issues.apache.org/jira/browse/SCB-580 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: YaoHaishi >Assignee: YaoHaishi >Priority: Major >
[jira] [Updated] (SCB-206) Support @Api to specify produces and consumes
[ https://issues.apache.org/jira/browse/SCB-206?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] YaoHaishi updated SCB-206: -- Fix Version/s: (was: java-chassis-1.0.0-m2) Java-chassis-1.0.0 > Support @Api to specify produces and consumes > - > > Key: SCB-206 > URL: https://issues.apache.org/jira/browse/SCB-206 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Reporter: YaoHaishi >Assignee: YaoHaishi >Priority: Trivial > Fix For: Java-chassis-1.0.0 > > > At present, ServiceComb only process the `tags` of > io.swagger.annotations.Api. If user specify produces and consumes in `@Api`, > nothing will happen. > The support to these two fields should be added if necessary. The hierarchy > relationship of `SwaggerDefinition`, `Api`, `ApiOperation` is that `Api` > overrides `SwaggerDefinition`, `ApiOperation` overrides `Api`. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-175) Provide accesslog for the microservice
[ https://issues.apache.org/jira/browse/SCB-175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] YaoHaishi updated SCB-175: -- Fix Version/s: (was: java-chassis-1.0.0-m2) Java-chassis-1.0.0 > Provide accesslog for the microservice > --- > > Key: SCB-175 > URL: https://issues.apache.org/jira/browse/SCB-175 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Java-Chassis >Reporter: YaoHaishi >Assignee: YaoHaishi >Priority: Minor > Fix For: Java-chassis-1.0.0 > > > As a SDK user, I need to record accesslog so that I can record all of my > access in each microservice for the debugging purpose > moved from [https://servicecomb.atlassian.net/browse/JAV-561] > 1.provide a mechanism to generate traceId > 2.create a new project, inherit from http header or init tranceId in > invocation context, event not use trace like zipkin/pinpoint/apm and so on. > 3.accessLog for consumer and producer ,both include traceId -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-393) Retry to request etcd too frequently when fail
[ https://issues.apache.org/jira/browse/SCB-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478379#comment-16478379 ] ASF GitHub Bot commented on SCB-393: coveralls commented on issue #352: SCB-393 Retry to request etcd too frequently when fail URL: https://github.com/apache/incubator-servicecomb-service-center/pull/352#issuecomment-389720468 [![Coverage Status](https://coveralls.io/builds/17024811/badge)](https://coveralls.io/builds/17024811) Coverage increased (+0.05%) to 73.415% when pulling **9078caef59b40d3a624d0c3d3d35326a35e423c0 on little-cui:master** into **3618245c56360a24df606a7daf78586ac006dca3 on apache:master**. 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: us...@infra.apache.org > Retry to request etcd too frequently when fail > -- > > Key: SCB-393 > URL: https://issues.apache.org/jira/browse/SCB-393 > Project: Apache ServiceComb > Issue Type: Bug > Components: Service-Center >Reporter: little-cui >Assignee: little-cui >Priority: Major > Fix For: service-center-1.0.0-m2 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-353) Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义
[ https://issues.apache.org/jira/browse/SCB-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478367#comment-16478367 ] wujimin commented on SCB-353: - no, infact what customer want is not buckets, but p90/p99 and so on but implement buckets almost will not affect performance and implement pxx need to save times of each invocation, and sort them, will make performance bad. > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义 > --- > > Key: SCB-353 > URL: https://issues.apache.org/jira/browse/SCB-353 > Project: Apache ServiceComb > Issue Type: Task > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: renyingxin >Assignee: wujimin >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义,也就是类似[0,200),[200,400)这种时延分布的统计,平均时延可能会掩盖系统的部分问题,比如部分高延时,但是被正常平均值掩盖了 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-393) Retry to request etcd too frequently when fail
[ https://issues.apache.org/jira/browse/SCB-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478362#comment-16478362 ] ASF GitHub Bot commented on SCB-393: little-cui opened a new pull request #352: SCB-393 Retry to request etcd too frequently when fail URL: https://github.com/apache/incubator-servicecomb-service-center/pull/352 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `go build` `go test` `go fmt` `go vet` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- 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: us...@infra.apache.org > Retry to request etcd too frequently when fail > -- > > Key: SCB-393 > URL: https://issues.apache.org/jira/browse/SCB-393 > Project: Apache ServiceComb > Issue Type: Bug > Components: Service-Center >Reporter: little-cui >Assignee: little-cui >Priority: Major > Fix For: service-center-1.0.0-m2 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-587) Fix archetypes readme
[ https://issues.apache.org/jira/browse/SCB-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478355#comment-16478355 ] ASF GitHub Bot commented on SCB-587: wujimin commented on a change in pull request #709: [SCB-587] Fix archetypes readme URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/709#discussion_r188818126 ## File path: archetypes/README.md ## @@ -46,6 +46,7 @@ mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -Dar In console Interactive mode, input your GroupId, ArtifactId and Version of new project(module), after a while the new project will be generated. *Notice: We will publish these archetypes to maven center repository since 1.0.0-m2, if you would like to use an archetype from an unreleased version : * + ```bash -mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=${archetype-version} -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group +mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=1.0.0-m2-SNAPSHOT -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group Review comment: ok, i see but maybe encoding is a problem. 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: us...@infra.apache.org > Fix archetypes readme > - > > Key: SCB-587 > URL: https://issues.apache.org/jira/browse/SCB-587 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In archetype readme.md,generate from SNAPSHOT repo command is : > mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=${archetype-version} > -DarchetypeRepository=[https://repository.apache.org/content/groups/snapshots-group] > > if version of archetype plugin is 3.0+, archetypeRepository had > deleted,[https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html] > We need replace it with : > mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate > -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=1.0.0-m2-SNAPSHOT > -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-587) Fix archetypes readme
[ https://issues.apache.org/jira/browse/SCB-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478337#comment-16478337 ] ASF GitHub Bot commented on SCB-587: zhengyangyong commented on a change in pull request #709: [SCB-587] Fix archetypes readme URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/709#discussion_r188814722 ## File path: archetypes/README.md ## @@ -46,6 +46,7 @@ mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -Dar In console Interactive mode, input your GroupId, ArtifactId and Version of new project(module), after a while the new project will be generated. *Notice: We will publish these archetypes to maven center repository since 1.0.0-m2, if you would like to use an archetype from an unreleased version : * + ```bash -mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=${archetype-version} -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group +mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=1.0.0-m2-SNAPSHOT -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group Review comment: mvn archetype:generate may use latest version 3.0+ of archetype-plugin,archetypeRepository had deleted,https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html 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: us...@infra.apache.org > Fix archetypes readme > - > > Key: SCB-587 > URL: https://issues.apache.org/jira/browse/SCB-587 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In archetype readme.md,generate from SNAPSHOT repo command is : > mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=${archetype-version} > -DarchetypeRepository=[https://repository.apache.org/content/groups/snapshots-group] > > if version of archetype plugin is 3.0+, archetypeRepository had > deleted,[https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html] > We need replace it with : > mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate > -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=1.0.0-m2-SNAPSHOT > -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-471) vertx upgrade causes use config center push mode error
[ https://issues.apache.org/jira/browse/SCB-471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478330#comment-16478330 ] Willem Jiang commented on SCB-471: -- [~laijianbin] Any update for this issue? > vertx upgrade causes use config center push mode error > --- > > Key: SCB-471 > URL: https://issues.apache.org/jira/browse/SCB-471 > Project: Apache ServiceComb > Issue Type: Task > Components: Java-Chassis >Reporter: laijianbin >Assignee: laijianbin >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-581) static data return instance count by domain
[ https://issues.apache.org/jira/browse/SCB-581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478327#comment-16478327 ] ASF GitHub Bot commented on SCB-581: little-cui closed pull request #350: SCB-581 static data return instance count by domain URL: https://github.com/apache/incubator-servicecomb-service-center/pull/350 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/server/core/proto/services.pb.go b/server/core/proto/services.pb.go index a2fc237f..fe5a3fd6 100644 --- a/server/core/proto/services.pb.go +++ b/server/core/proto/services.pb.go @@ -1,20 +1,3 @@ -/* - * 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. - */ - // Code generated by protoc-gen-go. DO NOT EDIT. // source: services.proto @@ -334,7 +317,8 @@ func (m *StService) GetOnlineCount() int64 { } type StInstance struct { - Count int64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"` + Count int64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"` + CountByDomain int64 `protobuf:"varint,2,opt,name=countByDomain" json:"countByDomain,omitempty"` } func (m *StInstance) Reset(){ *m = StInstance{} } @@ -349,6 +333,13 @@ func (m *StInstance) GetCount() int64 { return 0 } +func (m *StInstance) GetCountByDomain() int64 { + if m != nil { + return m.CountByDomain + } + return 0 +} + type StApp struct { Count int64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"` } @@ -4235,220 +4226,221 @@ var _GovernServiceCtrl_serviceDesc = grpc.ServiceDesc{ func init() { proto1.RegisterFile("services.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 3433 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5c, 0xdb, 0x8f, 0x1c, 0xc5, - 0xd5, 0x57, 0xcd, 0xce, 0xec, 0xec, 0x9c, 0xbd, 0xd8, 0x5b, 0xde, 0xf5, 0xb6, 0x07, 0x3e, 0x3e, - 0xab, 0x85, 0xf4, 0xf1, 0x80, 0xf6, 0x83, 0xe5, 0x03, 0xfc, 0x19, 0x1b, 0xb3, 0x17, 0x63, 0xaf, - 0xc1, 0xd8, 0xf4, 0x2c, 0x76, 0x80, 0x24, 0xa8, 0x77, 0xa6, 0x76, 0xa6, 0xf1, 0x4c, 0x77, 0xd3, - 0xdd, 0xb3, 0x66, 0xa4, 0x48, 0x11, 0x08, 0x12, 0x12, 0x12, 0x08, 0x4a, 0xf2, 0xc4, 0x43, 0xa2, - 0x24, 0x3c, 0x46, 0x4a, 0xa2, 0x48, 0x28, 0x42, 0x89, 0xa2, 0x44, 0x79, 0x83, 0xc7, 0x28, 0x4f, - 0xc9, 0x7b, 0xa4, 0xbc, 0xe5, 0x0f, 0x48, 0x54, 0x97, 0xee, 0xae, 0xbe, 0xec, 0x6e, 0x5f, 0xb6, - 0x41, 0x79, 0xda, 0xae, 0xea, 0xa9, 0x53, 0xe7, 0xd4, 0xb9, 0xd4, 0xa9, 0x5f, 0x9d, 0x6d, 0x58, - 0x70, 0x89, 0xb3, 0x6f, 0x74, 0x89, 0xbb, 0x6a, 0x3b, 0x96, 0x67, 0xe1, 0xff, 0xe9, 0x5a, 0xa3, - 0xd5, 0xc1, 0x58, 0xbf, 0x4b, 0x8c, 0x55, 0x5b, 0xd7, 0xdd, 0xd5, 0xae, 0x4b, 0x56, 0xc5, 0x6f, - 0x1c, 0xd2, 0x37, 0x5c, 0xcf, 0x99, 0xac, 0xea, 0xb6, 0xa1, 0x7e, 0x1d, 0x96, 0xae, 0x5b, 0x3d, - 0x63, 0x6f, 0xd2, 0xe9, 0x0e, 0xc8, 0x48, 0x77, 0x35, 0xf2, 0xda, 0x98, 0xb8, 0x1e, 0xbe, 0x17, - 0x5a, 0xe2, 0xe7, 0xdb, 0x3d, 0x05, 0x9d, 0x45, 0x0f, 0xb4, 0xb4, 0xb0, 0x03, 0x6f, 0x43, 0xd3, - 0xe5, 0xbf, 0x57, 0x6a, 0x67, 0xa7, 0x1e, 0x98, 0x5d, 0xfb, 0xdf, 0xd5, 0x8c, 0x13, 0xae, 0xf2, - 0x79, 0x34, 0x7f, 0xbc, 0x7a, 0x0b, 0xa6, 0x79, 0x17, 0x6e, 0xc3, 0x0c, 0xef, 0x0c, 0x66, 0x0c, - 0xda, 0x58, 0x81, 0xa6, 0x3b, 0x1e, 0x8d, 0x74, 0x67, 0xa2, 0xd4, 0xd8, 0x2b, 0xbf, 0x89, 0x4f, - 0xc3, 0x34, 0xff, 0x95, 0x32, 0xc5, 0x5e, 0x88, 0x96, 0xba, 0x07, 0xcb, 0x31, 0xc1, 0x5c, 0xdb, - 0x32, 0x5d, 0x82, 0xaf, 0xc3, 0x8c, 0x23, 0x9e, 0xd9, 0x34, 0xb3, 0x6b, 0x0f, 0x67, 0x66, 0xde, - 0x27, 0xa2, 0x05, 0x24, 0xd4, 0xd7, 0xe0, 0xd4, 0x55, 0xa2, 0x3b, 0xde, 0x2e, 0xd1, 0xbd, 0x0e, - 0xf1, 0xfc, 0xf5, 0x7b, 0x09, 0x5a, 0x86, 0xe9, 0x7a, 0xba, 0xd9, 0x25, 0xae, 0x82, 0xd8, 0x1a, - 0x5d, 0xc8, 0x3c, 0x8d, 0x4c, 0xf0, 0xf2, 0x90, 0x8c, 0x88, 0xe9, 0x69, 0x21, 0x39, 0xb5,
[jira] [Updated] (SCB-367) Fix LICENSE and NOTICE file issue of Service Center
[ https://issues.apache.org/jira/browse/SCB-367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang updated SCB-367: - Fix Version/s: (was: java-chassis-1.0.0-m2) service-center-1.0.0-m1 > Fix LICENSE and NOTICE file issue of Service Center > --- > > Key: SCB-367 > URL: https://issues.apache.org/jira/browse/SCB-367 > Project: Apache ServiceComb > Issue Type: Task > Components: Service-Center >Affects Versions: service-center-1.0.0-m1 >Reporter: Willem Jiang >Assignee: Yang Bo >Priority: Major > Fix For: service-center-1.0.0-m1 > > > As the [vote mail > |https://lists.apache.org/thread.html/c8dbb301c5d635226214248e5821f5e8abab9427f58bab714afaa65f@%3Cgeneral.incubator.apache.org%3E]from > Justin had point out, we need to fix the LICENSE and NOTICE issues > * LICENSE should include the bundled third part project's LICENSE > information > * We should keep NOTICE simple don't put every details into it. > * We need to provide different LICENSE and NOTICE file for the src and > binary release kits. > You can find more information about LICENSE and NOTICE > [here|http://www.apache.org/dev/licensing-howto.html] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-367) Fix LICENSE and NOTICE file issue of Service Center
[ https://issues.apache.org/jira/browse/SCB-367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang resolved SCB-367. -- Resolution: Fixed > Fix LICENSE and NOTICE file issue of Service Center > --- > > Key: SCB-367 > URL: https://issues.apache.org/jira/browse/SCB-367 > Project: Apache ServiceComb > Issue Type: Task > Components: Service-Center >Affects Versions: service-center-1.0.0-m1 >Reporter: Willem Jiang >Assignee: Yang Bo >Priority: Major > Fix For: service-center-1.0.0-m1 > > > As the [vote mail > |https://lists.apache.org/thread.html/c8dbb301c5d635226214248e5821f5e8abab9427f58bab714afaa65f@%3Cgeneral.incubator.apache.org%3E]from > Justin had point out, we need to fix the LICENSE and NOTICE issues > * LICENSE should include the bundled third part project's LICENSE > information > * We should keep NOTICE simple don't put every details into it. > * We need to provide different LICENSE and NOTICE file for the src and > binary release kits. > You can find more information about LICENSE and NOTICE > [here|http://www.apache.org/dev/licensing-howto.html] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-587) Fix archetypes readme
[ https://issues.apache.org/jira/browse/SCB-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478314#comment-16478314 ] ASF GitHub Bot commented on SCB-587: wujimin commented on a change in pull request #709: [SCB-587] Fix archetypes readme URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/709#discussion_r188812151 ## File path: archetypes/README.md ## @@ -46,6 +46,7 @@ mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -Dar In console Interactive mode, input your GroupId, ArtifactId and Version of new project(module), after a while the new project will be generated. *Notice: We will publish these archetypes to maven center repository since 1.0.0-m2, if you would like to use an archetype from an unreleased version : * + ```bash -mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=${archetype-version} -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group +mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=1.0.0-m2-SNAPSHOT -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group Review comment: by the old command, i succeeed to create project and run "mvn install" (just copy and run, did no change anything, even did not replace ${archetype-version} to be 1.0.0-m2-SNAPSHOT) so why we need to do this change? and maybe this is a problem: [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ aid --- [INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! [INFO] Compiling 3 source files to D:\aid\target\classes 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: us...@infra.apache.org > Fix archetypes readme > - > > Key: SCB-587 > URL: https://issues.apache.org/jira/browse/SCB-587 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In archetype readme.md,generate from SNAPSHOT repo command is : > mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=${archetype-version} > -DarchetypeRepository=[https://repository.apache.org/content/groups/snapshots-group] > > if version of archetype plugin is 3.0+, archetypeRepository had > deleted,[https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html] > We need replace it with : > mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate > -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=1.0.0-m2-SNAPSHOT > -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-350) Vertx ssl file config error execption approvement
[ https://issues.apache.org/jira/browse/SCB-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478310#comment-16478310 ] Willem Jiang commented on SCB-350: -- [~jeho0815] Any update for this issue? > Vertx ssl file config error execption approvement > - > > Key: SCB-350 > URL: https://issues.apache.org/jira/browse/SCB-350 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Reporter: jeho0815 >Assignee: jeho0815 >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > if use a custom ssl DemoSSLCustom, in the class we give a error cert file > path, the server will hange up and not show any help message, developer are > confused! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-353) Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义
[ https://issues.apache.org/jira/browse/SCB-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478309#comment-16478309 ] Willem Jiang commented on SCB-353: -- [~wujimin] Any update for this issue? Did we address this issue by refactoring the metrics? > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义 > --- > > Key: SCB-353 > URL: https://issues.apache.org/jira/browse/SCB-353 > Project: Apache ServiceComb > Issue Type: Task > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: renyingxin >Assignee: wujimin >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > Servicecomb当前性能统计不支持时延分布的统计,这个对于业务有重要意义,也就是类似[0,200),[200,400)这种时延分布的统计,平均时延可能会掩盖系统的部分问题,比如部分高延时,但是被正常平均值掩盖了 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-449) Typo in LICENSE
[ https://issues.apache.org/jira/browse/SCB-449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Willem Jiang resolved SCB-449. -- Resolution: Fixed The patch is merged into master branch. > Typo in LICENSE > --- > > Key: SCB-449 > URL: https://issues.apache.org/jira/browse/SCB-449 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Wang Kirin >Assignee: Yang Bo >Priority: Minor > Fix For: java-chassis-1.0.0-m2 > > > *in the last section of LICENSE file , it's* > > For > handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/HystrixCommandPropertiesExt.java > > This product bundles files from {color:#FF}swagger{color} which is > licensed under the Apache License v2. > For details, see [https://github.com/Netflix/Hystrix] > > *that should be* > > For > handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/HystrixCommandPropertiesExt.java > > This product bundles files from {color:#FF}hystrix {color}which is > licensed under the Apache License v2. > For details, see [https://github.com/Netflix/Hystrix] > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-178) Provide access log of highway
[ https://issues.apache.org/jira/browse/SCB-178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16478301#comment-16478301 ] Willem Jiang commented on SCB-178: -- [~YaoHaishi] is there any update for this issue? We need to figure out if we can finish it in java-chassis-1.0.0-m2 (at the end of this month). > Provide access log of highway > - > > Key: SCB-178 > URL: https://issues.apache.org/jira/browse/SCB-178 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: YaoHaishi >Assignee: YaoHaishi >Priority: Minor > Fix For: java-chassis-1.0.0-m2 > > > Provide highway access log similar to Tomcat access log -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-245) [pack] support to intercept dubbo's requests
[ https://issues.apache.org/jira/browse/SCB-245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477435#comment-16477435 ] ASF GitHub Bot commented on SCB-245: wuzunqian commented on a change in pull request #185: [SCB-245]: add acceptance test for dubbo demo URL: https://github.com/apache/incubator-servicecomb-saga/pull/185#discussion_r188628445 ## File path: omega/omega-transport/omega-transport-dubbo/src/test/java/SagaDubboProviderFilterTest.java ## @@ -45,7 +45,6 @@ @Before public void setUp() { omegaContext.clear(); -ApplicationContext applicationContext = mock(ApplicationContext.class); Review comment: yes, I have fix it at this commit : 2fda9f6, but The Travis CI build failed 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: us...@infra.apache.org > [pack] support to intercept dubbo's requests > > > Key: SCB-245 > URL: https://issues.apache.org/jira/browse/SCB-245 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Saga >Affects Versions: saga-0.2.0 >Reporter: Eric Lee >Assignee: wuzunqian >Priority: Minor > Fix For: saga-0.2.0 > > > as a sdk, I want to be able to intercept the incoming and outgoing requests > of apps developed by dubbo and inject the transaction ids in its header. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-587) Fix archetypes readme
[ https://issues.apache.org/jira/browse/SCB-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477284#comment-16477284 ] ASF GitHub Bot commented on SCB-587: coveralls commented on issue #709: [SCB-587] Fix archetypes readme URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/709#issuecomment-389490999 [![Coverage Status](https://coveralls.io/builds/17010314/badge)](https://coveralls.io/builds/17010314) Coverage increased (+0.005%) to 87.376% when pulling **96354f05addd301a76bf57a1d5fe3a56cb6f5ad8 on zhengyangyong:SCB-587** into **61cda009b7ac8539364bd0f1d1855d804ea4dd27 on apache:master**. 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: us...@infra.apache.org > Fix archetypes readme > - > > Key: SCB-587 > URL: https://issues.apache.org/jira/browse/SCB-587 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In archetype readme.md,generate from SNAPSHOT repo command is : > mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=${archetype-version} > -DarchetypeRepository=[https://repository.apache.org/content/groups/snapshots-group] > > if version of archetype plugin is 3.0+, archetypeRepository had > deleted,[https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html] > We need replace it with : > mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate > -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=1.0.0-m2-SNAPSHOT > -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-587) Fix archetypes readme
[ https://issues.apache.org/jira/browse/SCB-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477244#comment-16477244 ] ASF GitHub Bot commented on SCB-587: zhengyangyong opened a new pull request #709: SCB-587 Fix archetypes readme URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/709 Signed-off-by: zhengyangyongFollow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- update generate from snapshot repo command 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: us...@infra.apache.org > Fix archetypes readme > - > > Key: SCB-587 > URL: https://issues.apache.org/jira/browse/SCB-587 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > In archetype readme.md,generate from SNAPSHOT repo command is : > mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=${archetype-version} > -DarchetypeRepository=[https://repository.apache.org/content/groups/snapshots-group] > > if version of archetype plugin is 3.0+, archetypeRepository had > deleted,[https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html] > We need replace it with : > mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate > -DarchetypeGroupId=org.apache.servicecomb.archetypes > -DarchetypeArtifactId=business-service-jaxrs-archetype > -DarchetypeVersion=1.0.0-m2-SNAPSHOT > -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (SCB-587) Fix archetypes readme
yangyongzheng created SCB-587: - Summary: Fix archetypes readme Key: SCB-587 URL: https://issues.apache.org/jira/browse/SCB-587 Project: Apache ServiceComb Issue Type: Bug Components: Java-Chassis Affects Versions: java-chassis-1.0.0-m2 Reporter: yangyongzheng Assignee: yangyongzheng Fix For: java-chassis-1.0.0-m2 In archetype readme.md,generate from SNAPSHOT repo command is : mvn archetype:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=${archetype-version} -DarchetypeRepository=[https://repository.apache.org/content/groups/snapshots-group] if version of archetype plugin is 3.0+, archetypeRepository had deleted,[https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html] We need replace it with : mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=org.apache.servicecomb.archetypes -DarchetypeArtifactId=business-service-jaxrs-archetype -DarchetypeVersion=1.0.0-m2-SNAPSHOT -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477195#comment-16477195 ] ASF GitHub Bot commented on SCB-585: liubao68 commented on issue #708: [SCB-585]update README.md URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/708#issuecomment-389464118 This is a initialization commit, so I merge it without review. We can delete this branch freely if some problems found. 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key: SCB-585 > URL: https://issues.apache.org/jira/browse/SCB-585 > Project: Apache ServiceComb > Issue Type: Improvement >Reporter: liubao >Assignee: liubao >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477196#comment-16477196 ] ASF GitHub Bot commented on SCB-585: liubao68 closed pull request #708: [SCB-585]update README.md URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/708 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/README.md b/README.md index f29b1ebf3..c665f2b72 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,30 @@ -# Java Chassis -[![Build Status](https://travis-ci.org/apache/incubator-servicecomb-java-chassis.svg?branch=master)](https://travis-ci.org/apache/incubator-servicecomb-java-chassis?branch=master) [![Coverage Status](https://coveralls.io/repos/github/apache/incubator-servicecomb-java-chassis/badge.svg?branch=master)](https://coveralls.io/github/apache/incubator-servicecomb-java-chassis?branch=master) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.servicecomb/java-chassis-core/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Corg.apache.servicecomb) [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) +## 本项目是servicecomb-java-chassis开发指南。 -Apache ServiceComb (incubating) Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features +* [访问地址](https://huaweicse.github.io/servicecomb-java-chassis-doc) -## Quick Start +* 编辑 + 1. Fork本项目代码 + 2. 方式一:直接编辑docs-source里面的md源码 + 3. 方式二:下载[GitBook Editor](https://legacy.gitbook.com/editor)编辑 + 4. 提交PR -Provider service: -```java -import org.apache.servicecomb.*; -@RpcSchema(schemaId = "helloworld") -public class HelloWorldProvider implements HelloWorld { -public String sayHello(String name) { -return "Hello " + name; -} -} -``` +* 发布 + 1. 参考[GitBook安装指南](https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md),安装gitbook + 2. gitbook build . ./docs -Consumer service: -```java -import org.apache.servicecomb.*; -@Component -public class HelloWorldConsumer { - @RpcReference(microserviceName = "pojo", schemaId = "helloworld") - private static HelloWorld helloWorld; +## This project is the servicecomb-java-chassis developers guide - public static void main(String[] args) { - helloWorld.sayHello("Tank"); - } -} -``` +* [Web address](https://huaweicse.github.io/servicecomb-java-chassis-doc) -## Documentation +* Submit PR + 1. Fork this project + 2. Edit md source file, or + 3. Edit using [GitBook Editor](https://legacy.gitbook.com/editor) + 4. Submit PR -Project documentation is available on the [ServiceComb website][servicecomb-website]. +* Publish + 1. see [GitBook installation guide](https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md) + 2. gitbook build . ./docs -[servicecomb-website]: http://servicecomb.incubator.apache.org/ -## Building -You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8. - - mvn clean install - -If you want to build the release kits from the source - - mvn clean install -Prelease,distribution - -The first build may take a longer than expected as Maven downloads all the dependencies. - -## Automated Testing - - To build the docker image and run the integration tests with docker, you can use maven docker profile - - mvn clean install -Pdocker -Pit - - If you are using docker machine, please use the following command - - mvn clean install -Pdocker -Pit -Pdocker-machine - -## Contact - -Bugs: [issues](https://issues.apache.org/jira/browse/SCB) - -mailing list: [subscribe](mailto:dev-subscr...@servicecomb.incubator.apache.org) [dev](https://lists.apache.org/list.html?d...@servicecomb.apache.org) - - -## Contributing - -See CONTRIBUTING for details on submitting patches and the contribution workflow. - -## Reporting Issues - -See reporting bugs for details about reporting any issues. 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key:
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477193#comment-16477193 ] ASF GitHub Bot commented on SCB-585: liubao68 opened a new pull request #708: [SCB-585]update README.md URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/708 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key: SCB-585 > URL: https://issues.apache.org/jira/browse/SCB-585 > Project: Apache ServiceComb > Issue Type: Improvement >Reporter: liubao >Assignee: liubao >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-548) Support Gracefully Shutdown
[ https://issues.apache.org/jira/browse/SCB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477190#comment-16477190 ] ASF GitHub Bot commented on SCB-548: coveralls commented on issue #693: [SCB-548] support gracefully shutdown URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/693#issuecomment-387664923 [![Coverage Status](https://coveralls.io/builds/17008695/badge)](https://coveralls.io/builds/17008695) Coverage decreased (-0.5%) to 86.878% when pulling **7c464f4b859cdf9a39954cb6356ff1c93823df53 on zhengyangyong:SCB-548** into **5c29a7cd224e788cb357e8c640a5f3473ceb0209 on apache:master**. 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: us...@infra.apache.org > Support Gracefully Shutdown > --- > > Key: SCB-548 > URL: https://issues.apache.org/jira/browse/SCB-548 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Affects Versions: java-chassis-1.0.0-m2 >Reporter: yangyongzheng >Assignee: yangyongzheng >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > We did not implement gracefully shutdown yet: > ```java > // 当程序退出时,进行相关清理,注意:kill -9 {pid}下无效 > // 1. 去注册实例信息 > // TODO 服务优雅退出 > if (applicationContext instanceof AbstractApplicationContext) { > ((AbstractApplicationContext) > applicationContext).registerShutdownHook(); > } > ``` > > And had got an issue : > https://github.com/apache/incubator-servicecomb-java-chassis/issues/685 from > user. > So it's time we must do it and remove this TODO -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477174#comment-16477174 ] ASF GitHub Bot commented on SCB-585: liubao68 commented on issue #707: [SCB-585]change folder structure and add compiled pages URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/707#issuecomment-389460528 This is a initialization commit, so I merge it without review. We can delete this branch freely if some problems found. 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key: SCB-585 > URL: https://issues.apache.org/jira/browse/SCB-585 > Project: Apache ServiceComb > Issue Type: Improvement >Reporter: liubao >Assignee: liubao >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477173#comment-16477173 ] ASF GitHub Bot commented on SCB-585: liubao68 opened a new pull request #707: [SCB-585]change folder structure and add compiled pages URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/707 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key: SCB-585 > URL: https://issues.apache.org/jira/browse/SCB-585 > Project: Apache ServiceComb > Issue Type: Improvement >Reporter: liubao >Assignee: liubao >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-13) refactor service registry module
[ https://issues.apache.org/jira/browse/SCB-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477169#comment-16477169 ] Yang Bo commented on SCB-13: Perhaps we can just close it. > refactor service registry module > > > Key: SCB-13 > URL: https://issues.apache.org/jira/browse/SCB-13 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Labels: service-orchestration > Fix For: java-chassis-1.0.0-m2 > > > Currently, the service registry module in Java Chassis has the following > problems: > - Low level components access high level components frequently. The cyclic > relationships make the implementation complicated and introduce some > redundant access points. > - Low level components should be stateless to be reused by high level > components. Introducing state into low level components makes it relies > heavily on the high level components, causing cyclic relationships. > - Hard to integrate with third-party framework. It does not provide a > standalone client with cache capability inside. It also requires the > configurations should be loaded from dynamic properties. > Details: > [http://servicecomb.io/docs/service-registry-refactor-proposal/|http://servicecomb.io/docs/service-registry-refactor-proposal/] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477146#comment-16477146 ] ASF GitHub Bot commented on SCB-585: liubao68 commented on issue #706: [SCB-585]add ServiceComb-java-chassis reference guide to gh-pages branch URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/706#issuecomment-389453871 This is a initialization commit, so I merge it without review. We can delete this branch freely if some problems found. 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key: SCB-585 > URL: https://issues.apache.org/jira/browse/SCB-585 > Project: Apache ServiceComb > Issue Type: Improvement >Reporter: liubao >Assignee: liubao >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-13) refactor service registry module
[ https://issues.apache.org/jira/browse/SCB-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477145#comment-16477145 ] wujimin commented on SCB-13: infact, i can not understand what's this issue want to do .. > refactor service registry module > > > Key: SCB-13 > URL: https://issues.apache.org/jira/browse/SCB-13 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Labels: service-orchestration > Fix For: java-chassis-1.0.0-m2 > > > Currently, the service registry module in Java Chassis has the following > problems: > - Low level components access high level components frequently. The cyclic > relationships make the implementation complicated and introduce some > redundant access points. > - Low level components should be stateless to be reused by high level > components. Introducing state into low level components makes it relies > heavily on the high level components, causing cyclic relationships. > - Hard to integrate with third-party framework. It does not provide a > standalone client with cache capability inside. It also requires the > configurations should be loaded from dynamic properties. > Details: > [http://servicecomb.io/docs/service-registry-refactor-proposal/|http://servicecomb.io/docs/service-registry-refactor-proposal/] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-548) Support Gracefully Shutdown
[ https://issues.apache.org/jira/browse/SCB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477143#comment-16477143 ] ASF GitHub Bot commented on SCB-548: zhengyangyong commented on a change in pull request #693: [SCB-548] support gracefully shutdown URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/693#discussion_r188557220 ## File path: core/src/main/java/org/apache/servicecomb/core/SCBEngine.java ## @@ -0,0 +1,305 @@ +/* + * 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. + */ +package org.apache.servicecomb.core; + +import java.util.Collection; +import java.util.concurrent.Semaphore; +import java.util.concurrent.atomic.AtomicLong; + +import org.apache.servicecomb.core.BootListener.BootEvent; +import org.apache.servicecomb.core.BootListener.EventType; +import org.apache.servicecomb.core.definition.loader.SchemaListenerManager; +import org.apache.servicecomb.core.endpoint.AbstractEndpointsCache; +import org.apache.servicecomb.core.event.InvocationFinishEvent; +import org.apache.servicecomb.core.event.InvocationStartEvent; +import org.apache.servicecomb.core.handler.HandlerConfigUtils; +import org.apache.servicecomb.core.provider.consumer.ConsumerProviderManager; +import org.apache.servicecomb.core.provider.producer.ProducerProviderManager; +import org.apache.servicecomb.core.transport.TransportManager; +import org.apache.servicecomb.foundation.common.event.EventManager; +import org.apache.servicecomb.foundation.vertx.VertxUtils; +import org.apache.servicecomb.serviceregistry.RegistryUtils; +import org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import com.google.common.eventbus.AllowConcurrentEvents; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; + +// TODO: should not depend on spring, that will make integration more flexible +public class SCBEngine { + private static final Logger LOGGER = LoggerFactory.getLogger(SCBEngine.class); + + private ProducerProviderManager producerProviderManager; + + private ConsumerProviderManager consumerProviderManager; + + private TransportManager transportManager; + + private SchemaListenerManager schemaListenerManager; + + private Collection bootListenerList; + + private final AtomicLong invocationStartedCounter = new AtomicLong(); + + private final AtomicLong invocationFinishedCounter = new AtomicLong(); + + private final Semaphore allInvocationFinished = new Semaphore(1); + + private volatile SCBStatus status = SCBStatus.DOWN; + + public void setStatus(SCBStatus status) { +this.status = status; + } + + private EventBus eventBus = EventManager.getEventBus(); + + private static final SCBEngine INSTANCE = new SCBEngine(); + + public static SCBEngine getInstance() { +return INSTANCE; + } + + public void setProducerProviderManager( + ProducerProviderManager producerProviderManager) { +this.producerProviderManager = producerProviderManager; + } + + public void setConsumerProviderManager( + ConsumerProviderManager consumerProviderManager) { +this.consumerProviderManager = consumerProviderManager; + } + + public TransportManager getTransportManager() { +return transportManager; + } + + public void setTransportManager(TransportManager transportManager) { +this.transportManager = transportManager; + } + + public void setSchemaListenerManager( + SchemaListenerManager schemaListenerManager) { +this.schemaListenerManager = schemaListenerManager; + } + + public Collection getBootListenerList() { +return bootListenerList; + } + + public void setBootListenerList(Collection bootListenerList) { +this.bootListenerList = bootListenerList; + } + + protected void triggerEvent(EventType eventType) { +BootEvent event = new BootEvent(); +event.setEventType(eventType); + +for (BootListener listener : bootListenerList) { + listener.onBootEvent(event); +} + } + + protected void safeTriggerEvent(EventType eventType) { +BootEvent event = new
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477144#comment-16477144 ] ASF GitHub Bot commented on SCB-585: coveralls commented on issue #705: [SCB-585]add ServiceComb-java-chassis reference guide URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/705#issuecomment-389453179 [![Coverage Status](https://coveralls.io/builds/17008202/badge)](https://coveralls.io/builds/17008202) Coverage remained the same at 87.371% when pulling **a7cdc514f3376bdeae759b886121996b12d2d51d on liubao68:docs** into **61cda009b7ac8539364bd0f1d1855d804ea4dd27 on apache:master**. 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key: SCB-585 > URL: https://issues.apache.org/jira/browse/SCB-585 > Project: Apache ServiceComb > Issue Type: Improvement >Reporter: liubao >Assignee: liubao >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-580) When upload file size exceeds limitation of provider, consumer will return a confusing response
[ https://issues.apache.org/jira/browse/SCB-580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477140#comment-16477140 ] ASF GitHub Bot commented on SCB-580: yhs0092 commented on a change in pull request #702: [SCB-580] fix response of the upload file too large URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/702#discussion_r188556614 ## File path: transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java ## @@ -64,9 +70,106 @@ private void failureHandler(RoutingContext context) { e = cause; } } -restProducerInvocation.sendFailResponse(e); -// 走到这里,应该都是不可控制的异常,直接关闭连接 +// only when unexpected exception happens, it will run into here. +// the connection should be closed. +handleFailureAndClose(context, restProducerInvocation, e); + } + + /** + * Try to find out the failure information and send it in response. + */ + private void handleFailureAndClose(RoutingContext context, AbstractRestInvocation restProducerInvocation, + Throwable e) { +if (null != restProducerInvocation) { + // if there is restProducerInvocation, let it send exception in response. The exception is allowed to be null. + sendFailResponseByInvocation(context, restProducerInvocation, e); + return; +} + +if (null != e) { + // if there exists exception, try to send this exception by RoutingContext + sendExceptionByRoutingContext(context, e); + return; +} + +// if there is no exception, the response is determined by status code. +sendFailureRespDeterminedByStatus(context); + } + + /** + * Try to determine response by status code, and send response. + */ + private void sendFailureRespDeterminedByStatus(RoutingContext context) { +Family statusFamily = Family.familyOf(context.statusCode()); +if (Family.CLIENT_ERROR.equals(statusFamily) || Family.SERVER_ERROR.equals(statusFamily) || Family.OTHER +.equals(statusFamily)) { + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(context.statusCode()).end(); +} else { + // it seems the status code is not set properly + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()) + .setStatusMessage(Status.INTERNAL_SERVER_ERROR.getReasonPhrase()) + .end(wrapResponseBody(Status.INTERNAL_SERVER_ERROR.getReasonPhrase())); +} +context.response().close(); + } + + /** + * Use routingContext to send failure information in throwable. + */ + private void sendExceptionByRoutingContext(RoutingContext context, Throwable e) { +if (InvocationException.class.isInstance(e)) { + InvocationException invocationException = (InvocationException) e; + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(invocationException.getStatusCode()).setStatusMessage(invocationException.getReasonPhrase()) + .end(wrapResponseBody(invocationException.getReasonPhrase())); +} else { + context.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.WILDCARD) + .setStatusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()).end(wrapResponseBody(e.getMessage())); +} +context.response().close(); + } + + /** + * Consumer will treat the response body as json by default, so it's necessary to wrap response body as Json string + * to avoid deserialization error. + * + * @param message response body + * @return response body wrapped as Json string + */ + String wrapResponseBody(String message) { +if (isValidJson(message)) { + return message; +} + +JsonObject jsonObject = new JsonObject(); +jsonObject.put("message", message); + +return jsonObject.toString(); Review comment: Actually I have no idea about what kind of Json response should be written. But I find out that currently we wrap exception and write response like below, so I copy this pattern. ![](https://issues.apache.org/jira/secure/attachment/12923294/12923294_consumerResponse.PNG) 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: us...@infra.apache.org > When upload file size exceeds limitation of provider, consumer will return a > confusing response > --- > > Key: SCB-580 > URL: https://issues.apache.org/jira/browse/SCB-580 > Project: Apache ServiceComb >
[jira] [Commented] (SCB-586) Query providers api will return null when provider is removed
[ https://issues.apache.org/jira/browse/SCB-586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477132#comment-16477132 ] ASF GitHub Bot commented on SCB-586: asifdxtreme closed pull request #351: SCB-586 Query providers api will return null when provider is removed URL: https://github.com/apache/incubator-servicecomb-service-center/pull/351 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/.gitignore b/.gitignore index 855c6984..9923352a 100644 --- a/.gitignore +++ b/.gitignore @@ -14,9 +14,11 @@ vendor/** # for local UT server/service/conf/ +frontend/conf/ etc/data/ etc/ssl/ integration/conf/ frontend/bower_components/ frontend/node_modules/ server/govern/conf/ +tmp/ \ No newline at end of file diff --git a/scripts/release/make_release.sh b/scripts/release/make_release.sh index b7a18f1b..abc746ae 100755 --- a/scripts/release/make_release.sh +++ b/scripts/release/make_release.sh @@ -88,13 +88,11 @@ build_linux(){ export BUILD_NUMBER=$RELEASE GO_LDFLAGS="${GO_LDFLAGS} -X 'github.com/apache/incubator-servicecomb-service-center/version.BUILD_TAG=$(date +%Y%m%d%H%M%S).$BUILD_NUMBER.$GIT_COMMIT'" GO_LDFLAGS="${GO_LDFLAGS} -X 'github.com/apache/incubator-servicecomb-service-center/version.VERSION=$BUILD_NUMBER'" -go build --ldflags "${GO_LDFLAGS}" -o service-center -cp -r service-center $PACKAGE_PREFIX-$PACKAGE-linux-amd64 +go build --ldflags "${GO_LDFLAGS}" -o $PACKAGE_PREFIX-$PACKAGE-linux-amd64/service-center ## Build Frontend Release cd frontend -go build -o frontend -cp -r frontend ../$PACKAGE_PREFIX-$PACKAGE-linux-amd64 +go build -o ../$PACKAGE_PREFIX-$PACKAGE-linux-amd64/frontend cd .. prepare_conf @@ -116,7 +114,6 @@ build_linux(){ ## Archive the release tar -czvf $PACKAGE_PREFIX-$PACKAGE-linux-amd64.tar.gz $PACKAGE_PREFIX-$PACKAGE-linux-amd64 - } # Build Windows Release diff --git a/server/error/error.go b/server/error/error.go index a12662ca..aca44a0f 100644 --- a/server/error/error.go +++ b/server/error/error.go @@ -18,6 +18,7 @@ package error import ( "encoding/json" + "fmt" ) var errors = map[int32]string{ @@ -94,23 +95,23 @@ type Error struct { Detail string `json:"detail,omitempty"` } -func (e Error) Error() string { +func (e *Error) Error() string { if len(e.Detail) == 0 { return e.Message } return e.Message + "(" + e.Detail + ")" } -func (e Error) Marshal() []byte { +func (e *Error) Marshal() []byte { bs, _ := json.Marshal(e) return bs } -func (e Error) StatusCode() int { +func (e *Error) StatusCode() int { return int(e.Code / 1000) } -func (e Error) InternalError() bool { +func (e *Error) InternalError() bool { if e.Code >= 50 { return true } @@ -125,6 +126,10 @@ func NewError(code int32, detail string) *Error { } } +func NewErrorf(code int32, format string, args ...interface{}) *Error { + return NewError(code, fmt.Sprintf(format, args...)) +} + func RegisterErrors(errs map[int32]string) { for err, msg := range errs { if err < 40 || err >= 60 { diff --git a/server/error/error_test.go b/server/error/error_test.go index da0e6af5..1b61ff80 100644 --- a/server/error/error_test.go +++ b/server/error/error_test.go @@ -26,4 +26,50 @@ func TestError_StatusCode(t *testing.T) { if e.StatusCode() != http.StatusServiceUnavailable { t.Fatalf("TestError_StatusCode %v failed", e) } + + if !e.InternalError() { + t.Fatalf("TestInternalError failed") + } +} + +func TestNewError(t *testing.T) { + var err error + err = NewError(ErrInvalidParams, "test1") + if err == nil { + t.Fatalf("TestNewError failed") + } + err = NewErrorf(ErrInvalidParams, "%s", "test2") + if err == nil { + t.Fatalf("TestNewErrorf failed") + } + + if len(err.Error()) == 0 { + t.Fatalf("TestError failed") + } + + if len(err.(*Error).Marshal()) == 0 { + t.Fatalf("TestMarshal failed") + } + + if err.(*Error).StatusCode() != http.StatusBadRequest { + t.Fatalf("TestStatusCode failed, %d", err.(*Error).StatusCode()) + } + + if err.(*Error).InternalError() { + t.Fatalf("TestInternalError failed") + } + + err = NewErrorf(ErrInvalidParams, "") + if len(err.Error()) == 0 { + t.Fatalf("TestNewErrorf with empty detial failed") + } +} + +func TestRegisterErrors(t *testing.T) { +
[jira] [Resolved] (SCB-262) many groupId in pom file still start with io.servicecomb while sc package have been renamed as org.apache.servicecomb
[ https://issues.apache.org/jira/browse/SCB-262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-262. --- Resolution: Resolved > many groupId in pom file still start with io.servicecomb while sc package > have been renamed as org.apache.servicecomb > - > > Key: SCB-262 > URL: https://issues.apache.org/jira/browse/SCB-262 > Project: Apache ServiceComb > Issue Type: Bug > Components: website >Reporter: Bo Li >Priority: Major > > Need to update website description of groupId for pom file. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-274) As the Configuration support of Apollo and Configuration Center are quite similar, it doesn't make sense that we put these two module into different places and have differ
[ https://issues.apache.org/jira/browse/SCB-274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-274. --- Resolution: Resolved > As the Configuration support of Apollo and Configuration Center are quite > similar, it doesn't make sense that we put these two module into different > places and have different configuration codes. > > > Key: SCB-274 > URL: https://issues.apache.org/jira/browse/SCB-274 > Project: Apache ServiceComb > Issue Type: Task > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > Fix For: java-chassis-1.0.0-m1 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-13) refactor service registry module
[ https://issues.apache.org/jira/browse/SCB-13?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-13: --- Fix Version/s: java-chassis-1.0.0-m2 > refactor service registry module > > > Key: SCB-13 > URL: https://issues.apache.org/jira/browse/SCB-13 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Labels: service-orchestration > Fix For: java-chassis-1.0.0-m2 > > > Currently, the service registry module in Java Chassis has the following > problems: > - Low level components access high level components frequently. The cyclic > relationships make the implementation complicated and introduce some > redundant access points. > - Low level components should be stateless to be reused by high level > components. Introducing state into low level components makes it relies > heavily on the high level components, causing cyclic relationships. > - Hard to integrate with third-party framework. It does not provide a > standalone client with cache capability inside. It also requires the > configurations should be loaded from dynamic properties. > Details: > [http://servicecomb.io/docs/service-registry-refactor-proposal/|http://servicecomb.io/docs/service-registry-refactor-proposal/] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-121) Section header missed for servicecomb website document at run-mode part.
[ https://issues.apache.org/jira/browse/SCB-121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-121. --- Resolution: Resolved > Section header missed for servicecomb website document at run-mode part. > > > Key: SCB-121 > URL: https://issues.apache.org/jira/browse/SCB-121 > Project: Apache ServiceComb > Issue Type: Bug > Components: website >Reporter: Bo Li >Priority: Minor > > Only step 2 for run-mode at http://servicecomb.io/users/run-mode/ at WEB > container mode section shows up. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-13) refactor service registry module
[ https://issues.apache.org/jira/browse/SCB-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477119#comment-16477119 ] Yang Bo commented on SCB-13: [~wujimin] [~njiang] Could you please update or close this issue? > refactor service registry module > > > Key: SCB-13 > URL: https://issues.apache.org/jira/browse/SCB-13 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Labels: service-orchestration > Fix For: java-chassis-1.0.0-m2 > > > Currently, the service registry module in Java Chassis has the following > problems: > - Low level components access high level components frequently. The cyclic > relationships make the implementation complicated and introduce some > redundant access points. > - Low level components should be stateless to be reused by high level > components. Introducing state into low level components makes it relies > heavily on the high level components, causing cyclic relationships. > - Hard to integrate with third-party framework. It does not provide a > standalone client with cache capability inside. It also requires the > configurations should be loaded from dynamic properties. > Details: > [http://servicecomb.io/docs/service-registry-refactor-proposal/|http://servicecomb.io/docs/service-registry-refactor-proposal/] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-14) transaction tracing with zipkin
[ https://issues.apache.org/jira/browse/SCB-14?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-14: --- Fix Version/s: saga-0.3.0 > transaction tracing with zipkin > --- > > Key: SCB-14 > URL: https://issues.apache.org/jira/browse/SCB-14 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > Fix For: saga-0.3.0 > > > integration with zipkin to providing timing info of transactions/compensations > *given* > configured saga with zipkin trace collector address and zipkin enabled > *when* > saga receives a request > *then* > tracing info is reported to zipkin trace collector -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-15) service discovery with popular open source service registry
[ https://issues.apache.org/jira/browse/SCB-15?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477114#comment-16477114 ] Yang Bo commented on SCB-15: [~njiang] Could you please update or close this issue? > service discovery with popular open source service registry > --- > > Key: SCB-15 > URL: https://issues.apache.org/jira/browse/SCB-15 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > > preferably consul -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (SCB-113) Metrics document translation
[ https://issues.apache.org/jira/browse/SCB-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li closed SCB-113. - Resolution: Resolved > Metrics document translation > > > Key: SCB-113 > URL: https://issues.apache.org/jira/browse/SCB-113 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: website >Reporter: Bo Li >Priority: Major > > Just Metrics document need to translate. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-107) Document Translation
[ https://issues.apache.org/jira/browse/SCB-107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-107. --- Resolution: Resolved > Document Translation > > > Key: SCB-107 > URL: https://issues.apache.org/jira/browse/SCB-107 > Project: Apache ServiceComb > Issue Type: Task > Components: website >Reporter: Bo Li >Assignee: Bo Li >Priority: Major > > There are some user guide document in Chinese need to be translated into > English. > Please refer to http://servicecomb.io/users/ -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-109) Develop Service Provider Translation
[ https://issues.apache.org/jira/browse/SCB-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-109. --- Resolution: Resolved > Develop Service Provider Translation > > > Key: SCB-109 > URL: https://issues.apache.org/jira/browse/SCB-109 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: website >Reporter: Bo Li >Priority: Major > > Develop Service Provider translation contains: > # Service Definition > # Service Contract > # Develop Microservice with SpringMVC > # Develop Microservice with JAX-RS > # Develop Microservice with Transparent-RPC > # Service Interface Constraints > # Service Configurations > # Communicate Protocol > # Application Boot Up Process > # Service Heartbeat -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-16) service communication with MQ
[ https://issues.apache.org/jira/browse/SCB-16?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477113#comment-16477113 ] Yang Bo commented on SCB-16: [~njiang] Could you please update or close this issue? > service communication with MQ > - > > Key: SCB-16 > URL: https://issues.apache.org/jira/browse/SCB-16 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > > as a user, i want to set up communication between saga and services with MQ, > so that they can handle transactions asynchronously -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (SCB-111) General Development Translation
[ https://issues.apache.org/jira/browse/SCB-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li closed SCB-111. - Resolution: Resolved > General Development Translation > --- > > Key: SCB-111 > URL: https://issues.apache.org/jira/browse/SCB-111 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: website >Reporter: Bo Li >Priority: Major > > General Development Translation contains following part: > # Develop and Test in Local Environment > # User ServiceComb in SpringBoot > # Distribute Tracing > # Customized Tracing -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-18) stateful service support
[ https://issues.apache.org/jira/browse/SCB-18?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-18: --- Fix Version/s: saga-0.3.0 > stateful service support > > > Key: SCB-18 > URL: https://issues.apache.org/jira/browse/SCB-18 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > Fix For: saga-0.3.0 > > > currently saga sub-transactions are load balanced to multiple service > instances with service discovery, but it doesn't work well with stateful > service. > stateful service support can either be supported with service registry or > caching request address in saga -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (SCB-108) User Guide Translation
[ https://issues.apache.org/jira/browse/SCB-108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li closed SCB-108. - Resolution: Resolved > User Guide Translation > -- > > Key: SCB-108 > URL: https://issues.apache.org/jira/browse/SCB-108 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: website >Reporter: Bo Li >Priority: Major > > *User guide contains two part:* > * Java Chassis Architecture > * Setup Environment -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-21) service orchestration
[ https://issues.apache.org/jira/browse/SCB-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-21: --- Fix Version/s: java-chassis-1.0.0-m2 > service orchestration > - > > Key: SCB-21 > URL: https://issues.apache.org/jira/browse/SCB-21 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > Attachments: Proposal for integrating ServiceComb into Camel.pdf > > > orchestration of service invocation and aggregation of data from multiple > services based on configured rule > eg. a user request requires calling service a/b/c/d in order: request -> a -> > b -> c -> d -> response > this creates a tight coupling among services a/b/c/d. > better solutions: > request -> aggregator -> response (aggregator calls a/b/c/d in sequence based > on configured rule) > request -> a -> message queue -> b -> queue -> c -> queue -> d > both ways no coupling among the services. > this epic is about solution 1 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (SCB-105) Invalid hyperlink at http://servicecomb.io/cn/developers/submit-codesI
[ https://issues.apache.org/jira/browse/SCB-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li closed SCB-105. - Resolution: Resolved > Invalid hyperlink at http://servicecomb.io/cn/developers/submit-codesI > -- > > Key: SCB-105 > URL: https://issues.apache.org/jira/browse/SCB-105 > Project: Apache ServiceComb > Issue Type: Bug > Components: website >Reporter: Bo Li >Priority: Minor > > Hyperlink is not available after the project was moved to ApacheInfra. > At http://servicecomb.io/cn/developers/submit-codes/ > PR guild, Github, it jumps to old repository but not ApacheInfra. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-70) Question about loadblance
[ https://issues.apache.org/jira/browse/SCB-70?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477110#comment-16477110 ] wujimin commented on SCB-70: is not clear now? > Question about loadblance > - > > Key: SCB-70 > URL: https://issues.apache.org/jira/browse/SCB-70 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > > 我想使用负载均衡功能,按照官网的说明配置了pojo-consumer的microservice.yaml。以下是我实验的大致过程: > 我启动多个pojo-provider实例在不同的端口,然后启动pojo-consumer,一切都正常。可是当我关掉一个pojo-provider实例时,pojo-consumer调用服务接口就失败了。 > 按我的理解,pojo-consumer在当前调用实例断开后,应该自动切换到另外一个pojo-provider实例上调用服务接口继续工作,然而实验结果并不是这样的。 > 请问我对ServiceComb负载均衡的理解是否有出错? > 另外,能否增加microservice.yaml各配置项的使用说明。 > 非常感谢 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-19) request json generator
[ https://issues.apache.org/jira/browse/SCB-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-19: --- Fix Version/s: saga-0.3.0 > request json generator > -- > > Key: SCB-19 > URL: https://issues.apache.org/jira/browse/SCB-19 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > Fix For: saga-0.3.0 > > > as a user, i want to generate saga request json by dragging and dropping > services on GUI, so that i can minimize the manual coding myself and avoid > human error -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-22) integration with service center
[ https://issues.apache.org/jira/browse/SCB-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-22: --- Fix Version/s: java-chassis-1.0.0-m1 > integration with service center > --- > > Key: SCB-22 > URL: https://issues.apache.org/jira/browse/SCB-22 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m1 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (SCB-93) inconsistent configuration folders
[ https://issues.apache.org/jira/browse/SCB-93?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li closed SCB-93. Resolution: Resolved > inconsistent configuration folders > -- > > Key: SCB-93 > URL: https://issues.apache.org/jira/browse/SCB-93 > Project: Apache ServiceComb > Issue Type: Bug > Components: Service-Center >Reporter: Bo Li >Priority: Major > > he certificates stores under etc/ssl folder, while the application > configuration files stores under conf folder, which looks inconsistent. Is it > a better idea to merge both of it under etc folder? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (SCB-94) How about changing the log module to logus or other opensource project?
[ https://issues.apache.org/jira/browse/SCB-94?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li closed SCB-94. Resolution: Resolved > How about changing the log module to logus or other opensource project? > --- > > Key: SCB-94 > URL: https://issues.apache.org/jira/browse/SCB-94 > Project: Apache ServiceComb > Issue Type: Bug > Components: Service-Center >Reporter: Bo Li >Priority: Major > > How about to change the log module to logus or other opensource project? > https://github.com/ServiceComb/service-center/tree/master/lager -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-23) integration with zipkin
[ https://issues.apache.org/jira/browse/SCB-23?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477107#comment-16477107 ] Yang Bo commented on SCB-23: [~njiang] This is done in 1.0.0-m1. Could you please close this issue? > integration with zipkin > --- > > Key: SCB-23 > URL: https://issues.apache.org/jira/browse/SCB-23 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m1 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-22) integration with service center
[ https://issues.apache.org/jira/browse/SCB-22?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477108#comment-16477108 ] Yang Bo commented on SCB-22: [~njiang] Could you please close this issue as it seems already fixed? > integration with service center > --- > > Key: SCB-22 > URL: https://issues.apache.org/jira/browse/SCB-22 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m1 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-88) error occurs when start a service following "quick start"
[ https://issues.apache.org/jira/browse/SCB-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-88. -- Resolution: Resolved > error occurs when start a service following "quick start" > - > > Key: SCB-88 > URL: https://issues.apache.org/jira/browse/SCB-88 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > > {code} > java.net.ConnectException: Failed to connect to /127.0.0.1:9411 > at > okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:189) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.connection.RealConnection.buildConnection(RealConnection.java:173) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.connection.RealConnection.connect(RealConnection.java:114) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:193) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:129) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:98) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:109) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:124) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) > ~[okhttp-3.4.1.jar:na] > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) > ~[okhttp-3.4.1.jar:na] > at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170) > ~[okhttp-3.4.1.jar:na] > at okhttp3.RealCall.access$100(RealCall.java:33) ~[okhttp-3.4.1.jar:na] > at okhttp3.RealCall$AsyncCall.execute(RealCall.java:120) > ~[okhttp-3.4.1.jar:na] > at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) > [okhttp-3.4.1.jar:na] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [na:1.8.0_121] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_121] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-87) can anyone provide a gradle script?
[ https://issues.apache.org/jira/browse/SCB-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-87. -- Resolution: Resolved > can anyone provide a gradle script? > --- > > Key: SCB-87 > URL: https://issues.apache.org/jira/browse/SCB-87 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCB-24) visualize transaction results
[ https://issues.apache.org/jira/browse/SCB-24?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477105#comment-16477105 ] Yang Bo commented on SCB-24: Duplicated issue, could you please close this issue? > visualize transaction results > - > > Key: SCB-24 > URL: https://issues.apache.org/jira/browse/SCB-24 > Project: Apache ServiceComb > Issue Type: New Feature > Components: Saga >Reporter: Yin Xiang >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-23) integration with zipkin
[ https://issues.apache.org/jira/browse/SCB-23?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-23: --- Fix Version/s: java-chassis-1.0.0-m1 > integration with zipkin > --- > > Key: SCB-23 > URL: https://issues.apache.org/jira/browse/SCB-23 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m1 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-25) integration with highway transport
[ https://issues.apache.org/jira/browse/SCB-25?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-25: --- Fix Version/s: java-chassis-1.0.0-m2 > integration with highway transport > -- > > Key: SCB-25 > URL: https://issues.apache.org/jira/browse/SCB-25 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-84) Is there a interface for user to find service according to schemaId
[ https://issues.apache.org/jira/browse/SCB-84?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-84. -- Resolution: Resolved > Is there a interface for user to find service according to schemaId > --- > > Key: SCB-84 > URL: https://issues.apache.org/jira/browse/SCB-84 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-27) parallel service invocations
[ https://issues.apache.org/jira/browse/SCB-27?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-27: --- Fix Version/s: java-chassis-1.0.0-m2 > parallel service invocations > > > Key: SCB-27 > URL: https://issues.apache.org/jira/browse/SCB-27 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > *Given* > aggregator configured with parallel service invocations in a configuration > file > *When* > a request goes through services in parallel a/b/c/d without transformation of > data > *Then* > aggregator invokes the services a/b/c/d in parallel and returns the > aggregated responses from services a/b/c/d -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-26) serial service invocations
[ https://issues.apache.org/jira/browse/SCB-26?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-26: --- Fix Version/s: java-chassis-1.0.0-m2 > serial service invocations > -- > > Key: SCB-26 > URL: https://issues.apache.org/jira/browse/SCB-26 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > *Given* > aggregator configured with serial service invocations in a configuration file > *When* > a request goes through services in order a -> b -> c -> d without > transformation of data > *Then* > aggregator invokes the services a/b/c/d in order and returns the response > from service d -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (SCB-28) fallback invocation on exception
[ https://issues.apache.org/jira/browse/SCB-28?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Bo updated SCB-28: --- Fix Version/s: java-chassis-1.0.0-m2 > fallback invocation on exception > > > Key: SCB-28 > URL: https://issues.apache.org/jira/browse/SCB-28 > Project: Apache ServiceComb > Issue Type: Sub-task > Components: Java-Chassis >Reporter: Eric Lee >Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > *Given* > aggregator configured with service invocations with fallback in a > configuration file > *When* > a request goes through service a with fallback f without transformation of > data > *Then* > aggregator invokes the services a and returns its response on success > *When* > invocation of service a failed > *Then* > aggregator invokes service f and returns its response -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-80) ResponseEntity Type error occurs
[ https://issues.apache.org/jira/browse/SCB-80?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-80. -- Resolution: Resolved > ResponseEntity Type error occurs > - > > Key: SCB-80 > URL: https://issues.apache.org/jira/browse/SCB-80 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > > Given: > * tomcat 8.5.x > * java-chassis 0.4.0 > * service-center 1.0.1 > if header and body included in responseEntity, error 1 and error 2 occurs, if > not, only error 2 occurs. > error 1: > {code} > [2017-11-22 > 16:36:39.101][ufm][][ERROR][io.servicecomb.common.rest.AbstractRestInvocation][sendResponseQuietly,131][Failed > to send rest response, > operation:ufm.api-v2-accounts.setWatermark.][pool-30-thread-3] > java.lang.NullPointerException: null > at > org.apache.coyote.http11.Http11OutputBuffer.commit(Http11OutputBuffer.java:368) > at > org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1300) > at > org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:254) > at org.apache.coyote.Response.action(Response.java:174) > at org.apache.coyote.Response.sendHeaders(Response.java:356) > at > org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:303) > at > org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:284) > at org.apache.catalina.connector.Response.flushBuffer(Response.java:541) > at > org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:312) > at > javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176) > at > io.servicecomb.foundation.vertx.http.StandardHttpServletResponseEx.flushBuffer(StandardHttpServletResponseEx.java:80) > at > io.servicecomb.common.rest.AbstractRestInvocation.sendResponse(AbstractRestInvocation.java:164) > at > io.servicecomb.common.rest.AbstractRestInvocation.sendResponseQuietly(AbstractRestInvocation.java:129) > at > io.servicecomb.common.rest.RestProducerInvocation.lambda$doInvoke$1(RestProducerInvocation.java:121) > at > io.servicecomb.core.handler.ShutdownHookHandler.lambda$handle$0(ShutdownHookHandler.java:70) > at > io.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:113) > at > io.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:38) > at io.servicecomb.core.Invocation.next(Invocation.java:132) > at > io.servicecomb.core.handler.ShutdownHookHandler.handle(ShutdownHookHandler.java:68) > at io.servicecomb.core.Invocation.next(Invocation.java:132) > at > io.servicecomb.common.rest.RestProducerInvocation.doInvoke(RestProducerInvocation.java:120) > at > io.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:93) > at > io.servicecomb.common.rest.RestProducerInvocation.runOnExecutor(RestProducerInvocation.java:94) > at > io.servicecomb.common.rest.RestProducerInvocation.lambda$scheduleInvocation$0(RestProducerInvocation.java:80) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {code} > error 2 > {code} > [2017-11-22 > 16:36:39.105][ufm][][ERROR][io.servicecomb.common.rest.AbstractRestInvocation][invoke,95][unknown > edge exception.][pool-30-thread-3] > java.lang.IllegalStateException: It is illegal to call this method if the > current request is not in asynchronous mode (i.e. isAsyncStarted() returns > false) > at > org.apache.catalina.connector.Request.getAsyncContext(Request.java:1742) > at > org.apache.catalina.connector.RequestFacade.getAsyncContext(RequestFacade.java:1056) > at > javax.servlet.ServletRequestWrapper.getAsyncContext(ServletRequestWrapper.java:431) > at > io.servicecomb.common.rest.AbstractRestInvocation.sendResponseQuietly(AbstractRestInvocation.java:135) > at > io.servicecomb.common.rest.RestProducerInvocation.lambda$doInvoke$1(RestProducerInvocation.java:121) > at > io.servicecomb.core.handler.ShutdownHookHandler.lambda$handle$0(ShutdownHookHandler.java:70) > at > io.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:113) > at > io.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:38) > at io.servicecomb.core.Invocation.next(Invocation.java:132) > at > io.servicecomb.core.handler.ShutdownHookHandler.handle(ShutdownHookHandler.java:68) > at io.servicecomb.core.Invocation.next(Invocation.java:132) >
[jira] [Commented] (SCB-585) Add ServiceComb-java-chassis reference guide to project
[ https://issues.apache.org/jira/browse/SCB-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16477101#comment-16477101 ] ASF GitHub Bot commented on SCB-585: liubao68 opened a new pull request #706: [SCB-585]add ServiceComb-java-chassis reference guide to gh-pages branch URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/706 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- 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: us...@infra.apache.org > Add ServiceComb-java-chassis reference guide to project > --- > > Key: SCB-585 > URL: https://issues.apache.org/jira/browse/SCB-585 > Project: Apache ServiceComb > Issue Type: Improvement >Reporter: liubao >Assignee: liubao >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-81) Question about yaml file version
[ https://issues.apache.org/jira/browse/SCB-81?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-81. -- Resolution: Resolved > Question about yaml file version > > > Key: SCB-81 > URL: https://issues.apache.org/jira/browse/SCB-81 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > > * how to user yaml file version, i notived that microservice.yaml file's > version is 0.0.3. > * what's the relation between the three number separated by dot above? > * is there any limit of those numbers? what's tha maximum? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-83) BMI Calculator throws exception
[ https://issues.apache.org/jira/browse/SCB-83?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-83. -- Resolution: Resolved > BMI Calculator throws exception > --- > > Key: SCB-83 > URL: https://issues.apache.org/jira/browse/SCB-83 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > > when running BMI Calculator repeatly, it throws: > {code} > Internal Server Error: com.netflix.zuul.exception.ZuulException > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (SCB-82) NoClassDefFoundError occurs when creating Provider service following "QuickStart"
[ https://issues.apache.org/jira/browse/SCB-82?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bo Li resolved SCB-82. -- Resolution: Resolved > NoClassDefFoundError occurs when creating Provider service following > "QuickStart" > - > > Key: SCB-82 > URL: https://issues.apache.org/jira/browse/SCB-82 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis >Reporter: Bo Li >Priority: Major > > {code} > java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/FormatFeature > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)