{"action":"opened","issue":{"url":"https://api.github.com/repos/palantir/atlasdb/issues/668","repository_url":"https://api.github.com/repos/palantir/atlasdb","labels_url":"https://api.github.com/repos/palantir/atlasdb/issues/668/labels{/name}","comments_url":"https://api.github.com/repos/palantir/atlasdb/issues/668/comments","events_url":"https://api.github.com/repos/palantir/atlasdb/issues/668/events","html_url":"https://github.com/palantir/atlasdb/issues/668","id":165392962,"number":668,"title":"Aggressively Cache the _transactions Table","user":{"login":"tpetracca","id":2554328,"avatar_url":"https://avatars.githubusercontent.com/u/2554328?v=3","gravatar_id":"","url":"https://api.github.com/users/tpetracca","html_url":"https://github.com/tpetracca","followers_url":"https://api.github.com/users/tpetracca/followers","following_url":"https://api.github.com/users/tpetracca/following{/other_user}","gists_url":"https://api.github.com/users/tpetracca/gists{/gist_id}","starred_url":"https://api.github.com/users/tpetracca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tpetracca/subscriptions","organizations_url":"https://api.github.com/users/tpetracca/orgs","repos_url":"https://api.github.com/users/tpetracca/repos","events_url":"https://api.github.com/users/tpetracca/events{/privacy}","received_events_url":"https://api.github.com/users/tpetracca/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-13T18:44:20Z","updated_at":"2016-07-13T18:44:20Z","closed_at":null,"body":"Currently we cache a map of startTs -> commitTs in the `cachedCommitTimes` variable of `SnapshotTransaction`.  This means that we cache within a transaction but not across them.  Because the _transactions table is write-once we can guarantee a key value pair for that cache never changes and is correct across multiple transactions.  We should cache this way more aggressively, probably at the SnapshotTransactionManager layer.\r\n\r\n@rhero I believe this is going to result in performance improvements for workflows with large numbers of transactions or highly similar/repeated transactions, like in the case of PDS-44210.\r\n\r\n@clockfort I could impl a simple proof of concept commit for this, but you may just want to write the long term clean version from the get-go since it probably is a pretty easy change."}}
{"actor":{"display_login":"tpetracca"}}