apache / apache/parquet-java

Use StringBuilder instead of StringBuffer

オープン
#2,530 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Component: Java Component: Parquet Priority: Trivial Type: enhancement
主要言語
Java
スター
3.1k
フォーク
1.6k
平均マージ
3日 12時間
マージ済み PR(30日)
33

説明

```java

private StringBuffer currentLine = new StringBuffer();

....

public String nextToken() {
while (st.hasMoreTokens()) {
String t = st.nextToken();
if (t.equals("\n")) {
++ line;
currentLine.setLength(0);
} else {
currentLine.append(t);
}
if (!isWhitespace(t)) {
return t;
}
}
throw new IllegalArgumentException("unexpected end of schema");
}
```

Use `StringBuilder` instead of `StringBuffer` as `StringBuffer` is synchronized (which is not required here).

**Reporter**: [David Mollitor](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=belugabehr) / @belugabehr

**Note**: *This issue was originally created as [PARQUET-1921](https://issues.apache.org/jira/browse/PARQUET-1921). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

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

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

リポジトリ内で、示されている StringBuffer の宣言と currentLine の使用箇所を検索し、周辺の tokenizer コードを読んで、バッファーがスレッド間で共有されていないことを確認します。特定した使用箇所を StringBuilder に置き換え、リポジトリに関連する Java のビルドまたはテストコマンドを実行して、tokenizer が引き続き正しく動作することを確認します。

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

評価

技術スタック
java
領域
data-engineering
issue の種類
リファクタリング
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

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

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