Mark Norton 15 April 2014 12:42:37 p.m.The issue is that the Microsoft component that IDIOM uses to sign the Repository 'release' documents is unable to sign large XML documents on import/export, causing an out of memory exception. We are not sure of what the upper limit is but a recent repository of 68mb generated an exception. The issue can be alleviated by switching to a 64bit build as it is capable of addressing more than 2gb of virtual memory (unlike 32bit processes) - but may still cause problems.
Note that this has nothing to do with the physical amount of memory installed on a machine. This has been reported to Microsoft who have closed the issue under the "will not fix" category (http://connect.microsoft.com/visualstudio/feedback/details/663085/out-of-memory).
We have been using the same signing code for a decade and the upper limit appears to vary with different IDIOM builds for unknown reasons.
Some suggestions to address this issue:
- Limit individual Repository sizes to less than 60MB
This also has a few advantages in terms of usability - mainly that the repositories no longer take a long time to load and work with.
We also encourage clients who have access to database resident data to use the databases for table lookups (rather than loading the table contents into Repositories, causing bloat).
- Re-implement the signing method
IDIOM will look at switching to a stream reader (in contrast to the current Microsoft in memory implementation) in a future release.
- Comments