Table storage (emulator) insert fails with "One of the request inputs is not valid."
azure, azure-table-storage
Solution
So, I've been able to successfully reproduce the error on a consistent basis, and it turns out that it's a pretty nasty bug introduced in the October 2012 SDK.
Any string ending with a space will cause the exception to be thrown. Calling Trim() on all string inputs has solved this issue.
Problem
I have an import process that takes data from an old source and puts it into table storage, which allows me to re-init table storage and start over as needed. It was working prior to updating to the October Azure SDK for .NET (VS2012). Now, it fails after inserting a few entities (it seems to vary, the imported data is not static in nature). The first entity, of the same type, always inserts successfully. The partition keys are unique, and the RowKey for each is an empty string (not null). It is failing specifically on `SaveChangesWithRetries()`. Are there any changes in the new SDK that would be incompatible with what I was doing before? Update I've been inspecting the actual XML of successfully inserted rows by querying the table storage database. One thing I noticed is that a nullable int column on the entity has SqlType `nvarchar(max)` when it's null, and `int` when it's not null. Is this intended?