{"action":"created","issue":{"url":"https://api.github.com/repos/druid-io/tranquility/issues/140","repository_url":"https://api.github.com/repos/druid-io/tranquility","labels_url":"https://api.github.com/repos/druid-io/tranquility/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/druid-io/tranquility/issues/140/comments","events_url":"https://api.github.com/repos/druid-io/tranquility/issues/140/events","html_url":"https://github.com/druid-io/tranquility/pull/140","id":140007733,"number":140,"title":"Support all Druid formats by using InputRows internally for default stacks.","user":{"login":"gianm","id":1214075,"avatar_url":"https://avatars.githubusercontent.com/u/1214075?v=3","gravatar_id":"","url":"https://api.github.com/users/gianm","html_url":"https://github.com/gianm","followers_url":"https://api.github.com/users/gianm/followers","following_url":"https://api.github.com/users/gianm/following{/other_user}","gists_url":"https://api.github.com/users/gianm/gists{/gist_id}","starred_url":"https://api.github.com/users/gianm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gianm/subscriptions","organizations_url":"https://api.github.com/users/gianm/orgs","repos_url":"https://api.github.com/users/gianm/repos","events_url":"https://api.github.com/users/gianm/events{/privacy}","received_events_url":"https://api.github.com/users/gianm/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/druid-io/tranquility/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2016-03-10T21:01:07Z","updated_at":"2016-04-27T10:40:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/druid-io/tranquility/pulls/140","html_url":"https://github.com/druid-io/tranquility/pull/140","diff_url":"https://github.com/druid-io/tranquility/pull/140.diff","patch_url":"https://github.com/druid-io/tranquility/pull/140.patch"},"body":"It's now possible to make three different kinds of beam stacks with DruidBeams.\r\n\r\n1. String/Array[Byte]/ByteBuffer based stacks. This lets you provide raw bytes,\r\n   which will be converted to an InputRow using a Druid StringInputRowParser.\r\n2. Map based stacks. This lets you provide a Map, which will be converted to\r\n   an InputRow using a Druid MapInputRowParser.\r\n3. Classic, custom-type stacks. This gives you full control over everything\r\n   and is the kind of stack that has been with Tranquility since the beginning.\r\n\r\nThe first kind of stack is new. It's not currently a public API, because I'm\r\nnot really sure how best to expose it yet. It's used by Tranquility Kafka and\r\nTranquility Server.\r\n\r\nThis requires changing the Beam trait to prefer a new signature,\r\n\r\n```\r\n  def sendAll(messages: Seq[MessageType]): Seq[Future[SendResult]]\r\n```\r\n\r\nBecause the old one (sendBatch) did not allow returning an error for some\r\nmessages but not others. This can now happen because the beam stack may\r\nbe taking Strings that may turn out to be unparseable. We want to return\r\nerrors for those unparseable Strings while still forwarding the rest.\r\n\r\nFixes #113, #119."},"comment":{"url":"https://api.github.com/repos/druid-io/tranquility/issues/comments/215045167","html_url":"https://github.com/druid-io/tranquility/pull/140#issuecomment-215045167","issue_url":"https://api.github.com/repos/druid-io/tranquility/issues/140","id":215045167,"user":{"login":"gianm","id":1214075,"avatar_url":"https://avatars.githubusercontent.com/u/1214075?v=3","gravatar_id":"","url":"https://api.github.com/users/gianm","html_url":"https://github.com/gianm","followers_url":"https://api.github.com/users/gianm/followers","following_url":"https://api.github.com/users/gianm/following{/other_user}","gists_url":"https://api.github.com/users/gianm/gists{/gist_id}","starred_url":"https://api.github.com/users/gianm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gianm/subscriptions","organizations_url":"https://api.github.com/users/gianm/orgs","repos_url":"https://api.github.com/users/gianm/repos","events_url":"https://api.github.com/users/gianm/events{/privacy}","received_events_url":"https://api.github.com/users/gianm/received_events","type":"User","site_admin":false},"created_at":"2016-04-27T10:40:17Z","updated_at":"2016-04-27T10:40:17Z","body":"@schmee currently waiting on a second reviewer.\r\n\r\n@xvrl any further comments?"}}