[groonga-dev,03380] Re: PGROONGAで障害発生

Back to archive index

高見 直輝 takam****@orega*****
2015年 7月 23日 (木) 09:22:54 JST


高見です。

> > ファイルハンドルのロック状況が気になったので調べてみました。
> > 使用したツール:OpenedFilesView
> > http://www.nirsoft.net/utils/opened_files_view.html
> > この結果、PGRN系のファイルに関して、『Shared Delete』が指定されていない
> > ことが判明しました。(PostgreSQLの他のファイルは指定されている)
> > これが削除時にエラーになる原因の可能性はありますでしょうか?
> 
> 実は、確認してもらったバージョンでは「Shared Delete」(Cの
> API的にはFILE_SHARE_DELETEというフラグ)を指定するようにして
> います。それでも効いていないので、CreateFileMapping()(*)とい
> う機能を使った場合は「Shared Delete」を使えないんじゃないか
> と思っています。
> 
> (*) https://msdn.microsoft.com/en-us/library/windows/desktop/aa366537%28v=vs.85%29.aspx
>     ファイルの内容をあたかもメモリー上にあるデータのように扱
>     うようにするための機能。Groongaはこの機能を使ってデータ
>     ベースの内容を読み書きしている。

少し調べてみたところ、CreateFileMappingで"PAGE_READWRITE | SEC_NOCACHE"
を指定することで対処可能という情報が有りました。
http://www.osronline.com/showThread.cfm?link=64732
ただ、CreateFileMappingのページでは、これを適用することで別の問題が発生
する可能性があると記載されているので、解決策としては微妙なところです。

----------------------------- 
高見 直輝 <takam****@orega*****>
株式会社オレガ
TEL:03-3267-0150
FAX:03-3267-0180




groonga-dev メーリングリストの案内
Back to archive index