hazelcast / hazelcast/hazelcast-python-client

[TRACKING ISSUE] Check for the minimum size of the bytes read only once per frame

オープン
#554 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
116
フォーク
78
平均マージ
10日 22時間
マージ済み PR(30日)
1

説明

The tracking issue for the Java side PR.

See https://github.com/hazelcast/hazelcast/pull/21502 for details.

---

Before this fix, while reading a message frame, we were mistakenly
checking that the bytes we haven't read yet are less than 6 bytes
each time the `ClientMessageReader#readFrame` is called.

This is problematic for frames that are read in multiple calls,
as the size of the last piece of the frame we are reading might be
actually less than 6 bytes and that is definitely valid. However,
in that case, we were not able to read the remaining part and
continue.

This PR aims to fix this problem by having that check only at the
beginning for each frame, only once per frame. Once we read the frame
length and flags, we will be able to read any number of bytes no
matter how small it is.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

ClientMessageReader#readFrame から始め、意図された動作についてリンク先の Java PR を確認してください。最小サイズのチェックが各フレームの開始時に一度だけ行われ、最後の部分が 6 バイト未満である場合を含め、複数回の読み取りに分割されたフレームを正常に読み取れることを確認してください。

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

評価

技術スタック
java, python
領域
distributed-systems
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

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

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