chore: ビルド不能で放置された cc/occ/ を撤去 (#84)#104
Merged
Merged
Conversation
新プロトコル用テンプレートだった cc_format/ を削除する。Makefile ベースで 本体の CMake ビルドから乖離しており、README.md の手順も行番号ベースで内部 リファクタリングのたびに陳腐化していた。トップレベル CMake からは参照されて おらず、リポジトリ全体に dangling な参照は無い (grep 確認済み)。 テンプレートの役割は docs/contributing の「新しいプロトコルを追加する」 セクションに概念ベースで置き換える (別コミット)。生成スクリプト案が廃止 された経緯は #34 を参照。
cc_format/ 削除で失われた「新プロトコル用テンプレート」の役割を、 contributing_ja / contributing_en の「新しいプロトコルを追加する」 セクションで概念ベースに置き換える。 行番号ベースの指示は意図的に書かない (内部リファクタリングで陳腐化 するため。これが #83 の動機)。代わりに以下を概念ベースで記載: - 出発点は「目的に近い既存プロトコル (silo 等) をコピー」 - cc/<name>/ 各ファイルの役割 (CMakeLists.txt / エントリポイント / transaction.hh / result.cc / util.cc 等) - ccbench_add_protocol() ヘルパーへの乗せ方とトップレベル CMake の foreach への登録 - TxExecutorLike concept による TxExecutor 契約のコンパイル時強制 - 機械的にチェックできる完了チェックリスト _ja を原典として更新し、_en も同一コミットで揃える (Hard rule)。
cc/occ/ (K&R OCC 実装) は現行ビルドシステムに接続できる状態に無く、 入れ忘れではなく構造的にビルド不能であることが #84 の調査で判明したため 撤去する。 理由 (#84 の調査結論): - ビルド不能: CMakeLists.txt が無く legacy Makefile のみ。その Makefile が include する include/MakefileForMasstreeUse はツリーに存在せず、 ba947f4 の移動以前から build は壊れていた。 - concept 非適合: クラス名が TxnExecutor (現行は TxExecutor)、API も legacy uint64-key API で現行の TxExecutorLike concept (include/tx_executor_concept.hh) に適合しない。 - 6 年放置: 最後の機能更新は 2020-06-18。以降は移動と reformat の機械的 変更のみ。 - silo と重複: OCC 系の代表は現行 API 適合・4 ワークロード対応・wired 済みの cc/silo/ が担えている。 - 可逆: K&R OCC の実装は git 履歴 (5c74d3b〜7a8fe9f) に残るので、必要に なれば復元して現行 API で書き直せる。 あわせて docs/protocols_{ja,en}.md の「デフォルトではビルドしないもの」 セクション (cc/occ/ への dangling な参照) を削除する。トップレベル CMakeLists.txt の foreach は元から occ を含まないため変更不要。 Closes #84
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
cc/occ/(K&R OCC 実装) を撤去する。#84 の調査で、これは「foreach への入れ忘れ」ではなく構造的に現行ビルドシステムへ接続できない状態であることが判明したため。撤去の理由 (#84 調査結論)
CMakeLists.txtが無く legacyMakefileのみ。そのMakefileが include するinclude/MakefileForMasstreeUseはツリーに存在せず、ba947f4 の移動以前から build は壊れていた。TxnExecutor(現行はTxExecutor)、API も legacy uint64-key API で現行のTxExecutorLikeconcept (include/tx_executor_concept.hh) に適合しない。cc/silo/が担えている。変更内容
cc/occ/ディレクトリを削除 (14 ファイル)。docs/protocols_ja.md/docs/protocols_en.mdの「デフォルトではビルドしないもの / Not built by default」セクション (cc/occ/への dangling な参照) を削除。_ja/_enセット更新の Hard rule に従い同一コミット。CMakeLists.txtのforeach(_proto …)は元からoccを含まないため変更不要。確認
grep -rn "cc/occ"がリポジトリ全体で 0 件 (moccは別プロトコルなので対象外、誤検出なし)。cmake -S . -B build(configure) が成功する。Closes #84