apache / apache/incubator-seata

seata 1.4 不能使用Feign的断路器,使用会造成Feign无法传递xid

Open
#3,373 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
26k
Forks
8.8k
Avg merge
1d 8h
Merged PRs (30d)
4

Description

环境:
seata 1.4
spring-cloud-starter-alibaba-seata 2.0.0

如果Feign使用断路器,断路器会开启一个新的线程。由于xid存在threadLocalMap中,使用断路器会导致threadLocalMap不一致,断路器所在线程的threadLocalMap是空的,这时会取到一个null值,但是feign不开断路器又不行,麻烦项目组看一下这个BUG

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported environment with Seata 1.4, spring-cloud-starter-alibaba-seata 2.0.0, Feign, and its circuit breaker enabled. Trace how the xid is stored and accessed across the circuit breaker’s new thread; done means the Feign call still receives the xid while the circuit breaker is enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.