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 188.8.131.52008
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.
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 ;-)
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?
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.
oops - ignore last comment
I was looking in the wrong place for the binaries
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.
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! :-)
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.