profile
viewpoint
Olga Maciaszek-Sharma OlgaMaciaszek @spring-cloud @pivotal Warszawa https://twitter.com/olga_maciaszek https://twitter.com/olga_maciaszek Senior Software Engineer, Spring Cloud Team, Pivotal

OlgaMaciaszek/jfairy-online 5

RESTful SpringBoot web application that provides random test data generated using jfairy library.

marcingrzejszczak/xmlassert 1

Fluent assertions for XML

OlgaMaciaszek/contracts-demo-consumer 1

A demo app with Spring Cloud Contract consumer code

OlgaMaciaszek/contracts-demo-producer 1

A demo app with Spring Cloud Contract producer code

OlgaMaciaszek/LoanApplicationService 1

Sample project for CDC workshops. Base project taken from: https://github.com/marcingrzejszczak/geecon_cdc_examples , turned into a micro-infra-spring project.

OlgaMaciaszek/olgamaciaszek.github.io 1

A web application to build your blog on GitHub

OlgaMaciaszek/sample-spring-cloud-microservices-future 1

sample microservices illustrating usage of non netflix spring cloud components spring cloud loadbalancer, spring cloud gateway and spring cloud consul

push eventspring-cloud/spring-cloud-openfeign

nekkiy

commit sha f49db7233ab079b00ae7b80ad29f3bb203a3fb6e

Fix double @RequestMapping with empty value (#245) * Fix double @RequestMapping with empty value * Fix code style * Fix for review * add author to SpringMvcContract * split SpringMvcContractTests#testDoubleRequestMapping() test

view details

Olga Maciaszek-Sharma

commit sha 397130a935c15274b459f2b98d970aee269f142f

Add information on SimpleDiscoveryClient. Fixes gh-295.

view details

Olga Maciaszek-Sharma

commit sha c87e5f2dbf74336ddc12c0748521589507a12253

Merge remote-tracking branch 'origin/2.2.x' # Conflicts: # docs/src/main/asciidoc/spring-cloud-openfeign.adoc

view details

push time in a day

issue closedspring-cloud/spring-cloud-openfeign

Using multiple feign clients with different list of servers, without eureka and ribbon disabled

Describe the bug

Going through the documentation at https://cloud.spring.io/spring-cloud-openfeign/reference/html/ it is mentioned ->

If you don’t want to use Eureka, you can simply configure a list of servers in your external configuration (see above for example)."

However, the link for the example is a dead link.

The document mentions that it recommends to set spring.cloud.loadbalancer.ribbon.enabled to false. However, I was not able to find any documentation to provide listOfServers manually without ribbon and for multiple clients.

I was able to find an example at https://spring.io/guides/gs/spring-cloud-loadbalancer/ on how to provide server list manually for spring-cloud-loadbalancer manually, and then was able to create the config as below.

@Bean
  public ServiceInstanceListSupplier serviceOneInstanceSupplier(@Value("${service1.listOfServers}") List<String> serversList) {
    String serviceId = "service1";

    ServiceInstance[] instances = serversList.stream()
        .map(server -> {
          URI url;
          try {
            url = new URI(server);
          } catch (URISyntaxException e) {
            throw new ApplicationException(e);
          }
          return new DefaultServiceInstance(UUID.randomUUID().toString(), serviceId, url.getHost(), url.getPort(), url.getScheme().equals("https"));
        }).collect(Collectors.toList()).toArray(new ServiceInstance[serversList.size()]);

    return ServiceInstanceListSuppliers.from(serviceId, instances);
  }

The above configuration worked.

However, now, we have the requirement to call another service with a different list of servers.

If we create another identical bean like below:

  @Bean
  public ServiceInstanceListSupplier serviceTwoInstanceSupplier(@Value("${service2.listOfServers}") List<String> serversList) {
    String serviceId = "service2";

    ServiceInstance[] instances = serversList.stream()
        .map(server -> {
          URI url;
          try {
            url = new URI(server);
          } catch (URISyntaxException e) {
            throw new ApplicationException(e);
          }
          return new DefaultServiceInstance(UUID.randomUUID().toString(), serviceId, url.getHost(), url.getPort(), url.getScheme().equals("https"));
        }).collect(Collectors.toList()).toArray(new ServiceInstance[serversList.size()]);

    return ServiceInstanceListSuppliers.from(serviceId, instances);
  }

We get an exception saying that we cannot have duplicate bean of type ServiceInstanceListSupplier

Can you please help, if we have missed anything?

closed time in a day

hviranicitco

push eventspring-cloud/spring-cloud-openfeign

Olga Maciaszek-Sharma

commit sha 397130a935c15274b459f2b98d970aee269f142f

Add information on SimpleDiscoveryClient. Fixes gh-295.

view details

push time in a day

issue commentspring-cloud/spring-cloud-openfeign

Sources missing from central mvnrepository since RELEASE 2.1.4

Thanks for reporting this. The triage confirms the issue exists and is a global one (same happens for other projects, for example in sleuth starter). Transferring issue to release-tools project.

jandersson-svt

comment created time in a day

issue commentspring-cloud/spring-cloud-openfeign

Using multiple feign clients with different list of servers, without eureka and ribbon disabled

Hello @hviranicitco You can provide a list of servers through the configuration using SimpleDiscoveryClient. Will fix the link in the docs.

hviranicitco

comment created time in a day

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

 public void testAddingTemplatedParameterWithTheSameKey() 				"{Accept}"); 	} +	@Test

