- was concerned with how parts of the API code should be attributed to mbait as he posts it in chunks for review. ChipX86 indicated it is fine to provide credit in review and commit messages.
- the API code can be posted in small separate chunks as long as they do not break the build (unit tests / post-review)
- API code will be committed to master as it is reviewed.
- is really hoping for a decision to be made on the design of backend implementation for the activity feed.
- prototyped two implementations, one using a single JSON field on each review request, another with a separate table
- will post the prototypes for review
- filled the database with 100k requests, each with 10 actions, and profiled them.
- results weren’t that different.
- JSON Field Implementation:
- 118MB Database Size
- 30 seconds for first query
- Table implementation:
- 133MB Database Size
- 60 seconds for first query (using select_related)
- Much faster first query if simple join used (similar to JSON Field)
- 1.5 – 2.5 second queries if results limited to 500 requests
- based on the data needed, the separate table will be fine
- extra details when an action is expanded can be retrieved with ajax
- We’re going to be more careful about database queries in the future.
- ran some query tests, and even small review requests had over 100 queries (larger ones had several hundred)
- is fixing this now, and has shaved off about 60% of them so far.
- will post a guide to query Dos and Don’ts
- there will be unit tests which check query count, and if it goes up will fail. Extra queries must be justified.