Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Technical Question: Recommended approach for Action idempotency / duplicate handling

オープン
#58 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
ドキュメント
明瞭さ
説明が足りない
活発さ
活発
技術スタック
java

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
Java
スター
18
フォーク
11
平均マージ
4分
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

esa/mo-services-java のほかの issue

esa/mo-services-java の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。