Comments (4)
Why do you think it's a problem?
from spring-cloud-sleuth.
In TraceCallable and TraceRunnable, first span is started and we get TraceScope reference and run the delegated Thread(Runnable or Callable) and when it is done. We call close() of that particular scope, which does as mentioned in above question.
My concern is related to Executors. If one executor is shared to do some process and multiple requests are coming which is catered by some service using executors(It is just a use case). Then in worker threads of executors, the above code is creating problem and lead to Htrace error message when space is started. This is the reason I asking for this way. Isn't it if Worker thread is done its processing then it should clear its ThreadLocal context as well.
I will write some sample app with code which is able to reproduce this problem and with possible solution.
from spring-cloud-sleuth.
I'm not sure I see the problem yet, but a sample project will certainly help. BTW I'm in the middle of a big refactor of all the core APIs so the names and locations of things might change soon.
from spring-cloud-sleuth.
I have created the sampleapp
https://github.com/gauravrmazra/spring-cloud-sleuth-executor-sampleapp
If multiple request are send from UI, it throws weird Htrace error (runtime exception)
The solution is simple. Just remove the current span from ThreadLocal context of the worker thread within TraceCallable and TraceRunnable
from spring-cloud-sleuth.
Related Issues (20)
- I want to propagate TraceId to all places where parallelStream() and CustomForkJoinPool is used. HOT 3
- CVE-2023-33201 - bcprov-jdk15on HOT 5
- Missing traceId when using spring-cloud-starter-stream-rabbit consumer listeners. HOT 5
- Tracing support for Reactive Kafka (Using KafkaSender and KafkaReceiver) HOT 2
- Spring boot 2.7.10/Sleuth/Micrometer/Prometheus/Brave/Zipkin HOT 1
- java.lang.IllegalStateException: Missing: traceId with AWS propagation type HOT 5
- Jetty BadMessageException request headers too large HOT 3
- LazyTraceThreadPoolTaskExecutor.getQueueSize() does not call a delegate and always returns 0 HOT 3
- ReactorSleuth.tracedMono does not work with parallel processing HOT 1
- TraceReactorAutoConfiguration.HooksRefresher improper queue decoration
- Need documentation for collecting data using baggage. HOT 1
- Sleuth giving different traceIds for each RxJava's Single execution HOT 3
- TraceIds feature for a Request tarvelling across, doesn't seem working. TraceIds are different across a travelling request HOT 3
- After @Async is included in rpc, traceId loss and confusion occur under a large number of requests. HOT 4
- Autoconfiguration does not work in spring-boot 3.x HOT 1
- docs: Getting Started Image Not found
- DataSource Proxy + Spring Could Sleuth not working HOT 4
- spring.zipkin.discoveryClientEnabled ignored when the traced app is webflux HOT 1
- sleuth-3.1.9+datasource-proxy-1.10+flowable-6.8.0 Unable to start the springboot project properly HOT 1
- Why doesn't Sleuth enable Scope when create Span for Kafka Streams by default? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spring-cloud-sleuth.