This project has moved and is read-only. For the latest updates, please go here.

PersistentDictionary Throwing "Version store out of memory (cleanup already attempted)" Error

Jan 14, 2013 at 9:54 PM

I'm using the PersistentDictionary and it is working great until I try to store an object that is about 780kb.  See stack trace below:

This thread (Version store out of memory (cleanup already attempted) error) recommends to increase the size of the JET_param.MaxVerPages parameter.  How do I do that when using the PersistentDictionary?

Thanks,

T.J.

Stack Trace:

Version store out of memory (cleanup already attempted) -    at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err) in C:\ManagedEsent\EsentInterop\Api.cs:line 2739   at Microsoft.Isam.Esent.Interop.Api.JetSetColumn(JET_SESID sesid, JET_TABLEID tableid, JET_COLUMNID columnid, Byte[] data, Int32 dataSize, Int32 dataOffset, SetColumnGrbit grbit, JET_SETINFO setinfo) in C:\ManagedEsent\EsentInterop\InternalApi.cs:line 57   at Microsoft.Isam.Esent.Interop.ColumnStream.Write(Byte[] buffer, Int32 offset, Int32 count) in C:\ManagedEsent\EsentInterop\ColumnStream.cs:line 207   at System.IO.BinaryWriter.Write(String value)   at System.Runtime.Serialization.Formatters.Binary.BinaryObjectString.Write(__BinaryWriter sout)   at System.Runtime.Serialization.Formatters.Binary.__BinaryWriter.WriteObjectString(Int32 objectId, String value)   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteString(NameInfo memberNameInfo, NameInfo typeNameInfo, Object stringObject)   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteKnownValueClass(NameInfo memberNameInfo, NameInfo typeNameInfo, Object data)   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteMembers(NameInfo memberNameInfo, NameInfo memberTypeNameInfo, Object memberData, WriteObjectInfo objectInfo, NameInfo typeNameInfo, WriteObjectInfo memberObjectInfo)   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteMemberSetup(WriteObjectInfo objectInfo, NameInfomemberNameInfo, NameInfo typeNameInfo, String memberName, Type memberType, Object memberData, WriteObjectInfo memberObjectInfo)   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo, String[] memberNames, Type[] memberTypes, Object[] memberData, WriteObjectInfo[] memberObjectInfos)   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo)   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)   at Microsoft.Isam.Esent.Interop.Api.SerializeObjectToColumn(JET_SESID sesid, JET_TABLEID tableid, JET_COLUMNID columnid, Object value) in C:\ManagedEsent\EsentInterop\SetColumnHelpers.cs:line 398   at Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.<.ctor>b__0(JET_SESID s, JET_TABLEID t, JET_COLUMNID c, TColumn o) in C:\ManagedEsent\EsentCollections\ColumnConverter.cs:line 101   at Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.SetValue(TValue value) in C:\ManagedEsent\EsentCollections\PersistentDictionaryCursor.cs:line 450   at Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.Insert(KeyValuePair`2 data) in C:\ManagedEsent\EsentCollections\PersistentDictionaryCursor.cs:line 362   at Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Add(KeyValuePair`2 item) in C:\ManagedEsent\EsentCollections\PersistentDictionary.cs:line 435   at Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Add(TKey key, TValue value) in C:\ManagedEsent\EsentCollections\PersistentDictionary.cs:line 568