Looks good. Thanks.

nekkiy

comment created time in a day

push eventspring-cloud/spring-cloud-openfeign

nekkiy

commit sha f49db7233ab079b00ae7b80ad29f3bb203a3fb6e

Fix double @RequestMapping with empty value (#245) * Fix double @RequestMapping with empty value * Fix code style * Fix for review * add author to SpringMvcContract * split SpringMvcContractTests#testDoubleRequestMapping() test

view details

push time in a day

push eventspring-cloud/spring-cloud-openfeign

nekkiy

commit sha 0afb60a72a680182b53afccacb16a42dd4e8a585

Fix double @RequestMapping with empty value (#245) * Fix double @RequestMapping with empty value * Fix code style * Fix for review * add author to SpringMvcContract * split SpringMvcContractTests#testDoubleRequestMapping() test

view details

push time in a day

issue commentspring-cloud/spring-cloud-openfeign

Hystrix fallback does not work with spring-cloud load balancer

The exclusion is optional and maybe that's what's removed Hystrix from classpath. Can you just set spring.cloud.loadbalancer.ribbon.enabled to false without excluding the dependency and verify if the issue is still there?

gbtec-valerierinke

comment created time in a day

push eventspring-cloud/spring-cloud-contract

snyk-bot

commit sha 61ce29fdad18dc12ec2968791a56400710871f77

fix: pom.xml to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-561362 - https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-561373

view details

push time in 2 days

delete branch spring-cloud/spring-cloud-commons

delete branch : fix-gh-629-healthcheck-for-loadbalancer

delete time in 3 days

delete branch spring-cloud/spring-cloud-commons

delete branch : fix-gh-629-new

delete time in 3 days

delete branch spring-cloud/spring-cloud-commons

delete branch : add-simple-discovery-client-docs

delete time in 3 days

delete branch spring-cloud/spring-cloud-commons

delete branch : remove-ribbon-integration

delete time in 3 days

push eventspring-cloud-samples/brewery

Olga Maciaszek-Sharma

commit sha 24a38264c0d2250b27a665b7eb7b1248957b1640

Fix test setup for dependencies.

view details

push time in 4 days

PR closed spring-cloud/spring-cloud-openfeign

add support for an FeignErrorDecoderFactory in progress

this factory will be used if no ErrorDecoder was found. This factory allows to create a ErrorDecoder based on the type. This fixes #308

+314 -0

3 comments

4 changed files

BigMichi1

pr closed time in 4 days

pull request commentspring-cloud/spring-cloud-openfeign

add support for an FeignErrorDecoderFactory

Merged within https://github.com/spring-cloud/spring-cloud-openfeign/commit/56bee946d8f7059661a6815d015d4a2c940a9b90.

BigMichi1

comment created time in 4 days

issue closedspring-cloud/spring-cloud-openfeign

introduce a ErrorDecoderFactory interface

Is your feature request related to a problem? Please describe. we are heavily using the feign-annotation-error-decoder from OpenFeign in our project. Currently, We need to provide in each OpenFeign interface an additional configuration which provides an ErrorDecoder bean by using the following definition

@Bean
public ErrorDecoder errorDecoder() {
    return AnnotationErrorDecoder.builderFor(OpenFeignInterface.class).build();
}

where OpenFeignInterface.class is the Interface with all the OpenFeign annotations plus the @ErrorHandling annotations. This config is nearly every time the same except the class which needs to be provided to the builder.

Describe the solution you'd like My idea is to have a ErrorDecoderFactory interface with one method which takes the interface class as an input and return the ErrorDecoder, similar to what is currently available for creating loggers.

public interface ErrorDecoderFactory {
	/**
	 * Factory method to provide a {@link ErrorDecoder} for a given {@link Class}.
	 * @param type the {@link Class} for which a {@link ErrorDecoder} instance is to be created
	 * @return a {@link ErrorDecoder} instance
	 */
	ErrorDecoder create(Class<?> type);
}

so in that case there needs only one bean available implementing the ErrorDecoderFactory interface in the context which allows us to create a specific ErrorDecoder. That simplifies and reduces the amount of code which needs to be written for each interface.

The implementation of checking if a factory bean is available can be done inside the FeignClientFactoryBean in two ways:

  • if such a bean is available use it and create the ErrorDecoder, if not use the default ErrorDecoder by not setting the ErrorDecoder in the Feign.Builder
  • provide a default FeignClientFactoryBean implementation which returns the default ErrorDecoder and adding an additional Bean definition to FeignClientsConfiguration with a @ConditionalOnMissingBean

Describe alternatives you've considered tried to extend FeignClientFactoryBean but this implementation is package protected so it is not that easy to extend

Additional context

closed time in 4 days

BigMichi1

push eventspring-cloud/spring-cloud-openfeign

Olga Maciaszek-Sharma

commit sha 1de832e472c1b3e095350246307f55fe76b5b6ab

Fix typo.

view details

Michael Cramer

commit sha c281800ccd4254780507e5988ae67b6b23a09df7

add support for an FeignErrorDecoderFactory in 2.2.x (#310) * add support for an FeignErrorDecoderFactory this factory will be used if no ErrorDecoder was found. This factory allows to create a ErrorDecoder based on the type. This fixes #308 * add assertions to make it more readable * add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration * add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration * add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration

view details

Olga Maciaszek-Sharma

commit sha 56bee946d8f7059661a6815d015d4a2c940a9b90

Merge remote-tracking branch 'origin/2.2.x'

view details

Olga Maciaszek-Sharma

commit sha a77bd2bdf15a3b5d620b2a886a8eb89e42812526

Remove unnecessary exception clause.

view details

push time in 4 days

push eventspring-cloud/spring-cloud-openfeign

Michael Cramer

commit sha c281800ccd4254780507e5988ae67b6b23a09df7

add support for an FeignErrorDecoderFactory in 2.2.x (#310) * add support for an FeignErrorDecoderFactory this factory will be used if no ErrorDecoder was found. This factory allows to create a ErrorDecoder based on the type. This fixes #308 * add assertions to make it more readable * add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration * add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration * add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration

view details

push time in 4 days

PR merged spring-cloud/spring-cloud-openfeign

add support for an FeignErrorDecoderFactory in 2.2.x waiting-for-triage

this factory will be used if no ErrorDecoder was found. This factory allows to create a ErrorDecoder based on the type. This fixes #308

+340 -0

1 comment

4 changed files

BigMichi1

pr closed time in 4 days

Pull request review commentspring-cloud/spring-cloud-openfeign

add support for an FeignErrorDecoderFactory

+/*+ * Copyright 2020-2020 the original author or authors.+ *+ * Licensed 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+ *+ *      https://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.springframework.cloud.openfeign;++import feign.Response;+import feign.codec.ErrorDecoder;+import org.junit.Test;++import org.springframework.context.annotation.AnnotationConfigApplicationContext;+import org.springframework.context.annotation.Bean;+import org.springframework.context.annotation.Configuration;+import org.springframework.context.annotation.Import;++import static org.assertj.core.api.Assertions.assertThat;++/**+ * @author Michael Cramer+ */+public class FeignErrorDecoderFactoryTests {+

Please add a test that verifies that if ErrorDecoder is present it will be used even if a FeignErrorDecoderFactory is present.

BigMichi1

comment created time in 4 days

Pull request review commentspring-cloud/spring-cloud-openfeign

add support for an FeignErrorDecoderFactory

+/*+ * Copyright 2020-2020 the original author or authors.+ *+ * Licensed 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+ *+ *      https://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.springframework.cloud.openfeign;++import feign.Contract;+import feign.RequestLine;+import feign.Response;+import feign.codec.ErrorDecoder;+import org.junit.Test;+import org.junit.runner.RunWith;++import org.springframework.beans.factory.annotation.Autowired;+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;+import org.springframework.boot.test.context.SpringBootTest;+import org.springframework.cloud.openfeign.support.SpringMvcContract;+import org.springframework.context.annotation.Bean;+import org.springframework.context.annotation.Configuration;+import org.springframework.test.annotation.DirtiesContext;+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;+import org.springframework.web.bind.annotation.RequestMapping;+import org.springframework.web.bind.annotation.RequestMethod;++import static org.assertj.core.api.Assertions.assertThat;++/**+ * @author Michael Cramer+ */+@RunWith(SpringJUnit4ClassRunner.class)+@SpringBootTest(classes = FeignClientErrorDecoderTests.TestConfiguration.class)+@DirtiesContext+public class FeignClientErrorDecoderTests {++	@Autowired+	private FeignContext context;++	@Autowired+	private FooClient foo;++	@Autowired+	private BarClient bar;++	@Test+	public void clientsAvailable() {+		assertThat(this.foo).isNotNull();+		assertThat(this.bar).isNotNull();+	}++	@Test+	public void overrideErrorDecoder() {

Please convert to a more readable test with actual assertions.

BigMichi1

comment created time in 4 days

issue closedspring-cloud/spring-cloud-netflix

Random port register in Eureka with port 0

If I confire server.port=0 to set a random port, the component register in Eureka with port 0. Only visually, the registered uri is correct.

image

I tried with the following combinations:

Spring-boot-starter-parent 2.1.12.release Netflix-dependencies 2.1.5.release Cloud-dependencies Greenwich.SR5

Spring-boot-starter-parent 2.2.4.release Netflix-dependencies 2.2.1.release Cloud-dependencies Hoxton.SR1

closed time in 5 days

jmglluch

issue commentspring-cloud/spring-cloud-netflix

Random port register in Eureka with port 0

Closing in favour of https://github.com/spring-cloud/spring-cloud-netflix/issues/843.

jmglluch

comment created time in 5 days

issue commentspring-cloud/spring-cloud-netflix

Random port register in Eureka with port 0

Yes, this is not supported and a decision has been taken to only document a workaround. You can see the details (with the workaround) in https://github.com/spring-cloud/spring-cloud-netflix/issues/843.

jmglluch

comment created time in 5 days

issue commentspring-cloud/spring-cloud-netflix

Random port register in Eureka with port 0

What is the use case here? Usually, random ports are very useful for testing, but what is the scenario for using it with Service Discovery?

jmglluch

comment created time in 5 days

issue closedspring-cloud/spring-cloud-commons

API is unclear as to what is loadbalanced

Following the example:

public class MyClass {
    @Autowired
    private ReactorLoadBalancerExchangeFilterFunction lbFunction;

    public Mono<String> doOtherStuff() {
        return WebClient.builder().baseUrl("http://stores")
            .filter(lbFunction)
            .build()
            .get()
            .uri("/stores")
            .retrieve()
            .bodyToMono(String.class);
    }
}

What is really loadbalanced in the above, when we pass a URL with baseUrl(...) method EXPLICITLY? Assuming I have 3 instances of an external service, http://stores1:8080, http://stores2:18080, and http://stores3:28080, how does the above "Load Balancer" know about them?

closed time in 5 days

pablo53

issue commentspring-cloud/spring-cloud-commons

API is unclear as to what is loadbalanced

If you are using a Service Discovery that Spring Cloud provides integration for (for example, Eureka, Consul or Zookeeper), if you have appropriate Spring Cloud Starter for that integration in your app, Service Discovery will be used underneath. You can use the SimpleDiscoveryClient to pass instance configuration in properties, instead. If you go with this approach, we recommend configuring LoadBalancer to run instance health-checks.

pablo53

comment created time in 5 days

pull request commentspring-cloud/spring-cloud-openfeign

add support for an FeignErrorDecoderFactory

Hi @BigMichi1 Thanks for the PR. Will review tomorrow.

BigMichi1

comment created time in 5 days

issue closedspring-cloud/spring-cloud-gateway

Spring cloud gateway with eureka service discovery on lb:// routes

Describe the bug @Alfred-Mountfield and I are trying to get the spring cloud gateway to use lb:// routes as described per https://cloud.spring.io/spring-cloud-gateway/reference/html/#reactive-loadbalancer-client-filter . The issue we are facing is that the services, although registering with eureka, are not being picked up by the load balancer client.

Sample We have a sample project here https://github.com/phughk/gateway-reactive-load-balancer . To reproduce you can launch the eureka-server (port 8081), the gateway (8080) and service-one (8082). Making a request to http://localhost:8081 should show that both the gateway and service are registered. http://localhost:8082/v1.0/version should give a response indicating that the service works. Finally http://localhost:8080/v1.0/version should redirect to the service-one endpoint, but it doesn't because the loadbalancer isn't picking up the service.

We have attached to GatewayReactiveLoadBalancerApplication code that demonstrates what is going wrong with the load balancer client. This is observable if you put breakpoints in SimpleReactiveDiscoveryClient, RibbonLoadBalancerClient and SpringClientFactory.

We think this is a bug, where spring-eureka-client doesnt populate the gateway loadbalancer clients correctly.

closed time in 5 days

phughk

issue commentspring-cloud/spring-cloud-gateway

Spring cloud gateway with eureka service discovery on lb:// routes

@phughk This is not related to gateway or load-balancer, but to how VIP addresses are handled by Eureka. In order for the integration to work, use spring.application.name instead of eureka.instance.appname to set the name., like so:

spring:
  application:
    name: version-one

server:
  port: 8082
eureka:
  instance:
    hostname: localhost
  client:
    serviceUrl:
      defaultZone: http://localhost:8081/eureka/
phughk

comment created time in 5 days

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

 public void testAddingTemplatedParameterWithTheSameKey() 				"{Accept}"); 	} +	@Test

It does: https://github.com/junit-team/junit4/wiki/Parameterized-tests. In any case, please rather divide it in order to make it more readable. You can have various tests for the various scenarios you're testing.

nekkiy

comment created time in 5 days

push eventspring-cloud/spring-cloud-openfeign

Olga Maciaszek-Sharma

commit sha 1de832e472c1b3e095350246307f55fe76b5b6ab

Fix typo.

view details

push time in 8 days

push eventspring-cloud/spring-cloud-openfeign

buildmaster

commit sha 6f09ae0824ec3297f1fbfe250f42992fae1ae7f3

Update SNAPSHOT to 2.2.2.RELEASE

view details

buildmaster

commit sha b5c8e6619eb381061713bae8695b199ea3230847

Going back to snapshots

view details

buildmaster

commit sha 8666006bf4fc39fc2380894dae4da7fdd71f720a

Bumping versions to 2.2.3.BUILD-SNAPSHOT after release

view details

Spencer Gibb

commit sha df5d1d50795671c34b89f8a7b5e3a7bc7db8d696

removes .flattened-pom.xml

view details

Spencer Gibb

commit sha f3c3b9073bb6a70f76f46318c710a3bd66b5dea4

ignores .flattened-pom.xml

view details

Spencer Gibb

commit sha 06769c47057a94e4958a53b3ead32467510ea62a

Updates docs branches

view details

Spencer Gibb

commit sha 1ad9a8a24fb567e49b226d828c696cbd2c5840d6

bumps build to 2.2.4.BUILD-SNAPSHOT

view details

Spencer Gibb

commit sha cd1cead7fd5c319e1f61cdbe695da7188b8a7fa1

bumps build to 2.3.0.BUILD-SNAPSHOT

view details

Olga Maciaszek-Sharma

commit sha db2e84ef06efd8ca21b6d2dbd5f7e795b0c4821e

Add test for passing `@MatrixVariable` without specified name. Add documentation for `@MatrixVariable` support. Fixes gh-307.

view details

Olga Maciaszek-Sharma

commit sha 6b9be3f513447ac1bcf58e4861ec9e149dcd170b

Merge remote-tracking branch 'origin/2.2.x' # Conflicts: # docs/pom.xml # pom.xml # spring-cloud-openfeign-core/pom.xml # spring-cloud-openfeign-dependencies/pom.xml # spring-cloud-starter-openfeign/pom.xml

view details

Olga Maciaszek-Sharma

commit sha 90181f34c0c03f0c0de6694dc6a9f6946fe9db75

Merge remote-tracking branch 'origin/2.2.x' # Conflicts: # docs/pom.xml # pom.xml # spring-cloud-openfeign-core/pom.xml # spring-cloud-openfeign-dependencies/pom.xml # spring-cloud-starter-openfeign/pom.xml

view details

push time in 8 days

push eventspring-cloud/spring-cloud-openfeign

Olga Maciaszek-Sharma

commit sha db2e84ef06efd8ca21b6d2dbd5f7e795b0c4821e

Add test for passing `@MatrixVariable` without specified name. Add documentation for `@MatrixVariable` support. Fixes gh-307.

view details

push time in 8 days

issue commentspring-cloud/spring-cloud-openfeign

MatixVariables dont get resolved

@nickcodefresh Have had a closer look at it. What happens is that the existing implementation works only when the @MatrixVariable value() corresponds to a {} segment in the path with the same String, for example:

@GetMapping(value = "/objects/links/{matrixVars}")
Map<String, List<String>> getObjects(@MatrixVariable Map<String, List<String>> matrixVars);

However, it actually does not have to correspond to work on the server-side so it's understandable for the users to expect it.

Unfortunately, there seems to be too much ambiguity in possible resolutions from the feign client levels to make it work, specifically because matrix variables can also be attached to "regular" path variables.

For example, for a method with such signature on server side:

@GetMapping("/owners/{owner}/pets/{pet}")
	public void findPet(@MatrixVariable MultiValueMap<String, String> matrixVars)

all these paths would work in an HTTP call:

/owners/42/pets/21;q=11;r=12
/owners/42;q=11;r=12/pets/21;q=11;r=12
/owners/42;q=11;r=12/pets/21
/owners/q=11;r=12/pets/21

Because of that, we will need to stay with the way it currently works and are just going to add information in the documentation on that.

nickcodefresh

comment created time in 8 days

push eventspring-cloud/spring-cloud-contract

snyk-bot

commit sha e71f2ac971b6faeb91c8266837ea0d80ef1ca2d5

fix: pom.xml to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-560762 - https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-560766

view details

push time in 9 days

issue commentspring-cloud/spring-cloud-openfeign

MatixVariables dont get resolved

In fact, there's a bug - matrix variables are resolved to a correct String but then not appended to the URI. Will fix it.

nickcodefresh

comment created time in 9 days

issue commentspring-cloud/spring-cloud-openfeign

MatixVariables dont get resolved

Ok. Np. Your encoder might not work now as support has been added on our side, but will verify anyway to check whether there's a bug in that support.

nickcodefresh

comment created time in 9 days

issue commentspring-cloud/spring-cloud-openfeign

MatixVariables dont get resolved

I have verified on 2.2.1 (Hoxton.SR1) - then there was no support for @MatrixVariable yet, so it has not worked correctly (as one would expect) and it's sent the following request:

GET /objects/links HTTP/1.1
Content-Length: 36
Content-Type: application/json

{"level":["1"],"ancestorId":["301"]}

with the matrixVars in the body.

In v.2.2.2 (Hoxton.SR3), support was added but maybe there's a bug in that - verifying it now.

nickcodefresh

comment created time in 9 days

push eventspring-cloud-samples/feign-eureka

Olga Maciaszek-Sharma

commit sha d0cb3d877070969ddbf1a2669a1b02078fd8dfbb

Upgrade to Hoxton.SR3.

view details

push time in 9 days

issue commentspring-cloud/spring-cloud-openfeign

MatixVariables dont get resolved

Will check why it's stopped working.

nickcodefresh

comment created time in 10 days

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

 public void testAddingTemplatedParameterWithTheSameKey() 				"{Accept}"); 	} +	@Test

Please convert this test into more tests that are smaller and more readable. Each test should have a visually divided given when and then sections - only 1 of each section in one test (without multiple when-then blocks in 1 test as it's now).

nekkiy

comment created time in 10 days

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

 public void testAddingTemplatedParameterWithTheSameKey() 				"{Accept}"); 	} +	@Test+	public void testDoubleRequestMapping() throws NoSuchMethodException {+		Class[] classes = new Class[] { TestTemplate_RequestMapping_Empty_Class.class,+			TestTemplate_RequestMapping_Empty_Method.class };+		for (Class<?> clazz : classes) {+			Method methodRoot = clazz.getDeclaredMethod("root");+			MethodMetadata dataRoot = contract+				.parseAndValidateMetadata(methodRoot.getDeclaringClass(), methodRoot);++			assertThat(dataRoot.template().url()).isEqualTo("/");++			Method methodSub = clazz.getDeclaredMethod("sub");+			MethodMetadata dataSub = contract+				.parseAndValidateMetadata(methodSub.getDeclaringClass(), methodSub);++			assertThat(dataSub.template().url()).isEqualTo("/sub");++			Method methodSubEmpty = clazz.getDeclaredMethod("subEmpty");+			MethodMetadata dataSubEmpty = contract.parseAndValidateMetadata(+				methodSubEmpty.getDeclaringClass(), methodSubEmpty);++			assertThat(dataSubEmpty.template().url()).isEqualTo("/subEmpty");+		}++		Class[] classesDouble = new Class[] {+			TestTemplate_RequestMapping_Empty_Double.class,+			TestTemplate_RequestMapping_Fill_Double.class };+		for (Class<?> clazz : classesDouble) {+			Method methodRoot = clazz.getDeclaredMethod("root");+			MethodMetadata dataRoot = contract+				.parseAndValidateMetadata(methodRoot.getDeclaringClass(), methodRoot);++			assertThat(dataRoot.template().url()).isEqualTo("/");+		}++	}+ 	@Test 	public void testMultipleRequestPartAnnotations() throws NoSuchMethodException { 		Method method = TestTemplate_RequestPart.class.getDeclaredMethod(-				"requestWithMultipleParts", MultipartFile.class, String.class);+			"requestWithMultipleParts", MultipartFile.class, String.class);  		MethodMetadata data = contract-				.parseAndValidateMetadata(method.getDeclaringClass(), method);+			.parseAndValidateMetadata(method.getDeclaringClass(), method);

Please revert formatting change.

nekkiy

comment created time in 10 days

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

 public void testAddingTemplatedParameterWithTheSameKey() 				"{Accept}"); 	} +	@Test+	public void testDoubleRequestMapping() throws NoSuchMethodException {+		Class[] classes = new Class[] { TestTemplate_RequestMapping_Empty_Class.class,+			TestTemplate_RequestMapping_Empty_Method.class };+		for (Class<?> clazz : classes) {+			Method methodRoot = clazz.getDeclaredMethod("root");+			MethodMetadata dataRoot = contract+				.parseAndValidateMetadata(methodRoot.getDeclaringClass(), methodRoot);++			assertThat(dataRoot.template().url()).isEqualTo("/");++			Method methodSub = clazz.getDeclaredMethod("sub");+			MethodMetadata dataSub = contract+				.parseAndValidateMetadata(methodSub.getDeclaringClass(), methodSub);++			assertThat(dataSub.template().url()).isEqualTo("/sub");++			Method methodSubEmpty = clazz.getDeclaredMethod("subEmpty");+			MethodMetadata dataSubEmpty = contract.parseAndValidateMetadata(+				methodSubEmpty.getDeclaringClass(), methodSubEmpty);++			assertThat(dataSubEmpty.template().url()).isEqualTo("/subEmpty");+		}++		Class[] classesDouble = new Class[] {+			TestTemplate_RequestMapping_Empty_Double.class,+			TestTemplate_RequestMapping_Fill_Double.class };+		for (Class<?> clazz : classesDouble) {+			Method methodRoot = clazz.getDeclaredMethod("root");+			MethodMetadata dataRoot = contract+				.parseAndValidateMetadata(methodRoot.getDeclaringClass(), methodRoot);++			assertThat(dataRoot.template().url()).isEqualTo("/");+		}++	}+ 	@Test 	public void testMultipleRequestPartAnnotations() throws NoSuchMethodException { 		Method method = TestTemplate_RequestPart.class.getDeclaredMethod(-				"requestWithMultipleParts", MultipartFile.class, String.class);+			"requestWithMultipleParts", MultipartFile.class, String.class);

Please revert formatting change.

nekkiy

comment created time in 10 days

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

 protected void processAnnotationOnMethod(MethodMetadata data, 			String pathValue = emptyToNull(methodMapping.value()[0]); 			if (pathValue != null) { 				pathValue = resolve(pathValue);-				// Append path from @RequestMapping if value is present on method-				if (!pathValue.startsWith("/") && !data.template().path().endsWith("/")) {-					pathValue = "/" + pathValue;+				if (!pathValue.equals("/")) {+					// Automatic add '/' if it did not present in pathValue

I've noticed that feign-core will now take care of adding it. I guess that's what the comment is about, but it should be deleted it as it is unnecessary out of the context of this review.

nekkiy

comment created time in 10 days

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

  * @author Halvdan Hoem Grelland  * @author Aram Peres  * @author Aaron Whiteside+ * @author nekkiy

Please switch to your full name and surname.

nekkiy

comment created time in 10 days

Pull request review commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

 protected void processAnnotationOnClass(MethodMetadata data, Class<?> clz) { 		if (clz.getInterfaces().length == 0) { 			RequestMapping classAnnotation = findMergedAnnotation(clz, 					RequestMapping.class);-			if (classAnnotation != null) {+			if (classAnnotation != null && classAnnotation.value().length > 0) { 				// Prepend path from class annotation if specified-				if (classAnnotation.value().length > 0) {-					String pathValue = emptyToNull(classAnnotation.value()[0]);+				String pathValue = emptyToNull(classAnnotation.value()[0]);+				if (pathValue != null) {

:+1:

nekkiy

comment created time in 10 days

pull request commentspring-cloud/spring-cloud-openfeign

Fix double @RequestMapping with empty value

Thanks @nekkiy - will have a look at it today.

nekkiy

comment created time in 10 days

push eventspring-cloud/spring-cloud-commons

Olga Maciaszek-Sharma

commit sha c30b424e5d2a545146ffc2806919b483b3297c37

Minor refactoring to adjust to team conventions.

view details

Olga Maciaszek-Sharma

commit sha dd0aa3f7f150f2f3252655d394c0db2878fd0518

Merge remote-tracking branch 'origin/2.2.x'

view details

push time in 11 days

push eventspring-cloud/spring-cloud-commons

Olga Maciaszek-Sharma

commit sha c30b424e5d2a545146ffc2806919b483b3297c37

Minor refactoring to adjust to team conventions.

view details

push time in 11 days

GollumEvent
GollumEvent
GollumEvent

delete tag spring-cloud/spring-cloud-contract

delete tag : v2.2.2.RELEASE

delete time in 24 days

pull request commentspring-cloud/spring-cloud-commons

Adds healhtcheck-based loadBalancing

@robotmrv thanks for the PR. Sorry for not getting back to you earlier - was on vacation. I see it was already merged, so it will enter Hoxton.SR3.

OlgaMaciaszek

comment created time in 24 days

push eventspring-cloud/spring-cloud-contract

snyk-bot

commit sha ca8c8317c12208f5c143daacc22caebbdbf07e6e

fix: pom.xml to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-559106

view details

push time in 25 days

push eventspring-cloud/spring-cloud-release

Olga Maciaszek-Sharma

commit sha 13dc9f8421bca04e6dba8c707f67cc4a820d3082

Add hoxton_sr3.properties.

view details

Olga Maciaszek-Sharma

commit sha b77a074cecede0de1de82905dd9a27cd678687c8

Fix resource class setup.

view details

Olga Maciaszek-Sharma

commit sha 5da0e1458e208283eac360832a9121775b822608

Switch CB to 1.0.2.RELEASE.

view details

Olga Maciaszek-Sharma

commit sha 2a17b6144a5a38dc8a3a6394a572e158555c4b6d

Merge pull request #181 from spring-cloud/releaser-config-hoxton_sr3 Add hoxton_sr3.properties.

view details

push time in 25 days

push eventspring-cloud/spring-cloud-release

Olga Maciaszek-Sharma

commit sha 5da0e1458e208283eac360832a9121775b822608

Switch CB to 1.0.2.RELEASE.

view details

push time in 25 days

Pull request review commentspring-cloud/spring-cloud-release

Add hoxton_sr3.properties.

+releaser.fixed-versions[spring-boot]=2.2.5.RELEASE+releaser.fixed-versions[spring-cloud-build]=2.2.3.RELEASE+releaser.fixed-versions[spring-cloud-commons]=2.2.2.RELEASE+releaser.fixed-versions[spring-cloud-function]=3.0.3.RELEASE+releaser.fixed-versions[spring-cloud-stream]=Horsham.SR3+releaser.fixed-versions[spring-cloud-aws]=2.2.1.RELEASE+releaser.fixed-versions[spring-cloud-bus]=2.2.1.RELEASE+releaser.fixed-versions[spring-cloud-task]=2.2.3.RELEASE+releaser.fixed-versions[spring-cloud-config]=2.2.2.RELEASE+releaser.fixed-versions[spring-cloud-netflix]=2.2.2.RELEASE+releaser.fixed-versions[spring-cloud-cloudfoundry]=2.2.1.RELEASE+releaser.fixed-versions[spring-cloud-kubernetes]=1.1.2.RELEASE+releaser.fixed-versions[spring-cloud-openfeign]=2.2.2.RELEASE+releaser.fixed-versions[spring-cloud-consul]=2.2.2.RELEASE+releaser.fixed-versions[spring-cloud-circuitbreaker]=1.1.0.RELEASE

will switch

OlgaMaciaszek

comment created time in 25 days

push eventspring-cloud/spring-cloud-release

Olga Maciaszek-Sharma

commit sha b77a074cecede0de1de82905dd9a27cd678687c8

Fix resource class setup.

view details

push time in 25 days

create barnchspring-cloud/spring-cloud-release

branch : releaser-config-hoxton_sr3

created branch time in 25 days

push eventspring-cloud/spring-cloud-contract

snyk-bot

commit sha 9be76efd655f0f682ddac069253c9a77df9a4d75

fix: pom.xml to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-559094

view details

push time in a month

push eventspring-cloud/spring-cloud-zookeeper

Olga Maciaszek-Sharma

commit sha 59c0010be31b6bbad20b67e2da35894899e9b170

Switch from Ribbon to SC LoadBalancer (#240) * WIP * Remove repeated dependency. * Gitignore fix. * Implement Spring Cloud LoadBalancer-based DependencyFeignClientAutoConfiguration and DependencyLoadBalancerAutoConfiguration. * Fix dependency-based configurations. Add ZookeeperServiceInstanceListSupplier. Add LoadBalancerZookeeperAutoConfiguration. * Adjust tests to changes in code. * Adjust tests to changes in code. Add missing license Strings. Refactor. * Add BlockingDependencyLoadBalancerConfiguration. Remove condition from ZookeeperDependenciesAutoConfiguration. * Switch EmptyResponse to chooseDefault(). Fix DependencyRestTemplateAutoConfiguration. Change return type for BlockingDependencyLoadBalancerConfiguration. * Fix zookeeper-specific BlockingLoadBalancerClient implementation. * Remove zookeeper-specific LoadBalancerClient and ReactorExchangeFilterFunction implementations following a team discussion. Remove Ribbon-specific entries from docs. Add javadocs. Co-authored-by: Marcin Grzejszczak <marcin@grzejszczak.pl>

view details

push time in a month

PR merged spring-cloud/spring-cloud-zookeeper

Reviewers
Switch from Ribbon to SC LoadBalancer task

IMPORTANT: Only merge after https://github.com/spring-cloud/spring-cloud-commons/pull/691 and https://github.com/spring-cloud/spring-cloud-openfeign/pull/300 have been merged.

+468 -639

0 comment

37 changed files

OlgaMaciaszek

pr closed time in a month

push eventspring-cloud/spring-cloud-sleuth

Olga Maciaszek-Sharma

commit sha 4634585c351a3ad3e44d478431d077a27265353b

Adjust to changes in FeignBlockingLoadBalancer client constructor.

view details

Olga Maciaszek-Sharma

commit sha 8f4d7dd8d83060ffba8c60706feed83c0c8ff4b8

Merge pull request #1565 from spring-cloud/adjust-sleuth-to-lb-changes-in-commons Adjust to changes in FeignBlockingLoadBalancer client constructor.

view details

push time in a month

PR merged spring-cloud/spring-cloud-sleuth

Adjust to changes in FeignBlockingLoadBalancer client constructor. task

IMPORTANT: Only merge after https://github.com/spring-cloud/spring-cloud-commons/pull/691 and https://github.com/spring-cloud/spring-cloud-openfeign/pull/300 are merged.

+12 -11

1 comment

4 changed files

OlgaMaciaszek

pr closed time in a month

push eventspring-cloud/spring-cloud-openfeign

Olga Maciaszek-Sharma

commit sha efe264d2bbbc7cb54149e9476a30e193a5e8cd90

Adjust to ribbon changes in commons (#300) * Adjust to Ribbon changes in commons. * Switch to using LoadBalancerClient bean instead of BlockingLoadBalancerClient bean following changes in commons. Remove references of Ribbon from docs and javadocs.

view details

push time in a month

PR merged spring-cloud/spring-cloud-openfeign

Reviewers
Adjust to ribbon changes in commons task

IMPORTANT: Only merge after: https://github.com/spring-cloud/spring-cloud-commons/pull/691is merged.

+35 -46

1 comment

10 changed files

OlgaMaciaszek

pr closed time in a month

push eventspring-cloud/spring-cloud-commons

Olga Maciaszek-Sharma

commit sha 2710c8251d484ad82601a4a19a68fbb039382ad6

Remove ribbon integration (#691) * Remove Ribbon-specific configuration. * Remove Ribbon-specific docs. Refactor.

view details

push time in a month

PR opened spring-cloud/spring-cloud-zookeeper

Reviewers
Switch from Ribbon to SC LoadBalancer

IMPORTANT: Only merge after https://github.com/spring-cloud/spring-cloud-commons/pull/691 and https://github.com/spring-cloud/spring-cloud-openfeign/pull/300 have been merged.

+468 -639

0 comment

37 changed files

pr created time in a month

push eventspring-cloud/spring-cloud-zookeeper

Olga Maciaszek-Sharma

commit sha c2bcebd26ee067e46e7724f5a661f745cc6fb52e

Remove zookeeper-specific LoadBalancerClient and ReactorExchangeFilterFunction implementations following a team discussion. Remove Ribbon-specific entries from docs. Add javadocs.

view details

push time in a month

PR opened spring-cloud/spring-cloud-openfeign

Reviewers
Adjust to ribbon changes in commons

IMPORTANT: Only merge after: https://github.com/spring-cloud/spring-cloud-commons/pull/691is merged.

+35 -46

0 comment

10 changed files

pr created time in a month

push eventspring-cloud/spring-cloud-openfeign

Olga Maciaszek-Sharma

commit sha 13f357e4a87b90473bb41dd23e16f9ebb4754f1b

Switch to using LoadBalancerClient bean instead of BlockingLoadBalancerClient bean following changes in commons. Remove references of Ribbon from docs and javadocs.

view details

push time in a month

push eventspring-cloud/spring-cloud-commons

Olga Maciaszek-Sharma

commit sha 35a047c7cbcc65bb64ad313a49bfbe3e66bb8fd5

Remove Ribbon-specific docs. Refactor.

view details

push time in a month

push eventspring-cloud/spring-cloud-zookeeper

Olga Maciaszek-Sharma

commit sha 4512a13de2a6f41fa2eb1507f0c396c8f39fd5bc

Fix zookeeper-specific BlockingLoadBalancerClient implementation.

view details

push time in a month

issue openedspring-cloud/spring-cloud-commons

Remove Ribbon integration

created time in a month

create barnchspring-cloud/spring-cloud-commons

branch : remove-ribbon-integration

created branch time in a month

push eventspring-cloud/spring-cloud-zookeeper

Olga Maciaszek-Sharma

commit sha 07f1fb288e6e069ae9639c80b34e0de95e30d276

Switch EmptyResponse to chooseDefault(). Fix DependencyRestTemplateAutoConfiguration. Change return type for BlockingDependencyLoadBalancerConfiguration.

view details

push time in a month

push eventspring-cloud/spring-cloud-zookeeper

Olga Maciaszek-Sharma

commit sha 98c81f0322616cc0b90cef0c1dad3da329545425

Add BlockingDependencyLoadBalancerConfiguration. Remove condition from ZookeeperDependenciesAutoConfiguration.

view details

push time in a month

issue openedspring-cloud/spring-cloud-commons

LoadBalancer: Add Sticky LB implementation.

To allow for functional backwards compatibility for SC Zookeeper.

created time in a month

issue openedspring-cloud/spring-cloud-commons

LoadBalancer: Add Random LB implementation

To allow for functional backwards compatibility for SC Zookeeper.

created time in a month

more