<spring.cloud.version>2022.0.3</spring.cloud.version>
<spring-cloud-config.version>4.0.3</spring-cloud-config.version>
1) Started config server local configuration, and response like:
{
"name": "eureka-server",
"profiles": [
"default"
],
"label": null,
"version": null,
"state": null,
"propertySources": [
{
"name": "file:config-repo/eureka-server.yml",
"source": {
...
}
},
{
"name": "Config resource 'file [config-repo\\application.yml]' via location 'file:config-repo/' (document #0)",
"source": {
...
}
}
]
}
2) Starting eureka server which has spring-cloud-starter-config dependency. Its config:
spring.config.import: "configserver:"
spring:
application.name: eureka-server
cloud.config:
failFast: true
uri: http://localhost:8888
Caused by: java.lang.StringIndexOutOfBoundsException: begin 97, end 59, length 112
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4602) ~[na:na]
at java.base/java.lang.String.substring(String.java:2705) ~[na:na]
at org.springframework.cloud.config.client.ConfigServerConfigDataLoader.extractApplicationName(ConfigServerConfigDataLoader.java:223) ~[spring-cloud-config-client-4.0.3.jar:4.0.3]
at org.springframework.cloud.config.client.ConfigServerConfigDataLoader.isProfileSpecificPropertySource(ConfigServerConfigDataLoader.java:207) ~[spring-cloud-config-client-4.0.3.jar:4.0.3]
at org.springframework.cloud.config.client.ConfigServerConfigDataLoader.lambda$doLoad$1(ConfigServerConfigDataLoader.java:160) ~[spring-cloud-config-client-4.0.3.jar:4.0.3]
at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[na:na]
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632) ~[na:na]
at org.springframework.cloud.config.client.ConfigServerConfigDataLoader.lambda$doLoad$2(ConfigServerConfigDataLoader.java:160) ~[spring-cloud-config-client-4.0.3.jar:4.0.3]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
at org.springframework.cloud.config.client.ConfigServerConfigDataLoader.doLoad(ConfigServerConfigDataLoader.java:162) ~[spring-cloud-config-client-4.0.3.jar:4.0.3]
... 32 common frames omitted
Looks similar to https://github.com/spring-cloud/spring-cloud-config/issues/2279 It was fixed but only for 3.1.x, but issue is still actual for 4.0.3
Comment From: ryanjbaxter
It was merged forward into 4.0.x as well https://github.com/spring-cloud/spring-cloud-config/commit/640d6d3fa82bda7b51812447f5a5d5169128ef6a
We just released Spring Cloud 2202.0.4, so you can try that release which should contain this fix
Comment From: VitaliyKulikov
fixed in 2202.0.4.