{"action":"created","issue":{"url":"https://api.github.com/repos/tortoise/tortoise-orm/issues/69","repository_url":"https://api.github.com/repos/tortoise/tortoise-orm","labels_url":"https://api.github.com/repos/tortoise/tortoise-orm/issues/69/labels{/name}","comments_url":"https://api.github.com/repos/tortoise/tortoise-orm/issues/69/comments","events_url":"https://api.github.com/repos/tortoise/tortoise-orm/issues/69/events","html_url":"https://github.com/tortoise/tortoise-orm/pull/69","id":384207126,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzNDYyOTU1","number":69,"title":"New pool (WIP)","user":{"login":"grigi","id":1309160,"node_id":"MDQ6VXNlcjEzMDkxNjA=","avatar_url":"https://avatars2.githubusercontent.com/u/1309160?v=4","gravatar_id":"","url":"https://api.github.com/users/grigi","html_url":"https://github.com/grigi","followers_url":"https://api.github.com/users/grigi/followers","following_url":"https://api.github.com/users/grigi/following{/other_user}","gists_url":"https://api.github.com/users/grigi/gists{/gist_id}","starred_url":"https://api.github.com/users/grigi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grigi/subscriptions","organizations_url":"https://api.github.com/users/grigi/orgs","repos_url":"https://api.github.com/users/grigi/repos","events_url":"https://api.github.com/users/grigi/events{/privacy}","received_events_url":"https://api.github.com/users/grigi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-11-26T07:38:15Z","updated_at":"2018-12-27T16:17:07Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/tortoise/tortoise-orm/pulls/69","html_url":"https://github.com/tortoise/tortoise-orm/pull/69","diff_url":"https://github.com/tortoise/tortoise-orm/pull/69.diff","patch_url":"https://github.com/tortoise/tortoise-orm/pull/69.patch"},"body":"Now that code base is simpler, and test runner should be more sane, attempt to add connection pooling for the third time.\r\n\r\nThe plan is to change to connection pooling ONLY, as we currently implement persistent connections, but only one persistent connection.\r\nA connection pool should:\r\n* add robustness (if connection dies, then reconnect)\r\n* Allow multiple DB clients to operate at the same time (up to maxsize)\r\n* Allow more conflicts, so we need to handle rollback/retries explicitly.\r\n\r\nThings done:\r\n* [x] Change to a connection pooling system for MySQL.\r\n* [ ] Add simple capabilities so that we can skip tests based on db.\r\n* [ ] Add tests for concurrency\r\n* [ ] Add tests for robustness (hackery allowed)\r\n* [ ] Add tests for handling conflicts.\r\n\r\nConcerns:\r\n* Can SQLite be concurrent at all? If difficult, should we limit it?\r\n* We need to add concurrency to the benchmarks, to manage performance"},"comment":{"url":"https://api.github.com/repos/tortoise/tortoise-orm/issues/comments/450182266","html_url":"https://github.com/tortoise/tortoise-orm/pull/69#issuecomment-450182266","issue_url":"https://api.github.com/repos/tortoise/tortoise-orm/issues/69","id":450182266,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MDE4MjI2Ng==","user":{"login":"grigi","id":1309160,"node_id":"MDQ6VXNlcjEzMDkxNjA=","avatar_url":"https://avatars2.githubusercontent.com/u/1309160?v=4","gravatar_id":"","url":"https://api.github.com/users/grigi","html_url":"https://github.com/grigi","followers_url":"https://api.github.com/users/grigi/followers","following_url":"https://api.github.com/users/grigi/following{/other_user}","gists_url":"https://api.github.com/users/grigi/gists{/gist_id}","starred_url":"https://api.github.com/users/grigi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grigi/subscriptions","organizations_url":"https://api.github.com/users/grigi/orgs","repos_url":"https://api.github.com/users/grigi/repos","events_url":"https://api.github.com/users/grigi/events{/privacy}","received_events_url":"https://api.github.com/users/grigi/received_events","type":"User","site_admin":false},"created_at":"2018-12-27T16:17:07Z","updated_at":"2018-12-27T16:17:07Z","author_association":"MEMBER","body":"My first thought was \"Probably contextvars\" as the backport `aiocontextvars` isn't exactly the same as the py3.7 version.\r\nLooking at the test results, it looks like test isolation completely failed. I get more errors with less processes and less errors with more processes, and if I run a test by itself it always passes..."}}
{"actor":{"display_login":"grigi"}}