html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/pull/1760#issuecomment-350109792,https://api.github.com/repos/pydata/xarray/issues/1760,350109792,MDEyOklzc3VlQ29tbWVudDM1MDEwOTc5Mg==,1217238,2017-12-07T22:09:20Z,2017-12-07T22:09:20Z,MEMBER,Thanks!,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672 https://github.com/pydata/xarray/pull/1760#issuecomment-350108925,https://api.github.com/repos/pydata/xarray/issues/1760,350108925,MDEyOklzc3VlQ29tbWVudDM1MDEwODkyNQ==,306380,2017-12-07T22:05:44Z,2017-12-07T22:05:44Z,MEMBER,Done. Tests pass.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672 https://github.com/pydata/xarray/pull/1760#issuecomment-350074558,https://api.github.com/repos/pydata/xarray/issues/1760,350074558,MDEyOklzc3VlQ29tbWVudDM1MDA3NDU1OA==,1217238,2017-12-07T19:47:44Z,2017-12-07T19:47:44Z,MEMBER,"> Should I drop the current modifications to the .compute methods and just leave in the __dask_scheduler__ fix? That's probably easiest for now -- updating our mock tests to handle *either* calling `dask.compute()` or the `Array.compute()` method would be a little tricky. It would be nice to add a test case that uses the default scheduler, e.g., that does a basic compute on each xarray type (Dataset, DataArray and Variable) inside a `with dask.set_options(get=None)` block. That would give us test coverage for `__dask_scheduler__`, which is currently missing. (It would probably be better to explicitly set `get` explicitly in a function when computing xarray objects containing dask arrays, but that's a larger project.)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672 https://github.com/pydata/xarray/pull/1760#issuecomment-349964478,https://api.github.com/repos/pydata/xarray/issues/1760,349964478,MDEyOklzc3VlQ29tbWVudDM0OTk2NDQ3OA==,306380,2017-12-07T13:19:18Z,2017-12-07T13:19:18Z,MEMBER,@shoyer how would you like me to proceed here? Should I drop the current modifications to the `.compute` methods and just leave in the `__dask_scheduler__` fix?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672 https://github.com/pydata/xarray/pull/1760#issuecomment-349198982,https://api.github.com/repos/pydata/xarray/issues/1760,349198982,MDEyOklzc3VlQ29tbWVudDM0OTE5ODk4Mg==,5635139,2017-12-05T05:21:16Z,2017-12-05T05:21:16Z,MEMBER,"Right, though xarray used to call `.load`, which I think must have called through to `obj.compute`? If that's the case, potentially the tests need changing ``` xarray/tests/test_backends.py:252: AssertionError ______________________ test_dask_kwargs_variable[compute] ______________________ method = 'compute' @pytest.mark.parametrize(""method"", ['load', 'compute']) def test_dask_kwargs_variable(method): x = Variable('y', da.from_array(np.arange(3), chunks=(2,))) # args should be passed on to da.Array.compute() with mock.patch.object(da.Array, 'compute', return_value=np.arange(3)) as mock_compute: getattr(x, method)(foo='bar') > mock_compute.assert_called_with(foo='bar') xarray/tests/test_dask.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _mock_self = , args = () kwargs = {'foo': 'bar'}, expected = ""compute(foo='bar')"" def assert_called_with(_mock_self, *args, **kwargs): """"""assert that the mock was called with the specified arguments. Raises an AssertionError if the args and keyword args passed in are different to the last call to the mock."""""" self = _mock_self if self.call_args is None: expected = self._format_mock_call_signature(args, kwargs) > raise AssertionError('Expected call: %s\nNot called' % (expected,)) E AssertionError: Expected call: compute(foo='bar') E Not called ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672 https://github.com/pydata/xarray/pull/1760#issuecomment-349179082,https://api.github.com/repos/pydata/xarray/issues/1760,349179082,MDEyOklzc3VlQ29tbWVudDM0OTE3OTA4Mg==,306380,2017-12-05T02:54:37Z,2017-12-05T02:54:37Z,MEMBER,"> Has that changed? Does dask.compute(x) call x.compute()? No, we no longer call `Array.compute` at all","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672 https://github.com/pydata/xarray/pull/1760#issuecomment-349175469,https://api.github.com/repos/pydata/xarray/issues/1760,349175469,MDEyOklzc3VlQ29tbWVudDM0OTE3NTQ2OQ==,5635139,2017-12-05T02:31:20Z,2017-12-05T02:31:20Z,MEMBER,"I took a look at the tests - I don't have too much helpful beyond breaking it down. For example, [this](https://travis-ci.org/pydata/xarray/jobs/311602522#L4602) tests that when `.compute(...)` is called on a `Variable` backed by a dask Array, that `.compute` gets called on the dask `Array`. Has that changed? Does `dask.compute(x)` call `x.compute()`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672 https://github.com/pydata/xarray/pull/1760#issuecomment-349151580,https://api.github.com/repos/pydata/xarray/issues/1760,349151580,MDEyOklzc3VlQ29tbWVudDM0OTE1MTU4MA==,306380,2017-12-05T00:15:03Z,2017-12-05T00:15:03Z,MEMBER,The mock tests still fail for me. I'm not sure how best to generalize them. Recommendations would be welcome here.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,279198672