{"action":"created","issue":{"url":"https://api.github.com/repos/learningequality/kolibri/issues/2325","repository_url":"https://api.github.com/repos/learningequality/kolibri","labels_url":"https://api.github.com/repos/learningequality/kolibri/issues/2325/labels{/name}","comments_url":"https://api.github.com/repos/learningequality/kolibri/issues/2325/comments","events_url":"https://api.github.com/repos/learningequality/kolibri/issues/2325/events","html_url":"https://github.com/learningequality/kolibri/issues/2325","id":262237916,"number":2325,"title":"Enrolling a large number (~10) of learners into a class causes an error","user":{"login":"jonboiser","id":10248067,"avatar_url":"https://avatars2.githubusercontent.com/u/10248067?v=4","gravatar_id":"","url":"https://api.github.com/users/jonboiser","html_url":"https://github.com/jonboiser","followers_url":"https://api.github.com/users/jonboiser/followers","following_url":"https://api.github.com/users/jonboiser/following{/other_user}","gists_url":"https://api.github.com/users/jonboiser/gists{/gist_id}","starred_url":"https://api.github.com/users/jonboiser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonboiser/subscriptions","organizations_url":"https://api.github.com/users/jonboiser/orgs","repos_url":"https://api.github.com/users/jonboiser/repos","events_url":"https://api.github.com/users/jonboiser/events{/privacy}","received_events_url":"https://api.github.com/users/jonboiser/received_events","type":"User","site_admin":false},"labels":[{"id":447172036,"url":"https://api.github.com/repos/learningequality/kolibri/labels/TASK:%20bug","name":"TASK: bug","color":"006b75","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/learningequality/kolibri/milestones/7","html_url":"https://github.com/learningequality/kolibri/milestone/7","labels_url":"https://api.github.com/repos/learningequality/kolibri/milestones/7/labels","id":2645289,"number":7,"title":"0.7.0","description":"Initial public release","creator":{"login":"rtibbles","id":1680573,"avatar_url":"https://avatars3.githubusercontent.com/u/1680573?v=4","gravatar_id":"","url":"https://api.github.com/users/rtibbles","html_url":"https://github.com/rtibbles","followers_url":"https://api.github.com/users/rtibbles/followers","following_url":"https://api.github.com/users/rtibbles/following{/other_user}","gists_url":"https://api.github.com/users/rtibbles/gists{/gist_id}","starred_url":"https://api.github.com/users/rtibbles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtibbles/subscriptions","organizations_url":"https://api.github.com/users/rtibbles/orgs","repos_url":"https://api.github.com/users/rtibbles/repos","events_url":"https://api.github.com/users/rtibbles/events{/privacy}","received_events_url":"https://api.github.com/users/rtibbles/received_events","type":"User","site_admin":false},"open_issues":77,"closed_issues":6,"state":"open","created_at":"2017-07-17T15:42:10Z","updated_at":"2017-10-02T22:44:21Z","due_on":"2017-10-31T07:00:00Z","closed_at":null},"comments":1,"created_at":"2017-10-02T21:41:54Z","updated_at":"2017-10-02T23:53:03Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Originally discussed in in #2073.\r\n\r\nBatch enrolling Learners into a class creates 1 request per Learner. When enrolling multiple learners, this seems to cause a race condition where the database can be locked performing one transaction while another one is being attempted.\r\n\r\nOne proposed solution is to allow the relevant endpoint to accept many learners to add to a class, so only one request is made for the whole batch."},"comment":{"url":"https://api.github.com/repos/learningequality/kolibri/issues/comments/333698087","html_url":"https://github.com/learningequality/kolibri/issues/2325#issuecomment-333698087","issue_url":"https://api.github.com/repos/learningequality/kolibri/issues/2325","id":333698087,"user":{"login":"jonboiser","id":10248067,"avatar_url":"https://avatars2.githubusercontent.com/u/10248067?v=4","gravatar_id":"","url":"https://api.github.com/users/jonboiser","html_url":"https://github.com/jonboiser","followers_url":"https://api.github.com/users/jonboiser/followers","following_url":"https://api.github.com/users/jonboiser/following{/other_user}","gists_url":"https://api.github.com/users/jonboiser/gists{/gist_id}","starred_url":"https://api.github.com/users/jonboiser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonboiser/subscriptions","organizations_url":"https://api.github.com/users/jonboiser/orgs","repos_url":"https://api.github.com/users/jonboiser/repos","events_url":"https://api.github.com/users/jonboiser/events{/privacy}","received_events_url":"https://api.github.com/users/jonboiser/received_events","type":"User","site_admin":false},"created_at":"2017-10-02T23:53:03Z","updated_at":"2017-10-02T23:53:03Z","author_association":"CONTRIBUTOR","body":"I haven't personally tried this, but it's possible this can also happen when batch moving learners in/out of groups as a Coach. There is a similar checkbox-based UI, and it POSTs to the same `memberships` endpoint."}}
{"actor":{"display_login":"jonboiser"}}