{"action":"created","issue":{"url":"https://api.github.com/repos/slamdata/slamengine/issues/627","labels_url":"https://api.github.com/repos/slamdata/slamengine/issues/627/labels{/name}","comments_url":"https://api.github.com/repos/slamdata/slamengine/issues/627/comments","events_url":"https://api.github.com/repos/slamdata/slamengine/issues/627/events","html_url":"https://github.com/slamdata/slamengine/issues/627","id":58384236,"number":627,"title":"mongodb: failed conversion from BSON not handled gracefully","user":{"login":"mossprescott","id":6147371,"avatar_url":"https://avatars.githubusercontent.com/u/6147371?v=3","gravatar_id":"","url":"https://api.github.com/users/mossprescott","html_url":"https://github.com/mossprescott","followers_url":"https://api.github.com/users/mossprescott/followers","following_url":"https://api.github.com/users/mossprescott/following{/other_user}","gists_url":"https://api.github.com/users/mossprescott/gists{/gist_id}","starred_url":"https://api.github.com/users/mossprescott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mossprescott/subscriptions","organizations_url":"https://api.github.com/users/mossprescott/orgs","repos_url":"https://api.github.com/users/mossprescott/repos","events_url":"https://api.github.com/users/mossprescott/events{/privacy}","received_events_url":"https://api.github.com/users/mossprescott/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/slamdata/slamengine/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/slamdata/slamengine/labels/ready","name":"ready","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"mossprescott","id":6147371,"avatar_url":"https://avatars.githubusercontent.com/u/6147371?v=3","gravatar_id":"","url":"https://api.github.com/users/mossprescott","html_url":"https://github.com/mossprescott","followers_url":"https://api.github.com/users/mossprescott/followers","following_url":"https://api.github.com/users/mossprescott/following{/other_user}","gists_url":"https://api.github.com/users/mossprescott/gists{/gist_id}","starred_url":"https://api.github.com/users/mossprescott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mossprescott/subscriptions","organizations_url":"https://api.github.com/users/mossprescott/orgs","repos_url":"https://api.github.com/users/mossprescott/repos","events_url":"https://api.github.com/users/mossprescott/events{/privacy}","received_events_url":"https://api.github.com/users/mossprescott/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/slamdata/slamengine/milestones/6","labels_url":"https://api.github.com/repos/slamdata/slamengine/milestones/6/labels","id":839374,"number":6,"title":"1.3","description":"","creator":{"login":"jdegoes","id":156745,"avatar_url":"https://avatars.githubusercontent.com/u/156745?v=3","gravatar_id":"","url":"https://api.github.com/users/jdegoes","html_url":"https://github.com/jdegoes","followers_url":"https://api.github.com/users/jdegoes/followers","following_url":"https://api.github.com/users/jdegoes/following{/other_user}","gists_url":"https://api.github.com/users/jdegoes/gists{/gist_id}","starred_url":"https://api.github.com/users/jdegoes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdegoes/subscriptions","organizations_url":"https://api.github.com/users/jdegoes/orgs","repos_url":"https://api.github.com/users/jdegoes/repos","events_url":"https://api.github.com/users/jdegoes/events{/privacy}","received_events_url":"https://api.github.com/users/jdegoes/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":19,"state":"open","created_at":"2014-10-24T18:33:05Z","updated_at":"2015-02-20T20:02:28Z","due_on":"2015-03-02T07:00:00Z","closed_at":null},"comments":3,"created_at":"2015-02-20T17:29:10Z","updated_at":"2015-02-21T23:14:13Z","closed_at":null,"body":"BSON data coming from MongoDB may contain values that we cannot represent in our `Bson` type, either because we've chosen not to have a representation (JS values), or because the driver produces something we didn't anticipate (e.g. java.util.UUID, prior to #626). As of #626, this results in a bogus `Text` value being returned.\r\n\r\nWe should wrap these values in `SomeError \\/ Bson`, and handle the failure upstream."},"comment":{"url":"https://api.github.com/repos/slamdata/slamengine/issues/comments/75398615","html_url":"https://github.com/slamdata/slamengine/issues/627#issuecomment-75398615","issue_url":"https://api.github.com/repos/slamdata/slamengine/issues/627","id":75398615,"user":{"login":"mossprescott","id":6147371,"avatar_url":"https://avatars.githubusercontent.com/u/6147371?v=3","gravatar_id":"","url":"https://api.github.com/users/mossprescott","html_url":"https://github.com/mossprescott","followers_url":"https://api.github.com/users/mossprescott/followers","following_url":"https://api.github.com/users/mossprescott/following{/other_user}","gists_url":"https://api.github.com/users/mossprescott/gists{/gist_id}","starred_url":"https://api.github.com/users/mossprescott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mossprescott/subscriptions","organizations_url":"https://api.github.com/users/mossprescott/orgs","repos_url":"https://api.github.com/users/mossprescott/repos","events_url":"https://api.github.com/users/mossprescott/events{/privacy}","received_events_url":"https://api.github.com/users/mossprescott/received_events","type":"User","site_admin":false},"created_at":"2015-02-21T23:14:13Z","updated_at":"2015-02-21T23:14:13Z","body":"That's clever, but assuming it was intended to be taken seriously, I can see two problems:\r\n\r\nWe're already worried about the overhead of translating to/from `Data` when streaming results from MongoDB (see #612). This seems like more overhead, specifically one `Success` and one `Fix` object for each `Data` object, if I'm right about what scalac will do with this. My second proposal adds some overhead, too, but not as much.\r\n\r\nIt means all the users of our MongoDB Workflow library have to deal with YAFT (Yet Another Fixplate Type).\r\n"}}