Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document all 'bug compatibility' features in impl/memory #46

Open
riannucci opened this issue Apr 23, 2016 · 0 comments
Open

Document all 'bug compatibility' features in impl/memory #46

riannucci opened this issue Apr 23, 2016 · 0 comments

Comments

@riannucci
Copy link
Member

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant