Repository navigation
Added a check flag to extract for logs pending extraction - #107
Merged
Merged
Conversation
`dandis3logextraction pending <s3_root>` prints the number of remote log files the DANDI extractor would process, reading the DANDI extractor's own records. With --exit-code it exits 1 when any are pending. Raises the upstream pin to s3_log_extraction>=1.11.11. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019NGBLufw1kq2iy4LNeWs89
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019NGBLufw1kq2iy4LNeWs89
Collaborator
Author
|
CI on this PR is expected to fail at install time: it requires Generated by Claude Code |
`dandis3logextraction extract ... --mode remote --check` returns before any extraction setup, stops at the first log file not yet extracted, and exits 3 when some are pending and 0 when none are, matching the upstream `extract --check`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019NGBLufw1kq2iy4LNeWs89
The `--check` flag shipped in s3_log_extraction 1.14.1; 1.11.11 was never published. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019NGBLufw1kq2iy4LNeWs89
CodyCBakerPhD
marked this pull request as ready for review
October 28, 2026 05:18
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #107 +/- ##
===========================================
+ Coverage 67.05% 85.15% +18.09%
===========================================
Files 4 9 +5
Lines 170 660 +490
===========================================
+ Hits 114 562 +448
- Misses 56 98 +42
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
CodyCBakerPhD
pushed a commit
that referenced
this pull request
Oct 28, 2026
Brings in the extract --check flag of #107, which already raised the upstream pin to >=1.14.1. Both changelog entries stay under Upcoming, and the version stays at 1.7.0, this pull request's single bump above main's 1.6.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LWo8Rh1Ceh8UAWkJCdHou3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Carries dandi/s3-log-extraction#320 down to the DANDI plugin.
dandis3logextraction extract <s3_root> --mode remote --inventory … --cache … --checkreports whether any log files are pending extraction, then exits without extracting.DandiRemoteS3LogAccessExtractor.has_unprocessed_s3_urls. The records files are named after the extractor class (DandiRemoteS3LogAccessExtractor_s3-url-processing-end.txt), so the upstream CLI would read the wrong records for the DANDI cache.pendingcommand instead. It was removed without an alias.This is for the host-side cron check in brain-bbqs-runners/dandi-usage-runner#11, so the daily extraction workflow only runs when there is something to extract.
s3_log_extraction>=1.14.1, the release that shipped--checkandhas_unprocessed_s3_urls. The 1.11.11 this PR first pinned was never published.Upstream 1.14.1 compatibility
1.14.1 also carries the breaking changes of dandi/s3-log-extraction#321. The plugin only reads excluded addresses through
config.get_excluded_ips(), which is still public, so nothing here breaks.One behavior gap is out of scope for this PR. Upstream 1.14.1 now drops excluded IPs at extraction by passing
EXCLUDED_IPSto its awk script. The DANDI extractor uses its own_dandi_extraction.awk, which does not read that variable, so DANDI extraction keeps their records. The DANDI summaries still leave them out.Testing
tests/test_extract_check.py(markedai_generated) checks output and exit codes against DANDI-named records. It also checks that no temporary directory is left behind and that the records are unchanged.s3-log-extraction==1.14.1, with gawk. 123 passed and 1 failed. The failure istest_dandi_summaries.py::test_dandiset_summaries, which needsapi.dandiarchive.org, and this container's proxy refuses it (403).pre-commit run --all-filespasses.🤖 Generated with Claude Code
https://claude.ai/code/session_019NGBLufw1kq2iy4LNeWs89