hgaol opened a new issue #2937: URL: https://github.com/apache/incubator-shenyu/issues/2937
### Is there an existing issue for this? - [X] I have searched the existing issues ### Current Behavior When setting the `fallbackUri` to APIs not in `shenyu-bootstrap`, like `https://example.com`, it will not redirect to the target endpint. As well as for other registered APIs like APIs in `http-example` module. e.g. <img width="899" alt="image" src="https://user-images.githubusercontent.com/11908658/155656698-71d1bec0-1f5b-4c07-ad8e-8ccc23db1a90.png"> will return 404. <img width="358" alt="image" src="https://user-images.githubusercontent.com/11908658/155656735-c95d2ed5-f103-4692-91a8-f48d5917bd16.png"> ### Expected Behavior redirect to the fallbackUri as set in `admin`. like `https://example.com`. ### Steps To Reproduce 1. go to admin, enable `resilience4j`, and set proper config. below is an example. <img width="899" alt="image" src="https://user-images.githubusercontent.com/11908658/155656698-71d1bec0-1f5b-4c07-ad8e-8ccc23db1a90.png"> 2. call an API which will return `400` status. 3. after calling many times, it will trigger `circuit breaker` and return `404`. <img width="358" alt="image" src="https://user-images.githubusercontent.com/11908658/155656735-c95d2ed5-f103-4692-91a8-f48d5917bd16.png"> ### Environment ```markdown ShenYu version(s): current master branch (2.4.3-SNAPSHOT) ``` ### Debug logs ```log 2022-02-25 13:00:54 [boundedElastic-1] WARN org.apache.shenyu.common.utils.JsonUtils - write to json string error: org.apache.shenyu.plugin.api.result.DefaultShenyuEntity@6de86571 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Direct self-reference leading to cycle (through reference chain: org.apache.shenyu.plugin.api.result.DefaultShenyuEntity["data"]->org.springframework.web.server.ResponseStatusException["mostSpecificCause"]) at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77) at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191) at com.fasterxml.jackson.databind.ser.BeanPropertyWriter._handleSelfReference(BeanPropertyWriter.java:944) at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:721) at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722) at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166) at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722) at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166) at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:4094) at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3404) at org.apache.shenyu.common.utils.JsonUtils.toJson(JsonUtils.java:85) at org.apache.shenyu.plugin.api.result.ShenyuResult.format(ShenyuResult.java:58) at org.apache.shenyu.plugin.api.utils.WebFluxResultUtils.result(WebFluxResultUtils.java:58) at org.apache.shenyu.web.handler.GlobalErrorHandler.handle(GlobalErrorHandler.java:59) at org.springframework.web.server.handler.ExceptionHandlingWebHandler.lambda$handle$0(ExceptionHandlingWebHandler.java:77) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:88) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:100) at reactor.core.publisher.Operators.error(Operators.java:182) at reactor.core.publisher.MonoError.subscribe(MonoError.java:52) at reactor.core.publisher.Mono.subscribe(Mono.java:4105) ``` ### Anything else? Related code. https://github.com/apache/incubator-shenyu/blob/2603db2df10448c836933e7711a5c4daae28d087/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/executor/Executor.java#L64 If it's a bug, I can fix it. Thanks~ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
