I'm using Zipkin with Spring Boot. Storing events in Elasticsearch works fine, but when I want to display them with the Zipkin UI, I run into the following error:
Exception in thread "OkHttp Dispatcher" java.lang.NoSuchMethodError: zipkin.Endpoint$Builder.parseIp(Ljava/lang/String;)Z
at zipkin.storage.elasticsearch.http.JsonAdapters$3.fromJson(JsonAdapters.java:145)
at zipkin.storage.elasticsearch.http.JsonAdapters$3.fromJson(JsonAdapters.java:133)
at com.squareup.moshi.JsonAdapter$2.fromJson(JsonAdapter.java:128)
at zipkin.storage.elasticsearch.http.JsonAdapters$4.fromJson(JsonAdapters.java:199)
at zipkin.storage.elasticsearch.http.JsonAdapters$4.fromJson(JsonAdapters.java:164)
at zipkin.storage.elasticsearch.http.JsonAdapters$1.fromJson(JsonAdapters.java:82)
at zipkin.storage.elasticsearch.http.JsonAdapters$1.fromJson(JsonAdapters.java:38)
at zipkin.storage.elasticsearch.http.internal.client.SearchResultConverter.convert(SearchResultConverter.java:57)
at zipkin.storage.elasticsearch.http.internal.client.SearchResultConverter.convert(SearchResultConverter.java:26)
at zipkin.storage.elasticsearch.http.internal.client.HttpCall$CallbackAdapter.onResponse(HttpCall.java:106)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
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:748)
My Gradle file looks like this:
apply plugin: 'org.springframework.boot'
jar {
baseName = 'zipkin'
version = '1.0'
}
dependencies {
compile(
'org.springframework.boot:spring-boot-starter',
"net.logstash.logback:logstash-logback-encoder:${logbackEncoderVersion}",
'org.springframework.boot:spring-boot-starter-security',
'org.springframework.boot:spring-boot-starter-actuator',
'org.jolokia:jolokia-core',
"io.zipkin.java:zipkin-server:${zipkinVersion}",
"io.zipkin.java:zipkin-autoconfigure-storage-elasticsearch-http:${zipkinVersion}",
"io.zipkin.java:zipkin-autoconfigure-ui:${zipkinVersion}"
)
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
springBoot {
executable = true
}
With the variables:
springBootVersion = '1.5.4.RELEASE'
springCloudVersion = 'Dalston.SR1'
logbackEncoderVersion = '4.10'
zipkinVersion = '1.26.0'
Set the version of io.zipkin.java:zipkin
I will raise something to update spring cloud sleuth's deps which might be
setting an earlier version (guess)
That works (now even with 1.26.1). Thanks a lot!
Most helpful comment
Set the version of io.zipkin.java:zipkin
I will raise something to update spring cloud sleuth's deps which might be
setting an earlier version (guess)