Conversation
…After handling - Add recordRateLimitHit()/getRateLimitHits() to ExporterMetrics - Add metrics field to HubUploadConfig for rate-limit metric emission - Add headerCaptureCb, extractRetryAfterHeader, parseRetryAfterSeconds helpers - Handle HTTP 429 in uploadDataset/uploadShards retry loops: * Parse Retry-After header (integer seconds or HTTP-date) * Cap sleep at config_.timeout_seconds per spec * Skip exponential back-off for 429-triggered retries * Emit exporters.huggingface.rate_limit_hit metric via ExporterMetrics - Add 5 unit tests covering new metrics and config field behavior Co-authored-by: makr-code <150588092+makr-code@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Implement HTTP 429 back-off in HuggingFace Hub Client
feat(exporters): HuggingFace Hub Client HTTP 429 back-off with Retry-After handling
Mar 16, 2026
Copilot stopped work on behalf of
makr-code due to an error
March 16, 2026 15:39
Co-authored-by: makr-code <150588092+makr-code@users.noreply.github.com>
Copilot stopped work on behalf of
makr-code due to an error
March 16, 2026 17:27
Co-authored-by: makr-code <150588092+makr-code@users.noreply.github.com>
Copilot stopped work on behalf of
makr-code due to an error
March 16, 2026 18:27
Copilot stopped work on behalf of
makr-code due to an error
March 16, 2026 19:25
…sts.txt Co-authored-by: makr-code <150588092+makr-code@users.noreply.github.com>
Copilot
AI
changed the title
feat(exporters): HuggingFace Hub Client HTTP 429 back-off with Retry-After handling
Add JoinExporter: cross-collection hash-join export with PII redaction and memory budget
Mar 16, 2026
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.
Implements
JoinExporter, a new exporter that performs an in-memory hash-join across two collections and writes the merged result as JSONL. The previous agent session created the core implementation files but was interrupted before adding the CI workflow; this PR completes that work.Description
Core Implementation
include/exporters/join_exporter.h—JoinExportConfig(join keys, predicate, field selection, PII config, 1 GiB right-side memory limit) +JoinExporterclass extendingIExportersrc/exporters/join_exporter.cpp— hash-join: right side loaded intounordered_mapkeyed onright_key_field; AQL predicate evaluated on merged record;output_fieldswithsrc:aliasrenaming andleft.<f>/right.<f>qualifiers; PII detect/redact on serialised JSON; memory budget aborts onERR_EXPORT_JOIN_MEMORY_LIMITTests (
tests/exporters/test_join_exporter.cpp)24 tests across 4 suites covering all ACs:
output_fieldsaliasing andleft./right.qualifiersjoin_predicatefilteringfail_on_piienforcementCI & Build
.github/workflows/join-exporter-ci.yml— matrix over ubuntu-22.04/gcc-12, ubuntu-22.04/clang-15, ubuntu-24.04/gcc-14; buildstest_join_exporter_focusedand runsJoinExporterFocusedTestsvia ctesttests/CMakeLists.txt— registerstest_join_exporter_focusedviaadd_exporter_focused_test; removes orphaned comment fragment on line 11374Type of Change
Testing
📚 Research & Knowledge (wenn applicable)
/docs/research/angelegt?/docs/research/implementation_influence/eingetragen?Relevante Quellen:
Checklist
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.