{"action":"created","issue":{"url":"https://api.github.com/repos/eclipse/openj9/issues/3285","repository_url":"https://api.github.com/repos/eclipse/openj9","labels_url":"https://api.github.com/repos/eclipse/openj9/issues/3285/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/openj9/issues/3285/comments","events_url":"https://api.github.com/repos/eclipse/openj9/issues/3285/events","html_url":"https://github.com/eclipse/openj9/issues/3285","id":370281283,"node_id":"MDU6SXNzdWUzNzAyODEyODM=","number":3285,"title":"JITaaS: reducing the size of Persistent CH table updates","user":{"login":"dmitry-ten","id":13917464,"node_id":"MDQ6VXNlcjEzOTE3NDY0","avatar_url":"https://avatars0.githubusercontent.com/u/13917464?v=4","gravatar_id":"","url":"https://api.github.com/users/dmitry-ten","html_url":"https://github.com/dmitry-ten","followers_url":"https://api.github.com/users/dmitry-ten/followers","following_url":"https://api.github.com/users/dmitry-ten/following{/other_user}","gists_url":"https://api.github.com/users/dmitry-ten/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitry-ten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitry-ten/subscriptions","organizations_url":"https://api.github.com/users/dmitry-ten/orgs","repos_url":"https://api.github.com/users/dmitry-ten/repos","events_url":"https://api.github.com/users/dmitry-ten/events{/privacy}","received_events_url":"https://api.github.com/users/dmitry-ten/received_events","type":"User","site_admin":false},"labels":[{"id":1065695685,"node_id":"MDU6TGFiZWwxMDY1Njk1Njg1","url":"https://api.github.com/repos/eclipse/openj9/labels/jitaas","name":"jitaas","color":"003df7","default":false}],"state":"closed","locked":false,"assignee":{"login":"dmitry-ten","id":13917464,"node_id":"MDQ6VXNlcjEzOTE3NDY0","avatar_url":"https://avatars0.githubusercontent.com/u/13917464?v=4","gravatar_id":"","url":"https://api.github.com/users/dmitry-ten","html_url":"https://github.com/dmitry-ten","followers_url":"https://api.github.com/users/dmitry-ten/followers","following_url":"https://api.github.com/users/dmitry-ten/following{/other_user}","gists_url":"https://api.github.com/users/dmitry-ten/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitry-ten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitry-ten/subscriptions","organizations_url":"https://api.github.com/users/dmitry-ten/orgs","repos_url":"https://api.github.com/users/dmitry-ten/repos","events_url":"https://api.github.com/users/dmitry-ten/events{/privacy}","received_events_url":"https://api.github.com/users/dmitry-ten/received_events","type":"User","site_admin":false},"assignees":[{"login":"dmitry-ten","id":13917464,"node_id":"MDQ6VXNlcjEzOTE3NDY0","avatar_url":"https://avatars0.githubusercontent.com/u/13917464?v=4","gravatar_id":"","url":"https://api.github.com/users/dmitry-ten","html_url":"https://github.com/dmitry-ten","followers_url":"https://api.github.com/users/dmitry-ten/followers","following_url":"https://api.github.com/users/dmitry-ten/following{/other_user}","gists_url":"https://api.github.com/users/dmitry-ten/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitry-ten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitry-ten/subscriptions","organizations_url":"https://api.github.com/users/dmitry-ten/orgs","repos_url":"https://api.github.com/users/dmitry-ten/repos","events_url":"https://api.github.com/users/dmitry-ten/events{/privacy}","received_events_url":"https://api.github.com/users/dmitry-ten/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-10-15T18:08:57Z","updated_at":"2018-11-16T13:50:36Z","closed_at":"2018-11-16T13:50:36Z","author_association":"CONTRIBUTOR","body":"Currently, CH table updates are the biggest messages, accounting for about a third of network traffic from client to the server. On average, updates are very big because for each dirty class, we serialize the class and pointers to all of its subclasses. But some classes have hundreds of subclasses, which results in a large message.\r\nAfter looking at the code, I see that a list of subclasses is modified only in `TR_PersistentCHTable::classGotExtended`. This means that we don't need to send a list of subclasses to the server in other cases. \r\nI suggest that we keep track of when `classGotExtended` is called, and send subclasses only then.\r\nThis would also save some CPU, because computing the number of subclasses is expensive.\r\n\r\nWe could also keep track of classes that got added, and only send them, instead of all subclasses."},"comment":{"url":"https://api.github.com/repos/eclipse/openj9/issues/comments/439398538","html_url":"https://github.com/eclipse/openj9/issues/3285#issuecomment-439398538","issue_url":"https://api.github.com/repos/eclipse/openj9/issues/3285","id":439398538,"node_id":"MDEyOklzc3VlQ29tbWVudDQzOTM5ODUzOA==","user":{"login":"mpirvu","id":22594880,"node_id":"MDQ6VXNlcjIyNTk0ODgw","avatar_url":"https://avatars1.githubusercontent.com/u/22594880?v=4","gravatar_id":"","url":"https://api.github.com/users/mpirvu","html_url":"https://github.com/mpirvu","followers_url":"https://api.github.com/users/mpirvu/followers","following_url":"https://api.github.com/users/mpirvu/following{/other_user}","gists_url":"https://api.github.com/users/mpirvu/gists{/gist_id}","starred_url":"https://api.github.com/users/mpirvu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpirvu/subscriptions","organizations_url":"https://api.github.com/users/mpirvu/orgs","repos_url":"https://api.github.com/users/mpirvu/repos","events_url":"https://api.github.com/users/mpirvu/events{/privacy}","received_events_url":"https://api.github.com/users/mpirvu/received_events","type":"User","site_admin":false},"created_at":"2018-11-16T13:50:36Z","updated_at":"2018-11-16T13:50:36Z","author_association":"CONTRIBUTOR","body":"Fixed by #3527"}}
{"actor":{"display_login":"mpirvu"}}