apache / apache/servicecomb-java-chassis
A服务RPC调用B服务找不到可用地址时,导致当前线程上下文被清除,接着再调用C服务时取CSE上下文报空指针异常
- Ngôn ngữ chính
- Java
- Star
- 1.9k
- Fork
- 814
- Merge trung bình
- 8 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
1、当前线程A服务代码中第73行使用RPC方式异步调用B服务:

2、负载均衡没有找到B服务可用的地址:

3、A服务当前线程上下文被清除:

4、A服务当前线程再接着调用C服务时,从上下文中获取参数时报空指针:

Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu với mã của A-service ở dòng 73 và theo dõi việc xử lý ngữ cảnh thread khi load balancer không tìm thấy địa chỉ B-service khả dụng nào. Tái hiện lệnh gọi C-service tiếp theo và kiểm tra việc tra cứu ngữ cảnh được hiển thị trong các ảnh chụp màn hình; công việc được xem là hoàn tất khi đường dẫn lỗi không còn gây ra ngoại lệ con trỏ null trong lệnh gọi C-service tiếp theo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- backend, distributed-systems
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100