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

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 7月 23日 (木) 23:17:09 JST


須藤です。

In <20150****@orega*****>
  "[groonga-dev,03380] Re: PGROONGAで障害発生" on Thu, 23 Jul 2015 09:22:54 +0900,
  高見 直輝 <takam****@orega*****> wrote:

>> 実は、確認してもらったバージョンでは「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のページでは、これを適用することで別の問題が発生
> する可能性があると記載されているので、解決策としては微妙なところです。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa366539%28v=vs.85%29.aspx
には

Applications should not use this flag except when explicitly
required for a device.

と書いているので使わないほうがよさそうですね。。。

字面だけみるとキャッシュしなそう(変更を都度ディスクに書きだ
しそう)なので、性能面でのデメリットもありそうな気がします。




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