{"action":"created","issue":{"url":"https://api.github.com/repos/ga4gh/schemas/issues/488","repository_url":"https://api.github.com/repos/ga4gh/schemas","labels_url":"https://api.github.com/repos/ga4gh/schemas/issues/488/labels{/name}","comments_url":"https://api.github.com/repos/ga4gh/schemas/issues/488/comments","events_url":"https://api.github.com/repos/ga4gh/schemas/issues/488/events","html_url":"https://github.com/ga4gh/schemas/pull/488","id":116180050,"number":488,"title":"Drop \"empty callsets array = variants only\" semantics for SearchVariants","user":{"login":"calbach","id":822298,"avatar_url":"https://avatars.githubusercontent.com/u/822298?v=3","gravatar_id":"","url":"https://api.github.com/users/calbach","html_url":"https://github.com/calbach","followers_url":"https://api.github.com/users/calbach/followers","following_url":"https://api.github.com/users/calbach/following{/other_user}","gists_url":"https://api.github.com/users/calbach/gists{/gist_id}","starred_url":"https://api.github.com/users/calbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calbach/subscriptions","organizations_url":"https://api.github.com/users/calbach/orgs","repos_url":"https://api.github.com/users/calbach/repos","events_url":"https://api.github.com/users/calbach/events{/privacy}","received_events_url":"https://api.github.com/users/calbach/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ga4gh/schemas/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-11-10T19:12:50Z","updated_at":"2016-02-10T20:31:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ga4gh/schemas/pulls/488","html_url":"https://github.com/ga4gh/schemas/pull/488","diff_url":"https://github.com/ga4gh/schemas/pull/488.diff","patch_url":"https://github.com/ga4gh/schemas/pull/488.patch"},"body":"The issue is being forced by the [proposal to switch to proto3](https://github.com/ga4gh/schemas/pull/485); proto3 does not [disambiguate](https://developers.google.com/protocol-buffers/docs/proto3#default) between the cases of `null` and `[]`.\r\n\r\nThis has the side-effect that it is no longer possible to retrieve **only** the variants (sans calls). My preference is to eventually add support back in via cross-cutting response field masking for the API, e.g. via the proto3 [FieldMask](https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto#L41) specification.\r\n\r\nAlternatives considered:\r\n\r\n1. Add another boolean field, e.g. `mask_calls` which could be passed to get the same behavior. Again, I think it makes more sense to avoid one offs and just have cross-cutting API support for field masking, but it could be acceptable in the interim, if the community feels strongly that we should not lose this functionality for an unknown duration.\r\n2. Drop 'return all variant calls' semantics. I feel this would be surprising default behavior, since if I compose a minimal query, I expect to get almost everything back. In medium scale analysis even, e.g. thousands of callsets, having to pass all of these callset IDs will be cumbersome."},"comment":{"url":"https://api.github.com/repos/ga4gh/schemas/issues/comments/182571484","html_url":"https://github.com/ga4gh/schemas/pull/488#issuecomment-182571484","issue_url":"https://api.github.com/repos/ga4gh/schemas/issues/488","id":182571484,"user":{"login":"calbach","id":822298,"avatar_url":"https://avatars.githubusercontent.com/u/822298?v=3","gravatar_id":"","url":"https://api.github.com/users/calbach","html_url":"https://github.com/calbach","followers_url":"https://api.github.com/users/calbach/followers","following_url":"https://api.github.com/users/calbach/following{/other_user}","gists_url":"https://api.github.com/users/calbach/gists{/gist_id}","starred_url":"https://api.github.com/users/calbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calbach/subscriptions","organizations_url":"https://api.github.com/users/calbach/orgs","repos_url":"https://api.github.com/users/calbach/repos","events_url":"https://api.github.com/users/calbach/events{/privacy}","received_events_url":"https://api.github.com/users/calbach/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T20:31:13Z","updated_at":"2016-02-10T20:31:13Z","body":"I've also updated the `protobuf` branch to reflect this."}}