@danjacques
There's a lot of weird undocumented stuff in impl/memory which was added after discovering that behavior in production. It would be great to be able to pull each weird thing out into a tiny 'documentation app' which uses the stock go SDK to form a minimal test case which can be uploaded to an appspot instance to demonstrate the bug/limitation. This would also help us remove these weird things when they eventually get fixed (since the goal of impl/memory is to provide an as-accurate-as-possible replication of the production behavior as possible).
Some examples of this include:
- limits on # entities modified in a transaction
- discrepancy between unset namespace and
"" namespace in some APIs (like datastore_v3.RunQuery)
- oddball combinations of Query parameters which don't work/behave in surprising ways
- limits on # simultaneously modifiable entities in e.g. PutMulti
- maximum RPC size limits
- etc.
Note that impl/memory currently doesn't implement some of these, as it doesn't actually implement the RPC middleman. If we fix #23, some of these will become more pertinent.
@danjacques
There's a lot of weird undocumented stuff in impl/memory which was added after discovering that behavior in production. It would be great to be able to pull each weird thing out into a tiny 'documentation app' which uses the stock go SDK to form a minimal test case which can be uploaded to an appspot instance to demonstrate the bug/limitation. This would also help us remove these weird things when they eventually get fixed (since the goal of impl/memory is to provide an as-accurate-as-possible replication of the production behavior as possible).
Some examples of this include:
""namespace in some APIs (like datastore_v3.RunQuery)Note that impl/memory currently doesn't implement some of these, as it doesn't actually implement the RPC middleman. If we fix #23, some of these will become more pertinent.