none
Error code 25101 using ReplicaMetadata RRS feed

  • Question

  • Hi all,

    I'm using Microsoft Sync Framework 2.0 to sync data between a file and the Outlook. After sync with a lot of data (about 700 contacts) the metadata saved has around 596kb. If I change one item and try to sync again I'll get an Exception with the following message: "A storage engine operation failed with error code 25101".

    If I close the application and wait about 1 hour (if I wait minus time I 'll get the error 25101 again), the app will sync again with success. I'm trying to investigate if I need to release some objects, but the code seems to be fine.

    Trying to investigate the error 25101 I discovered that it is: SSCE_M_OUTOFBUFFERPOOLSPACE: SQL Server Compact has exceeded the buffer size. The default size can be increased on initialization by modifying the ssce: max buffer size property.

    But, I didn't find any way to change the max buffer size of my MetadataStore or my SqlMetadataStore, or in my ReplicaMetadata

    This problem happens if I'm working on Windows XP. But using Windows Vista the application works fine.

    Do you have any idea to help me to solve this problem?

    Tuesday, March 2, 2010 3:49 PM

Answers

  • Hi -

    JuneT is correct about the way to increase the buffer size but since you have no access to the connection string( we are not exposing it ), you cannot fix your problem like this. However, it makes no sense that you are closing the application and still cannot immediately sync. The metadata store is loaded in-proc and the moment the process exits - the store is unloaded. Can you confirm that when you close the application - it has definitely died?

    Specifically hitting the buffer pool size can be reduced - by reducing the number of rows you are committing in a single transaction. Commit more frequently and this should fix the problem.

    Thanks
    Deepa
    Deepa ( Microsoft Sync Framework)
    Tuesday, March 2, 2010 7:01 PM
    Answerer

All replies

  • i think you can pass the max buffer size property in the connection string: e.g., Source=C:\Temp\mySQLCEDB.sdf; SSCE:Max Buffer Size=2048
    Tuesday, March 2, 2010 3:53 PM
    Moderator
  • Hi -

    JuneT is correct about the way to increase the buffer size but since you have no access to the connection string( we are not exposing it ), you cannot fix your problem like this. However, it makes no sense that you are closing the application and still cannot immediately sync. The metadata store is loaded in-proc and the moment the process exits - the store is unloaded. Can you confirm that when you close the application - it has definitely died?

    Specifically hitting the buffer pool size can be reduced - by reducing the number of rows you are committing in a single transaction. Commit more frequently and this should fix the problem.

    Thanks
    Deepa
    Deepa ( Microsoft Sync Framework)
    Tuesday, March 2, 2010 7:01 PM
    Answerer