All work
- RtMemoryCache accepts invalid prioritiesNHCH-53Resolved issue: NHCH-53Frédéric Delaporte
- Add default expiration support to SysCache2NHCH-52Resolved issue: NHCH-52Frédéric Delaporte
- EnyimMemcached cannot be used by many session factoriesNHCH-51Resolved issue: NHCH-51Frédéric Delaporte
- Non-compliant absolut expirationNHCH-50Resolved issue: NHCH-50Frédéric Delaporte
- Release Caches for 5.0NHCH-49Resolved issue: NHCH-49Frédéric Delaporte
- Add ability to inject a Dynamic Value into the Second Level Cache keyNHCH-48Resolved issue: NHCH-48Frédéric Delaporte
- LINQ conditional filter not working anymoreNHCH-47Resolved issue: NHCH-47Frédéric Delaporte
- Release caches for NH 4.0NHCH-45Resolved issue: NHCH-45Ricardo Peres
- NHibernate.Caches have not been built against NHibernate 3.3.3.4000NHCH-44Resolved issue: NHCH-44
- QueryCache CJK language not supported.NHCH-43Resolved issue: NHCH-43Frédéric Delaporte
- testNHCH-41Resolved issue: NHCH-41
- add useSlidingExpiration property to choose between absolute or sliding expirationNHCH-38Resolved issue: NHCH-38Frédéric Delaporte
- SoftLimitMRUCache continues growing despite any attempts to clearNHCH-37Resolved issue: NHCH-37
- Composite key entities returned from cache are corrupt / duplicatedNHCH-36Resolved issue: NHCH-36Frédéric Delaporte
- sessionfactory.evict not workNHCH-35Resolved issue: NHCH-35
- Added locking to Enyim Memcached ClientNHCH-34Resolved issue: NHCH-34Frédéric Delaporte
- New Cache ProviderNHCH-33Resolved issue: NHCH-33
- Assembly 'NHibernate.Caches.SysCache.dll' must have a shared name to be installed globallyNHCH-32Resolved issue: NHCH-32
- NHibernate.Caches.Velocity - update to AppFabric Caching Services 1.0NHCH-31Resolved issue: NHCH-31
- New items with same ids as deleted items cannot be cached until cache.expiration windows endsNHCH-30Resolved issue: NHCH-30
- Second level cache unexpected behaviourNHCH-29Resolved issue: NHCH-29
- Remove dependency to any logging frameworkNHCH-28Resolved issue: NHCH-28
- MemCache provider fails to delete item from cache if server is memcached 1.4.4NHCH-27Resolved issue: NHCH-27
- NHibernate.Caches.Memcached updated to use Enyim.Caching.MemcachedNHCH-26Resolved issue: NHCH-26
- TransactionScope promotes SysCache2 command dependency to a distributed transactionNHCH-25Resolved issue: NHCH-25Frédéric Delaporte
- Strong naming and signing assembliesNHCH-24Resolved issue: NHCH-24
- We have a load balancer at our production environment so how will the Nhibernate cache work coz it's not necessary that the request of a user always goes to the same machine in this respect what would happen of Nhibernate cache>?NHCH-23Resolved issue: NHCH-23
- Enable read of cache.default_expiration from NH configurationNHCH-22Resolved issue: NHCH-22
- Allow mnemonic values for priorityNHCH-21Resolved issue: NHCH-21
- NHibernate.Caches.Velocity CTP3 patchNHCH-20Resolved issue: NHCH-20
- Duplicate expiration property handling in MemCacheClientNHCH-19Resolved issue: NHCH-19
- Build for NHibernate 2.0.1.4000NHCH-18Resolved issue: NHCH-18
- NHibernate.Caches.Velocity CTP2 patchNHCH-17Resolved issue: NHCH-17
- Executing cached queries using the SysCache provider does not appear to be workingNHCH-16Resolved issue: NHCH-16
- NHibernate.CacheVelocity - A cache provider for NHibernate using the Microsoft project code named "Velocity" (http://code.msdn.microsoft.com/velocity/)NHCH-15Resolved issue: NHCH-15Diego Jancic
- Add NCache Express provider to documentationNHCH-12Resolved issue: NHCH-12
- <syscache2> configSource paramNHCH-8Resolved issue: NHCH-8Frédéric Delaporte
- NHibernate.Caches.MemCache.MemCacheProvider SockIOPool "Trying to initialize an already initialized pool" when connecting to multiple databasesNHCH-5Resolved issue: NHCH-5Diego Jancic
- NHibernate.Caches.SharedCache provider for indeXus.Net Shared Cache (http://www.sharedcache.com/)NHCH-10Resolved issue: NHCH-10Diego Jancic
- Sys Cache with SqlCacheDependenciesNHCH-11Resolved issue: NHCH-11
- Can't use MemCached for query cache because of big key size.NHCH-4Resolved issue: NHCH-4OrenE
- Memcached.Client library is using log4net 1.2.9, instead of 1.2.10NHCH-2Resolved issue: NHCH-2OrenE
- SysCache throws an NullReferenceException when clearing cache regionNHCH-6Resolved issue: NHCH-6
- SysCache re-caches items without expiration policyNHCH-1Resolved issue: NHCH-1
- Utilize ASP.Net 2.0 SQL Cache DependanciesNHCH-9Resolved issue: NHCH-9
- Move SysCache to core NHibernateNHCH-13Resolved issue: NHCH-13
- SysCache slidingExpiration property doesn't work properlyNHCH-14Resolved issue: NHCH-14KevinK
- Query cache does not work correctly with SysCacheNHCH-3Resolved issue: NHCH-3KevinK
- SysCache: support for configuration per regionNHCH-7Resolved issue: NHCH-7KevinK
Regression - Binary Blob SerializationException - MSSQL 2k8 / varbinary(max)
Description
Environment
Activity
Julian Maughan February 25, 2011 at 1:50 AM
The 3.1 release was slated for the end of this month, so keep watching...
Tim Hughes February 23, 2011 at 3:05 PM
Sorry I meant ETA on version 3.1.0.
Tim Hughes February 23, 2011 at 3:03 PM
Is there an ETA on version 3.0.1? I too am running into the 8k barrier. I tried the mapping described by Michael Teper and that doesn't work. I'm trying to save image data to a database, but every image I upload after making Michael's change has an additional 28 bytes added. The database column I'm writing to is defined as a varbinary(max). The C# class defines the property that holds the data as type byte[]. The mapping file has the exact property mapping as defined by Michael (with the Name attribute changed of course). This did work with version 2.1.2.
Unfortunately I am days away from moving my code into production and would like to get access to version 3.0.1 ASAP.
Michael Teper January 31, 2011 at 12:02 AM
Until 3.0.1, the following mapping seems to do the trick:
<property name="Data" type="Serializable" length="2147483647" />
Ivan Zlatev January 26, 2011 at 7:19 AM
Thanks a lot!
Hi,
I have upgraded from NHibernate 2.1 to NHibernate 3.0 GA and I have hit a regression.
I have an entity with an Image property of type System.Drawing.Image and I have mapped it like
this:
<property name="Image" type="System.Drawing.Image, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<column name="Image" length="2147483647" not-null="false" />
</property>`
The Image column in the table is of type varbinary(MAX) in a MySQL Server 2008 Express database and I am using the MsSql2008 dialect.
While in NHibernate 2.1 this works perfectly fine in NHibernate 3.0 GA it breaks with the exception below when retrieving the entity back from the database:
If I serialize the Image myself with a BinaryFormatter the resulting byte array is more than 8000 bytes, but I see that the NHibernate code is deserializing only the first 8000 bytes. Maybe varbinary(MAX) is not handled correctly?
NHibernate.Type.SerializationException was unhandled by user code
Message=Could not deserialize a serializable property:
Source=NHibernate
StackTrace:
at NHibernate.Type.SerializableType.FromBytes(Byte[] bytes) in d:\CSharp\NH\nhibernate\src\NHibernate\Type\SerializableType.cs:line 150
at NHibernate.Type.SerializableType.Get(IDataReader rs, Int32 index) in d:\CSharp\NH\nhibernate\src\NHibernate\Type\SerializableType.cs:line 67
at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name) in d:\CSharp\NH\nhibernate\src\NHibernate\Type\NullableType.cs:line 253
at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String[] names, ISessionImplementor session, Object owner) in d:\CSharp\NH\nhibernate\src\NHibernate\Type\NullableType.cs:line 195
at NHibernate.Type.AbstractType.Hydrate(IDataReader rs, String[] names, ISessionImplementor session, Object owner) in d:\CSharp\NH\nhibernate\src\NHibernate\Type\AbstractType.cs:line 131
at NHibernate.Persister.Entity.AbstractEntityPersister.Hydrate(IDataReader rs, Object id, Object obj, ILoadable rootLoadable, String[][] suffixedPropertyColumns, Boolean allProperties, ISessionImplementor session) in d:\CSharp\NH\nhibernate\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2505
at NHibernate.Loader.Loader.LoadFromResultSet(IDataReader rs, Int32 i, Object obj, String instanceClass, EntityKey key, String rowIdAlias, LockMode lockMode, ILoadable rootPersister, ISessionImplementor session) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 980
at NHibernate.Loader.Loader.InstanceNotYetLoaded(IDataReader dr, Int32 i, ILoadable persister, EntityKey key, LockMode lockMode, String rowIdAlias, EntityKey optionalObjectKey, Object optionalObject, IList hydratedObjects, ISessionImplementor session) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 935
at NHibernate.Loader.Loader.GetRow(IDataReader rs, ILoadable[] persisters, EntityKey[] keys, Object optionalObject, EntityKey optionalObjectKey, LockMode[] lockModes, IList hydratedObjects, ISessionImplementor session) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 867
at NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 322
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 453
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 236
at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, String optionalEntityName, Object optionalIdentifier, IEntityPersister persister) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 1396
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(ISessionImplementor session, Object id, Object optionalObject, Object optionalId) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Entity\AbstractEntityLoader.cs:line 42
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(Object id, Object optionalObject, ISessionImplementor session) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Entity\AbstractEntityLoader.cs:line 37
at NHibernate.Persister.Entity.AbstractEntityPersister.Load(Object id, Object optionalObject, LockMode lockMode, ISessionImplementor session) in d:\CSharp\NH\nhibernate\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 3436
at NHibernate.Event.Default.DefaultLoadEventListener.LoadFromDatasource(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) in d:\CSharp\NH\nhibernate\src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line 342
at NHibernate.Event.Default.DefaultLoadEventListener.DoLoad(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) in d:\CSharp\NH\nhibernate\src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line 320
at NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) in d:\CSharp\NH\nhibernate\src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line 104
at NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) in d:\CSharp\NH\nhibernate\src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line 160
at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType) in d:\CSharp\NH\nhibernate\src\NHibernate\Event\Default\DefaultLoadEventListener.cs:line 87
at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 2457
at NHibernate.Impl.SessionImpl.Get(String entityName, Object id) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 1336
at NHibernate.Impl.SessionImpl.Get(Type entityClass, Object id) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 1275
at NHibernate.Impl.SessionImpl.Get[T](Object id) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 1259
at HealthyLiving.DataAccess.Repositories.PolymorphicRepository`1.FindById[TEntity](Object id) in C:\Users\Ivan\Documents\Dropbox\projects\HealthyLiving\src\HealthyLiving.DataAccess\Repositories\PolymorphicRepository.cs:line 28
at HealthyLiving.DataAccess.Repositories.Repository`1.FindById(Object id) in C:\Users\Ivan\Documents\Dropbox\projects\HealthyLiving\src\HealthyLiving.DataAccess\Repositories\Repository.cs:line 28
at HealthyLiving.Web.Controllers.FoodController.Details(Int32 id) in C:\Users\Ivan\Documents\Dropbox\projects\HealthyLiving\src\HealthyLiving.Web\Controllers\FoodController.cs:line 24
at lambda_method(ExecutionScope , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c_DisplayClassd.<InvokeActionMethodWithFilters>b_a()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException: System.Runtime.Serialization.SerializationException
Message=End of Stream encountered before parsing was completed.
Source=mscorlib
StackTrace:
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
at NHibernate.Type.SerializableType.FromBytes(Byte[] bytes) in d:\CSharp\NH\nhibernate\src\NHibernate\Type\SerializableType.cs:line 146
InnerException: