Kouhei Sutou
kou****@clear*****
2015年 10月 2日 (金) 23:40:33 JST
須藤です。 In <CAAQQ+NBNRSfd_+-s3NREHjciASKJKdmpUeThLrOBfFhWq_OSQQ****@mail*****> "[groonga-dev,03538] Re: Mroonga で data truncated for primary key column: <id> が発生する" on Fri, 2 Oct 2015 06:39:17 +0900, morit****@razil***** wrote: >> >> あぁ、完全にgrn_patが壊れていますね。。。 >> >> 森さん、_grn_pat_add()の中でio_lockせずに >> pat->header->n_entriesとかを変更しているんですが、これって意 >> 図的ですよね?複数スレッド・プロセスから同時にaddすると壊れ >> ることがありそうな気がしたんですが。。。 > > > db APIのレイヤ(db.cの中)でロックしているので、 > grn_pat_addが複数のスレッドから同時に実行されることはないと考えています。 > (grn_pat_*のレイヤの関数は外部から直接呼ばれないはずだという前提で作ってあります) 失礼しました。 たしかにそうですね。大丈夫でした。 各務さん、これ(Groongaでselectすると同じ_idのレコードが返っ てくる)が発生したときにlock_clearは使っていましたか? 使っていたら発生してもおかしくないんですが、使っていなかった ら発生するのはおかしいんです。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ: http://www.clear-code.com/services/code-reader/