{"action":"created","issue":{"url":"https://api.github.com/repos/tulios/kafkajs/issues/206","repository_url":"https://api.github.com/repos/tulios/kafkajs","labels_url":"https://api.github.com/repos/tulios/kafkajs/issues/206/labels{/name}","comments_url":"https://api.github.com/repos/tulios/kafkajs/issues/206/comments","events_url":"https://api.github.com/repos/tulios/kafkajs/issues/206/events","html_url":"https://github.com/tulios/kafkajs/pull/206","id":381729852,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMxNjMxOTMz","number":206,"title":"EoS #173 transactional producer","user":{"login":"ianwsperber","id":3731165,"node_id":"MDQ6VXNlcjM3MzExNjU=","avatar_url":"https://avatars1.githubusercontent.com/u/3731165?v=4","gravatar_id":"","url":"https://api.github.com/users/ianwsperber","html_url":"https://github.com/ianwsperber","followers_url":"https://api.github.com/users/ianwsperber/followers","following_url":"https://api.github.com/users/ianwsperber/following{/other_user}","gists_url":"https://api.github.com/users/ianwsperber/gists{/gist_id}","starred_url":"https://api.github.com/users/ianwsperber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianwsperber/subscriptions","organizations_url":"https://api.github.com/users/ianwsperber/orgs","repos_url":"https://api.github.com/users/ianwsperber/repos","events_url":"https://api.github.com/users/ianwsperber/events{/privacy}","received_events_url":"https://api.github.com/users/ianwsperber/received_events","type":"User","site_admin":false},"labels":[{"id":1086149382,"node_id":"MDU6TGFiZWwxMDg2MTQ5Mzgy","url":"https://api.github.com/repos/tulios/kafkajs/labels/EOS%20Support","name":"EOS Support","color":"c5def5","default":false}],"state":"open","locked":false,"assignee":{"login":"ianwsperber","id":3731165,"node_id":"MDQ6VXNlcjM3MzExNjU=","avatar_url":"https://avatars1.githubusercontent.com/u/3731165?v=4","gravatar_id":"","url":"https://api.github.com/users/ianwsperber","html_url":"https://github.com/ianwsperber","followers_url":"https://api.github.com/users/ianwsperber/followers","following_url":"https://api.github.com/users/ianwsperber/following{/other_user}","gists_url":"https://api.github.com/users/ianwsperber/gists{/gist_id}","starred_url":"https://api.github.com/users/ianwsperber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianwsperber/subscriptions","organizations_url":"https://api.github.com/users/ianwsperber/orgs","repos_url":"https://api.github.com/users/ianwsperber/repos","events_url":"https://api.github.com/users/ianwsperber/events{/privacy}","received_events_url":"https://api.github.com/users/ianwsperber/received_events","type":"User","site_admin":false},"assignees":[{"login":"ianwsperber","id":3731165,"node_id":"MDQ6VXNlcjM3MzExNjU=","avatar_url":"https://avatars1.githubusercontent.com/u/3731165?v=4","gravatar_id":"","url":"https://api.github.com/users/ianwsperber","html_url":"https://github.com/ianwsperber","followers_url":"https://api.github.com/users/ianwsperber/followers","following_url":"https://api.github.com/users/ianwsperber/following{/other_user}","gists_url":"https://api.github.com/users/ianwsperber/gists{/gist_id}","starred_url":"https://api.github.com/users/ianwsperber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianwsperber/subscriptions","organizations_url":"https://api.github.com/users/ianwsperber/orgs","repos_url":"https://api.github.com/users/ianwsperber/repos","events_url":"https://api.github.com/users/ianwsperber/events{/privacy}","received_events_url":"https://api.github.com/users/ianwsperber/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2018-11-16T19:27:05Z","updated_at":"2018-11-22T15:43:46Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/tulios/kafkajs/pulls/206","html_url":"https://github.com/tulios/kafkajs/pull/206","diff_url":"https://github.com/tulios/kafkajs/pull/206.diff","patch_url":"https://github.com/tulios/kafkajs/pull/206.patch"},"body":"Resolves #173 \r\n\r\nAn implementation of the transactional producer. I chose to deviate from the API discussed in #173 because the \"transaction object\" seemed like too much syntactic sugar. Given that we can still use the normal `send` & `sendBatch` methods to deliver messages in the transaction (I don't think that was clear in the original design, there was no need for an `add` method or internal buffer), returning a transaction object just seemed to add the overheard of an additional variable.\r\n\r\nI'm really not opposed to the transaction object if we think it's more convenient, but I thought it best to first provide an API with the least amount of abstractions.\r\n\r\nI'm holding off on adding documentation until we're in agreement on the design 😄 \r\n\r\n_NOTE_: I haven't spent much time thinking about error states yet. There could be some work to be done there still."},"comment":{"url":"https://api.github.com/repos/tulios/kafkajs/issues/comments/441067225","html_url":"https://github.com/tulios/kafkajs/pull/206#issuecomment-441067225","issue_url":"https://api.github.com/repos/tulios/kafkajs/issues/206","id":441067225,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MTA2NzIyNQ==","user":{"login":"tulios","id":33231,"node_id":"MDQ6VXNlcjMzMjMx","avatar_url":"https://avatars3.githubusercontent.com/u/33231?v=4","gravatar_id":"","url":"https://api.github.com/users/tulios","html_url":"https://github.com/tulios","followers_url":"https://api.github.com/users/tulios/followers","following_url":"https://api.github.com/users/tulios/following{/other_user}","gists_url":"https://api.github.com/users/tulios/gists{/gist_id}","starred_url":"https://api.github.com/users/tulios/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tulios/subscriptions","organizations_url":"https://api.github.com/users/tulios/orgs","repos_url":"https://api.github.com/users/tulios/repos","events_url":"https://api.github.com/users/tulios/events{/privacy}","received_events_url":"https://api.github.com/users/tulios/received_events","type":"User","site_admin":false},"created_at":"2018-11-22T15:43:46Z","updated_at":"2018-11-22T15:43:46Z","author_association":"OWNER","body":"@ianwsperber we can always cherry-pick fixes and release from a tag. I don't want to block you on this, so when you feel that it's good enough, comment here, and we can merge. Things can always be improved or changed on later PRs. "}}
{"actor":{"display_login":"tulios"}}