Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Technical Question: Recommended approach for Action idempotency / duplicate handling

Đang mở
#58 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tài liệu
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Sôi nổi
Công nghệ
java
Lĩnh vực
api, distributed-systems

Hướng nghiên cứu

Start by reviewing the current mo-services-java Action API and the CCSDS M&C ActionExecutionRequest.requestId concept referenced in the issue. A useful outcome would document the intended retransmission and duplicate-detection mechanism for unreliable communication, including whether the API provides an identifier or whether application-level handling is expected.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

We are currently evaluating NMF 5 for a new nanosatellite mission. Our original architecture was based on NMF 4.x, where the Action submission included a consumer-provided actionInstId.

Our main concern is the handling of duplicate Action requests in the presence of unreliable communication between ground and spacecraft.

For example:

The ground sends an Action request.
The spacecraft receives and executes the Action.
The response is lost due to a communication failure.
The ground cannot determine whether the Action was executed.
The ground retransmits the request.
The spacecraft needs to distinguish this retransmission from a new request and must not execute the Action twice.

In the newer mo-services-java API used by NMF 5, we understand that the Action execution identifier is generated by the service provider rather than supplied by the consumer.

We also noticed that the newer CCSDS M&C model contains the concept of an ActionExecutionRequest.requestId, which is intended to identify the request itself.

Our question is therefore not about the change of the API, but rather:

What is the recommended way to implement idempotent Action execution with the current mo-services-java API?

In particular:

What mechanism should a Service Consumer use to identify a retransmission of the same Action request?
How should the spacecraft detect that an Action request has already been accepted/executed when the original response was lost?
Is there an identifier or mechanism in the current API intended specifically for this purpose?
If duplicate detection is expected to be implemented at the application level, what approach is recommended?

The above scenario is particularly important for us because the communication channel between ground and spacecraft cannot be assumed to provide exactly-once delivery.

We would appreciate any guidance on the intended pattern for handling this use case with the current MO API.

Thank you in advance for your guidance.

Best regards,
Tamás

Ngôn ngữ chính
Java
Star
18
Fork
11
Merge trung bình
4 phút
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của esa/mo-services-java

Tất cả issue của esa/mo-services-java

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.