Gentle.Common.Cache.Insert error

ian r
  • ian r

    ian r - 2007-10-29

    Hi, I work for a development charity in the UK. We've been using Gentle.NET to power one of our main database systems for a couple of years now. (mostly, its worked fine, btw!)

    We're currently using Gentle.NET

    We've been doing some major new development this summer, and twice we've had a problem whereby every attempt to retreive an object results in the following error:

    ---> System.ApplicationException: This operation returned because the timeout period expired.
    at Gentle.Common.Cache.Insert(Object key, Object value, CacheItemLifetime lifetime)
    at Gentle.Common.CacheManager.Insert(String key, Object value, CacheStrategy strategy)
    at Gentle.Framework.ObjectConstructor.Construct(Int32 columnComboHashCode, Object[] row, PersistenceBroker broker)
    at Gentle.Framework.ObjectFactory.GetInstance(Type type, SqlResult sr, Key key)
    at Gentle.Framework.PersistenceBroker.RetrieveInstance(Type type, Key key, IDbConnection conn, IDbTransaction tr)
    at Gentle.Framework.Broker.RetrieveInstance(Type type, Key key) 

    It affects all clients logged into the ASP.NET application that we've built on top of Gentle. The only way to get the system working again is to re-cycle the app (i.e. shut down that web app and start it up again so that the gentle cache gets cleared)

    It's only happened a couple of times, so its been hard to find out whats causing it, but it looks like something is locking up the main Gentle object cache, and then subsequently retreived objects cannot be added into it, and so the retreives fail.

    Obviously 'upgrade to 1.2.9' will probably be the main advice, but before doing that I wanted to check if this is a known issue or not. Our application uses the object cache a lot, but also flushes it regularly.

    • Morten Mertner

      Morten Mertner - 2007-10-31

      This sounds like a locking problem. Although I was not aware of any bugs in the old code, this was in fact rewritten completely in 1.2.9.

      To quote from the changelog: This release features a complete rewrite of the cache subsystem with significant performance improvements as a result. There have also been several minor improvements and bugfixes throughout the code base.

      So, upgrading would probably be a wise choice ;-)

    • Nobody/Anonymous

      I just downloaded Gentle 1.2.9 but it only contains the source code.
      Is there a binary distribution anywhere or do we have to build it ourselves?


      • Nobody/Anonymous

        Compiling should be a matter of launching VS and hitting "build". 0 Errors, 0 Warnings (under VS2003/NET 1.1).

        Under 2.0 the story is different and it will compile with warnings. But Gentle 1.2.9 works under .NET 2.0 despite the warnings.

    • Nobody/Anonymous

      oops - ignore last comment
      I was looking in the wrong place for the binaries

    • Nobody/Anonymous

      I think that this problem perhaps concerns this thread.

      The bug has been resolved in version 1074 which is later than the 1.2.9 release.

      Could we hope a release 1.2.10 with the latest minor fixes put in the sources repository since 2006 ?

      I'm using Gentle since 4 years on application running 24/24 7/7 and it rocks.

      Lionel Schiepers.

      • Morten Mertner

        Morten Mertner - 2008-02-29

        I suppose that is a nag for me to pick up on. I've promised Roger and others that I would get around to making another release, and that is still the plan. It's just tough to get around to actually doing when you're swamped with other stuff :)

        Given that Confluence is down I suppose I should make an effort at closing up more properly by making a release with docs and everything in case someone else wants to take over and do whatever with it. I also promised to make it work properly with .NET 2.0. Stay tuned for that (I have a deadline on Monday so can't do it right away, which is otherwise the best way to Get Things Done<tm>).

        And thanks for the praise! :-)


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks