apache / apache/incubator-seata
xid in RootContext null xid in RpcContext null
- Dominant language
- Java
- Stars
- 26k
- Forks
- 8.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
- [ ] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate.
### Ⅰ. Issue Description
环境说明,本地订单服务、营销服务,nginx 做营销服务代理;
由订单服务调用营销服务,TX_XID能正常传递;
发布到CN环境,TX_XID无法传递,经过多方测试,是nginx环境对下划线请求头不能支持,
underscores_in_headers on;
设置局部开启下划线设置,本地测试OK;
再次CN 环境测试,依然无法得到分布式id。
### Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
```
Just paste your stack trace here!
临时解决方案,fegin拦截器中发送请求头过滤掉下划线(更换请求头参数key,再nginx中做取值还原seata原有设置);
期望:分布式TX_XID可自定义或有降级传递措施,如:TX_XID -> TXXID -> XID
### Ⅵ. Environment:
- JDK version : 1.8
- OS : Linux
- Others: seata 1.2
Contributor guide
Research direction
Start with the Feign interceptor and the request-header path described in the issue, then reproduce the difference between the local setup and the CN environment with nginx. Compare propagation of TX_XID when underscores_in_headers is enabled and when it is not. Done should mean a distributed transaction ID remains transferable through the reported proxy setup, either with a supported custom header or a documented fallback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, nginx
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100