20.6.12. hotgitops Protocol 2.7


Infinispan のバージョン

このバージョンのプロトコルは Infinispan 9.2 以降実装されます。

この Hotfsprogs プロトコルバージョンは、トランザクション操作のサポートを追加しています。これには、3 つの新たな操作が含まれます。

  • トランザクション書き込みセット(変更されたキーなど)を使用して prepare は、サーバーでトランザクションを準備および検証しようとします。
  • 準備済みトランザクションをコミットします。
  • ロールバックし、準備済みのトランザクションをロールバックします。

要求の準備

要求(0x3B):

Expand
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

Xid

XID

トランザクション ID(XID)

OnePhaseCommit

byte

1 に設定すると、サーバーは利用可能な場合は 1 フェーズコミットを使用します(XA のみ)。

キー数

vInt

キー数

各キーについて(キーは一意でなければなりません)

キーの長さ

vInt

キーの長さ。vInt のサイズは最大 5 バイトで、理論では Integer.MAX_VALUE よりも大きな数値を生成することができる点に注意してください。ただし、Java では Integer.MAX_VALUE を超える単一のアレイを作成できないため、プロトコルは vInt アレイの長さを Integer.MAX_VALUE に制限します。

キー

バイト配列

キーを含むバイトアレイ

Control Byte

Byte

以下の意味を持つビットセット。
0x01 = NOT_READ
0x02 = NON_EXISTING
0x04 = REMOVE_OPERATION
を同時に設定できないことに注意してください。

バージョン読み取り

Long

読み込まれたバージョン。NOT_READ および NON_EXISTING が存在しない場合のみ送信されます。

TimeUnits

Byte

ライフスパンの時間単位(最初の 4 ビット)および maxIdle(最後 4 ビット)。デフォルトのサーバーの有効期限には、特別なユニット DEFAULTINFINITE を使用できます。使用できる値:
0x00 = SECONDS
0x01 = MILLISECONDS
0x02 = NANOSECONDS
0x03 = MICROSECONDS
0x04 = MINUTES
0x05 = HOURS
0x06 = DAYS
0x 07 = DEFAULT
0x08 = INFINITE
のみが送信され、REMOVE_OPERATION が設定されていない場合のみ送信されます。

有効期間

vLong

エントリーの有効期間。時間の単位が DEFAULT または INFINITE _OPERATION が設定されていない場合にのみ送信されます。

最大 ID

vLong

各エントリーがキャッシュからエビクトされる前にアイドル状態になる期間。時間の単位が DEFAULT または INFINITE _OPERATION が設定されていない場合にのみ送信されます。

値の長さ

vInt

値の長さ。REMOVE_OPERATION が設定されていない場合にのみ送信されます。

byte-array

保存する値。REMOVE_OPERATION が設定されていない場合にのみ送信されます。

コミットとロールバックリクエスト

要求。コミット(0x3D)および Rollback(0x3F):

Expand
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

Xid

XID

トランザクション ID(XID)

準備、コミット、ロールバックリクエストからの応答。

応答。prepare(0x3C)、Commit(0x3E)、および Rollback(0x40)

Expand
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

XA 戻りコード

vInt

準備応答を表す XA コード。
XA_OK(0 )、XA_RDONLY(3) またはエラーコードのいずれかを指定できます( XaExceptionを参照)。
応答の状態が Successful と異なる場合、このフィールドは表示されません。

XID 形式

リクエストの XID の形式は以下のとおりです。

Expand
フィールド名サイズ

形式 ID

署名済み vInt

XID 形式。

グローバルトランザクション ID の長さ

byte

グローバルトランザクション ID バイトアレイの長さ。最大値は 64 です。

グローバルトランザクション ID

バイト配列

グローバルトランザクション ID。

ブランチ修飾子の長さ

byte

ブランチ修飾子バイトアレイの長さ。最大値は 64 です。

ブランチ修飾子

バイト配列

ブランチ修飾子。

カウンターの設定エンコーディング形式

CounterConfiguration クラスエンコーディングの形式は以下のとおりです。

注記

カウンター関連の操作では、Request Header の Cache Name フィールドが空にすることができます。

注記

Response Header:
* 0x00: Operation successful.
* 0x01: Operation failed.
* 0x02: The counter is't defined.
* 0x04 : The counter reached a boundary. * 0x04: The counter reached a boundary. STRONG カウンターのみ可能です。

Expand
フィールド名サイズ

Flags

byte

CounterType および Storage がエンコードされました。以下として、大きなビットのみが使用されます。
1 - WEAK カウンターの場合は 1STRONG カウンターの場合は 0 です。
2 番目のビット - BOUNDED カウンターの場合は 1UNBOUNDED カウンターの場合は 0 、3 番目のビット: 1PERSISTENT ストレージの場合は 1、VOLATILE ストレージの場合)

同時実行レベル

vInt

(オプション)カウンターの同時実行レベル。カウンターが WEAK の場合にのみ表示されます。

下限

Long

(任意)バインドされたカウンターの下限。カウンターが BOUNDED の場合にのみ表示されます。

上限

Long

(任意)バインドされたカウンターの上限です。カウンターが BOUNDED の場合にのみ表示されます。

初期値

Long

カウンターの最初の値。

counter create operation

カウンターが存在しない場合は作成します。

Expand
表20.7 要求(0x4B)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

カウンターの設定

variable

カウンターの設定。CounterConfiguration encode を参照してください。

Expand
表20.8 応答(0x4C)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Response Header Status には、以下の値が使用できます。

  • 0x00: 操作に成功しました。
  • 0x01: 操作に失敗しました。カウンターはすでに定義されています。
  • エラーコードについては、「 Reponse Header 」を参照してください。

カウンター get configuration 操作

カウンターの設定を返します。

Expand
表20.9 要求(0x4D)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前。

Expand
表20.10 Response (0x4E)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

カウンターの設定

variable

(オプション)カウンターの設定。Status==0x00 の場合にのみ表示されます。CounterConfiguration encode を参照してください。

Response Header Status には、以下の値が使用できます。

  • 0x00: 操作に成功しました。
  • 0x02: Counter は存在しません。
  • エラーコードについては、「 Reponse Header 」を参照してください。

カウンターは定義された操作です。

カウンターが定義されているかどうかを確認します。

Expand
表20.11 要求(0x4F)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

Expand
表20.12 応答(0x51)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Response Header Status には、以下の値が使用できます。

  • 0x00: Counter が定義されます。
  • 0x01: Counter が定義されていない。
  • エラーコードについては、「 Reponse Header 」を参照してください。

カウンターの add-and-get 操作

カウンターに値を追加し、新しい値を返します。

Expand
表20.13 要求(0x52)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

Long

追加する値

Expand
表20.14 応答(0x53)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Long

(任意設定)カウンターの新しい値。Status==0x00 の場合にのみ表示されます。

注記

WeakCounter は新しい値にアクセスできないため、 はゼロになります。

Response Header Status には、以下の値が使用できます。

  • 0x00: 操作に成功しました。
  • 0x02: カウンターが定義されていません。
  • 0x04: カウンターがその境界に到達しました。STRONG カウンターのみ可能です。
  • エラーコードについては、「 Reponse Header 」を参照してください。

counter reset operation

カウンターの値をリセットします。

Expand
表20.15 要求(0x54)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

Expand
表20.16 応答(0x55)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Response Header Status には、以下の値が使用できます。

  • 0x00: 操作に成功しました。
  • 0x02: Counter が定義されていない。
  • エラーコードについては、「 Reponse Header 」を参照してください。

カウンター get 操作

カウンターの値を返します。

Expand
表20.17 要求(0x56)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

Expand
表20.18 応答(0x57)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Long

(任意設定)カウンターの値。Status==0x00 の場合にのみ表示されます。

Response Header Status には、以下の値が使用できます。

  • 0x00: 操作に成功しました。
  • 0x02: Counter が定義されていない。
  • エラーコードについては、「 Reponse Header 」を参照してください。

カウンター比較およびスワップ操作

現在の値が想定される場合、比較してカウンター値のみを更新します。

Expand
表20.19 要求(0x58)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

expect

Long

カウンターの期待値。

Update

Long

設定するカウンターの値。

Expand
表20.20 応答(0x59)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Long

(任意設定)カウンターの値。Status==0x00 の場合にのみ表示されます。

Response Header Status には、以下の値が使用できます。

  • 0x00: 操作に成功しました。
  • 0x02: カウンターが定義されていません。
  • 0x04: カウンターがその境界に到達しました。STRONG カウンターのみ可能です。
  • エラーコードについては、「 Reponse Header 」を参照してください。

カウンターのリスナーの追加および削除

カウンターのリスナーを追加/削除します。

Expand
表20.21 Request ADD(0x5A)/ REMOVE(0x5C)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

listener-id

バイト配列

リスナーの ID

Expand
表20.22 応答: ADD(0x5B)/ REMOVE(0x5D)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Response Header Status には、以下の値が使用できます。

  • 0x00: 成功し、リクエストで使用される接続を使用してイベント(add)を送信するか、または接続を削除(削除)できます。
  • 0x01: 成功し、現在の接続は引き続き使用中です。
  • 0x02: カウンターが定義されていません。
  • エラーコードについては、「 Reponse Header 」を参照してください。
Expand
表20.23 カウンターイベント(0x66)
フィールド名サイズ

ヘッダー

variable

操作コード 0x66のイベントヘッダー

名前

string

カウンターの名前

listener-id

バイト配列

リスナーの ID

エンコードされたカウンターの状態

byte

old および new counter の状態にエンコードされました。bit set:
------00: Valid old state
------01: Lower bound reached old state
------10: Upper bound reached old state
----00--: Valid new state
----01--: Lower bound reached new state
----10--: Upper bound reached new state

古い値

Long

カウンターの古い値

新しい値

Long

カウンターの新しい値

注記

CounterManager 実装内のすべてのカウンターは、同じ listener-id を使用できます。

注記

接続は単一の listener-id に専用で、異なるカウンターからイベントを受信できます。

counter remove operation

クラスターからカウンターを削除します。

注記

カウンターは、再度アクセスされている場合は再作成されます。

Expand
表20.24 要求(0x5E)
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

名前

string

カウンターの名前

Expand
表20.25 応答(0x5F)
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

Response Header Status には、以下の値が使用できます。

  • 0x00: 操作に成功しました。
  • 0x02: カウンターが定義されていません。
  • エラーコードについては、「 Reponse Header 」を参照してください。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る