0 Replies Latest reply: Mar 9, 2012 3:34 PM by 922962 RSS

    Help :DbMpool unable to evict dirty pages to make space in cache

      Dear All,

      Am using the DbMpoolFile Library for a general purpose cache, but when the cache gets full, dirty pages are not evicted from the cache though i call the DbMpoolFile->put method after every DbMpoolFile->get. The applications throws the following error ,

      BDB3017 unable to allocate space from the buffer cache
      unable to create page 7696: Operation not permitted

      Am quiet new to the BDB library though. i have gone through the docs several times but can't seem to know what am doing wrong. I want the system to evict dirty pages to the backing file and make room for new pages . Do I have to explicitly call the DbEnv::memp_trickle() function ? if yes, where and when, bcos i tried calling it immediately after opening my environment but its still didnt work.
      I expected the DbMpool libarary to handle the pagin and out automatically. Do i have to set any flags ?

      Any help and pointers will be very much appreciated. i've been stuck with this for weeks...
      Thanx .