Skip to content

_call_annex_records_items_ incompatible with logging #7328

Description

@bpoldrack

When running a push to an export remote with datalad's log level set to DEBUG, the patch fails b/c there's unexpected output on stderr (the logging):

Here is the relevant log:

[{'action': 'copy',
  'exception': CommandError:  [Unexpected stderr output] [err: '[DEBUG] Run ['git', 'version'] (protocol_class=StdOutErrCapture) (cwd=None) 
[DEBUG] Finished ['git', 'version'] with status 0 
[DEBUG] Not retro-fitting GitRepo with deprecated symbols, datalad-deprecated package not found 
[DEBUG] Apply datalad-next patch to annexrepo.py:AnnexRepo.enable_remote 
[DEBUG] Building doc for <class 'datalad.local.configuration.Configuration'> 
[DEBUG] Building doc for <class 'datalad_next.patches.configuration.Configuration'> 
[DEBUG] Building doc for <class 'datalad.local.configuration.Configuration'> 
[DEBUG] Failed to import requests_ftp, thus no ftp support: ModuleNotFoundError(No module named 'requests_ftp') 
[DEBUG] Apply datalad-next patch to create_sibling_ghlike.py:_GitHubLike._set_request_headers 
[DEBUG] Apply datalad-next patch to interface.(utils|base).py:_execute_command_ 
[DEBUG] Apply datalad-next patch to interface.(utils|base).py:_execute_command_ 
[DEBUG] Building doc for <class 'datalad.core.local.status.Status'> 
[DEBUG] Building doc for <class 'datalad.core.local.diff.Diff'> 
[DEBUG] Building doc for <class 'datalad.core.distributed.push.Push'> 
[DEBUG] Apply patch to datalad.core.distributed.push._transfer_data 
[DEBUG] Patching datalad.core.distributed.push.Push docstring and parameters 
[DEBUG] Building doc for <class 'datalad.core.distributed.push.Push'> 
[DEBUG] Patching datalad.support.AnnexRepo.get_export_records (new method) 
[DEBUG] Apply patch to datalad.core.distributed.push._push 
[DEBUG] Apply patch to datalad.distribution.siblings._enable_remote 
[DEBUG] Building doc for <class 'datalad.distribution.update.Update'> 
[DEBUG] Building doc for <class 'datalad.distribution.siblings.Siblings'> 
[DEBUG] UI set to UnderAnnexUI(out=<TextIOWrapper>, specialremote=None)'] [push_to_export_remote.py:_transfer_data:230,annexrepo.py:_call_annex_records_items_:1210,annexrepo.py:_call_annex_records_items_:1177,<frozen _collections_abc>:__next__:330,nonasyncrunner.py:send:97,nonasyncrunner.py:_locked_send:120,annexrepo.py:process_exited:3894],
  'message': 'CommandError(CommandError:  [Unexpected stderr output] [err: '
             "'[DEBUG] Run ['git', 'version'] "
             '(protocol_class=StdOutErrCapture) (cwd=None) \n'
             "[DEBUG] Finished ['git', 'version'] with status 0 \n"
             '[DEBUG] Not retro-fitting GitRepo with deprecated symbols, '
             'datalad-deprecated package not found \n'
             '[DEBUG] Apply datalad-next patch to '
             'annexrepo.py:AnnexRepo.enable_remote \n'
             '[DEBUG] Building doc for <class '
             "'datalad.local.configuration.Configuration'> \n"
             '[DEBUG] Building doc for <class '
             "'datalad_next.patches.configuration.Configuration'> \n"
             '[DEBUG] Building doc for <class '
             "'datalad.local.configuration.Configuration'> \n"
             '[DEBUG] Failed to import requests_ftp, thus no ftp support: '
             "ModuleNotFoundError(No module named 'requests_ftp') \n"
             '[DEBUG] Apply datalad-next patch to '
             'create_sibling_ghlike.py:_GitHubLike._set_request_headers \n'
             '[DEBUG] Apply datalad-next patch to '
             'interface.(utils|base).py:_execute_command_ \n'
             '[DEBUG] Apply datalad-next patch to '
             'interface.(utils|base).py:_execute_command_ \n'
             '[DEBUG] Building doc for <class '
             "'datalad.core.local.status.Status'> \n"
             '[DEBUG] Building doc for <class '
             "'datalad.core.local.diff.Diff'> \n"
             '[DEBUG] Building doc for <class '
             "'datalad.core.distributed.push.Push'> \n"
             '[DEBUG] Apply patch to '
             'datalad.core.distributed.push._transfer_data \n'
             '[DEBUG] Patching datalad.core.distributed.push.Push docstring '
             'and parameters \n'
             '[DEBUG] Building doc for <class '
             "'datalad.core.distributed.push.Push'> \n"
             '[DEBUG] Patching datalad.support.AnnexRepo.get_export_records '
             '(new method) \n'
             '[DEBUG] Apply patch to datalad.core.distributed.push._push \n'
             '[DEBUG] Apply patch to '
             'datalad.distribution.siblings._enable_remote \n'
             '[DEBUG] Building doc for <class '
             "'datalad.distribution.update.Update'> \n"
             '[DEBUG] Building doc for <class '
             "'datalad.distribution.siblings.Siblings'> \n"
             '[DEBUG] UI set to UnderAnnexUI(out=<TextIOWrapper>, '
             "specialremote=None)'])",
  'path': '/tmp/some',
  'refds': '/tmp/some',
  'status': 'error',
  'target': 'dataverse-export-storage',
  'type': 'dataset'}])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions