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/issues/2242#issuecomment-399503156,https://api.github.com/repos/pydata/xarray/issues/2242,399503156,MDEyOklzc3VlQ29tbWVudDM5OTUwMzE1Ng==,1217238,2018-06-22T16:33:11Z,2018-06-22T16:33:11Z,MEMBER,"This autoclose business is really hard to reason about in its current version, as part of the backend class. I'm hoping that refactoring it out into a separate object that we can use with composition instead of inheritance will help (e.g., alongside [PickleByReconstructionWrapper](https://github.com/pydata/xarray/blob/73b476e4db6631b2203954dd5b138cb650e4fb8c/xarray/backends/common.py#L513)).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,334633212 https://github.com/pydata/xarray/issues/2242#issuecomment-399275847,https://api.github.com/repos/pydata/xarray/issues/2242,399275847,MDEyOklzc3VlQ29tbWVudDM5OTI3NTg0Nw==,1217238,2018-06-21T23:37:10Z,2018-06-21T23:37:10Z,MEMBER,"I suspect this can be improved. Looking at the code, it appears that we only intentionally use `autoclose=True` for writes when using multiprocessing or the distributed dask scheduler. https://github.com/pydata/xarray/blob/73b476e4db6631b2203954dd5b138cb650e4fb8c/xarray/backends/api.py#L709-L710","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,334633212