Skip to content

chore(deps): Bump yscope-dev-utils to y-scope/yscope-dev-utils@0c214c4. - #2386

Merged
Bill-hbrhbr merged 15 commits into
y-scope:mainfrom
Bill-hbrhbr:bump-dev-utils
Jul 29, 2026
Merged

chore(deps): Bump yscope-dev-utils to y-scope/yscope-dev-utils@0c214c4.#2386
Bill-hbrhbr merged 15 commits into
y-scope:mainfrom
Bill-hbrhbr:bump-dev-utils

Conversation

@Bill-hbrhbr

@Bill-hbrhbr Bill-hbrhbr commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Description

Bump dev utils for task concurrency issues described in:

With this bump, the rust code also needs to be reformatted due to:

Checklist

  • The PR satisfies the contribution guidelines.
  • This is a breaking change and that has been indicated in the PR title, OR this isn't a
    breaking change.
  • Necessary docs have been updated, OR no docs need to be updated.

Validation performed

  • CI pass. task lint:check-rust-format passes.

Summary by CodeRabbit

  • Chores

    • Updated the pinned development utilities archive reference and advanced the utilities submodule to a newer commit.
  • Refactor

    • Standardized Rust import formatting across the API server, log ingestion, compression coordinator, and shared utilities, including test files—switching from grouped imports to explicit single-item imports.

@Bill-hbrhbr
Bill-hbrhbr requested a review from a team as a code owner July 16, 2026 22:52
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Rust grouped imports were rewritten as explicit standalone declarations across application, utility, coordinator, and test code. The pinned yscope-dev-utils commit was also advanced in the download script and submodule reference.

Changes

Import normalization

Layer / File(s) Summary
Shared utility imports
components/clp-rust-utils/src/..., components/clp-tdl-package/src/...
Grouped imports were rewritten as explicit standalone declarations without changing referenced identifiers or logic.
Service and coordinator imports
components/api-server/src/..., components/compression-coordinator/src/..., components/log-ingestor/src/...
Production-module imports were expanded without changing control flow, APIs, or runtime behaviour.
Test import normalization
components/clp-rust-utils/tests/..., components/log-ingestor/tests/...
Test imports were reformatted while preserving test logic and assertions.

Development utility pin

Layer / File(s) Summary
yscope-dev-utils revision update
tools/scripts/deps-download/init.sh, tools/yscope-dev-utils
The download script pin and submodule reference were updated to commit 0c214c44acddff330a204201428ea145e641891d.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • y-scope/clp#2401: Reformats imports in compression-coordinator files while leaving the Spider compression job submission API unchanged.

Suggested reviewers: davidlion, jackluo923, linzhihao-723

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the yscope-dev-utils bump and matches the main change.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
components/log-ingestor/tests/test_scan.rs (2)

170-174: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the filtering assertion exercise folder-marker keys.

upload_test_objects in components/log-ingestor/tests/test_utils.rs creates only .log keys, so this assertion always passes before scan_prefix runs. Add at least one key ending in / and verify it is absent from received_objects.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/log-ingestor/tests/test_scan.rs` around lines 170 - 174, Update
the test fixture setup in upload_test_objects to include at least one object key
ending with “/”, then update the assertion in the scan test to explicitly verify
that this folder-marker key is absent from received_objects after scan_prefix
runs.

163-165: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Treat 1,000 as a page cap, not an exact page size. ListObjectsV2 can return fewer than 1,000 keys per response, so a correct scan may need more than NUM_PAGES callbacks. Assert >= NUM_PAGES and keep the full-object check.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/log-ingestor/tests/test_scan.rs` around lines 163 - 165, Update
the page-count assertion in the scan test to require at least NUM_PAGES
callbacks rather than exactly NUM_PAGES, accommodating ListObjectsV2 responses
with fewer than 1,000 keys. Keep the received_objects length and full
expected_objects equality assertions unchanged.

Source: MCP tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@components/log-ingestor/tests/test_scan.rs`:
- Around line 170-174: Update the test fixture setup in upload_test_objects to
include at least one object key ending with “/”, then update the assertion in
the scan test to explicitly verify that this folder-marker key is absent from
received_objects after scan_prefix runs.
- Around line 163-165: Update the page-count assertion in the scan test to
require at least NUM_PAGES callbacks rather than exactly NUM_PAGES,
accommodating ListObjectsV2 responses with fewer than 1,000 keys. Keep the
received_objects length and full expected_objects equality assertions unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ffdd9416-e562-4350-ac48-153c28b54e66

📥 Commits

Reviewing files that changed from the base of the PR and between ee74a65 and 1ad86ed.

📒 Files selected for processing (32)
  • components/api-server/src/bin/api_server.rs
  • components/api-server/src/client.rs
  • components/api-server/src/error.rs
  • components/api-server/src/routes.rs
  • components/clp-rust-utils/src/clp_config/package/config.rs
  • components/clp-rust-utils/src/clp_config/s3_config.rs
  • components/clp-rust-utils/src/database/mysql.rs
  • components/clp-rust-utils/src/job_config/clp_io_config.rs
  • components/clp-rust-utils/src/job_config/compression.rs
  • components/clp-rust-utils/src/job_config/ingestion.rs
  • components/clp-rust-utils/src/job_config/search.rs
  • components/clp-rust-utils/src/logging.rs
  • components/clp-rust-utils/src/s3/client.rs
  • components/clp-rust-utils/src/sqs/client.rs
  • components/clp-rust-utils/src/telemetry.rs
  • components/clp-rust-utils/tests/clp_config_test.rs
  • components/log-ingestor/src/aws_client_manager.rs
  • components/log-ingestor/src/bin/log_ingestor.rs
  • components/log-ingestor/src/compression/compression_job_submitter.rs
  • components/log-ingestor/src/compression/listener.rs
  • components/log-ingestor/src/ingestion_job/s3_scanner.rs
  • components/log-ingestor/src/ingestion_job/sqs_listener.rs
  • components/log-ingestor/src/ingestion_job_manager.rs
  • components/log-ingestor/src/ingestion_job_manager/clp_ingestion.rs
  • components/log-ingestor/src/routes.rs
  • components/log-ingestor/tests/aws_config.rs
  • components/log-ingestor/tests/test_compression_listener.rs
  • components/log-ingestor/tests/test_ingestion_job.rs
  • components/log-ingestor/tests/test_scan.rs
  • components/log-ingestor/tests/test_utils.rs
  • tools/scripts/deps-download/init.sh
  • tools/yscope-dev-utils

@jackluo923
jackluo923 requested a review from modelconsumer July 22, 2026 00:41
modelconsumer
modelconsumer previously approved these changes Jul 23, 2026

@modelconsumer modelconsumer left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just autoformatting changes for 1 line per import so that diffs are better.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
components/compression-coordinator/src/job_handle.rs (2)

219-235: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Do not leave failed jobs in a non-terminal state.

If update_job_status fails, this code only logs the error and returns the original failure. The persisted job may remain Running or Pending, leaving recovery or retry logic with stale state. Add a durable retry/outbox path or propagate a combined failure signal.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/compression-coordinator/src/job_handle.rs` around lines 219 - 235,
Update JobHandle::report_failure so an unsuccessful
update_job_status(CompressionJobStatus::Failed, ...) cannot be treated as
handled: add the project’s durable retry/outbox mechanism or propagate a
combined failure signal to the caller, while preserving the original job error
and ensuring recovery logic is informed that terminal status persistence failed.

256-257: 🩺 Stability & Availability | 🔴 Critical | 🏗️ Heavy lift

Implement the production lifecycle before merging.

run() and recover() reach these todo! methods, so normal submission, metadata setup, persistence, completion polling, and failure status updates currently panic instead of returning Error. This makes the documented job flow unusable.

Also applies to: 272-273, 286-287, 300-301, 311-316

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/compression-coordinator/src/job_handle.rs` around lines 256 - 257,
Implement the production job lifecycle in prepare_task_inputs and the other
todo! methods reached by run() and recover(). Replace each panic with real input
preparation, metadata setup, persistence, completion polling, and failure-status
updates, propagating failures as Error values so normal submission and recovery
complete without panicking.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@components/compression-coordinator/src/job_handle.rs`:
- Around line 219-235: Update JobHandle::report_failure so an unsuccessful
update_job_status(CompressionJobStatus::Failed, ...) cannot be treated as
handled: add the project’s durable retry/outbox mechanism or propagate a
combined failure signal to the caller, while preserving the original job error
and ensuring recovery logic is informed that terminal status persistence failed.
- Around line 256-257: Implement the production job lifecycle in
prepare_task_inputs and the other todo! methods reached by run() and recover().
Replace each panic with real input preparation, metadata setup, persistence,
completion polling, and failure-status updates, propagating failures as Error
values so normal submission and recovery complete without panicking.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: ea4d5078-8514-48b6-9717-90660a7584eb

📥 Commits

Reviewing files that changed from the base of the PR and between 0477b31 and 5ea1c31.

📒 Files selected for processing (2)
  • components/clp-rust-utils/src/task_io/compression.rs
  • components/compression-coordinator/src/job_handle.rs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (8)
components/compression-coordinator/src/partition.rs (1)

50-56: 🩺 Stability & Availability | 🔴 Critical | ⚡ Quick win

Reject zero archive targets before partitioning.

When target_archive_size is 0, partition(true)’s outer loop is always true while its inner loop consumes no files, so into_task_input_sources() hangs indefinitely for any non-empty input. Use a non-zero configuration type or return a validation error before constructing the builder.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/compression-coordinator/src/partition.rs` around lines 50 - 56,
Validate target_archive_size in from_s3_config before constructing the partition
builder, rejecting zero with the established configuration error path;
alternatively use a non-zero size type if that is the existing API convention.
Ensure partition and into_task_input_sources cannot be reached with a zero
target while preserving valid non-zero configurations.
components/compression-coordinator/src/job_handle.rs (2)

191-215: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Compensate when persistence fails after Spider submission.

submit_and_wait saves the Spider job ID and marks the CLP job Running after requesting submission. If persist_spider_job_id fails, report_failure only sets the CLP status to Failed; the Spider job remains in the system and will not be recovered via spider_id IS NOT NULL, so a retry can submit duplicate work. Add idempotent submission/reconciliation in recovery or cancel the Spider job before returning the failure.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/compression-coordinator/src/job_handle.rs` around lines 191 - 215,
Update submit_and_wait around persist_spider_job_id so a persistence failure
after successful Spider submission is reconciled idempotently: either make
recovery discover and reuse the submitted spider_job_id, or cancel the Spider
job before propagating the persistence error. Preserve normal submission and
completion behavior, and ensure retries cannot submit duplicate work.

456-465: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Make job status transitions compare-and-set.

Both updates are keyed only by job ID, without checking the current state or affected-row count. Detached or recovered handles can race: one can set Running after another marks the job failed, or report_failure can overwrite Succeeded. Add allowed-state predicates and prevent terminal states from being overwritten.

Also applies to: 569-576

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/compression-coordinator/src/job_handle.rs` around lines 456 - 465,
Make the status updates in the job-running flow and report_failure
compare-and-set operations by adding predicates that permit only valid
non-terminal prior states. Inspect the execute result via rows_affected and
treat zero affected rows as a rejected stale transition, ensuring detached or
recovered handles cannot change Failed or Succeeded jobs. Preserve normal
updates when the current status is allowed.
components/clp-tdl-package/src/task/compression/compress.rs (1)

254-280: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Make archive publication failure-safe.

Lines 255-260 run the database-backed indexer and S3 upload concurrently. If one succeeds and the other fails, tokio::join! cannot undo the completed side effect, leaving inconsistent database/S3 state. Use an ordered, idempotent workflow with compensation or cleanup on failure.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/clp-tdl-package/src/task/compression/compress.rs` around lines 254
- 280, Replace the concurrent tokio::join! workflow around run_indexer and
upload_file_to_s3 with an ordered, idempotent publication flow that prevents
partial archive publication. Ensure any successful side effect is compensated or
cleaned up when the other operation fails, while preserving the existing
contextual error logging for both indexing and S3 upload.
components/clp-rust-utils/src/s3/url.rs (1)

34-77: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Percent-encode S3 path data before building URLs.

Lines 55-77 interpolate object_key directly into the URL. Valid keys containing ?, #, %, spaces, or newlines can be parsed incorrectly or split the newline-delimited --files-from list. Encode path data while preserving / separators, and add regression tests for these keys.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/clp-rust-utils/src/s3/url.rs` around lines 34 - 77, Update
generate_s3_url to percent-encode the bucket and object_key path components
before interpolation, preserving literal `/` separators within object_key while
encoding characters such as ?, #, %, spaces, and newlines. Apply the encoding
consistently to both endpoint and default URL branches, and add regression tests
covering these key values and the resulting URLs.
components/clp-rust-utils/src/serde/brotli_msgpack.rs (1)

46-49: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Bound decompression before reading the whole payload.

read_to_end expands an arbitrary database blob without a limit. A corrupt or compromised clp_config row can therefore exhaust coordinator memory during scheduling or recovery. Enforce a maximum decompressed size and return a typed error when it is exceeded.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/clp-rust-utils/src/serde/brotli_msgpack.rs` around lines 46 - 49,
Update deserialize to cap decompressed output before calling
rmp_serde::from_slice, enforcing the project’s maximum payload size while
reading from Decompressor. When the limit is exceeded, stop decompression and
return the established typed error rather than allowing read_to_end to grow
msgpack_data without bound.
components/compression-coordinator/src/coordination.rs (2)

507-567: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Make resource-group registration idempotent across retries.

add_resource_group performs the external creation before spider_resource_groups.rg_id is persisted. If the write fails, service restart can retry and create another resource instead of reconciling the existing Spider resource group. Use a distributed lock or idempotency key, or reconcile existing Spider resources before retrying.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/compression-coordinator/src/coordination.rs` around lines 507 -
567, The get_or_create_resource_group_id flow must make registration idempotent
when the database insert fails after add_resource_group succeeds. Update the
logic around add_resource_group and INSERT_QUERY to use a distributed lock or
stable idempotency key, or reconcile existing Spider resource groups before
creating another; preserve returning the persisted ID for already-registered
groups.

253-255: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not mark unsupported jobs as dispatched.

dispatched_job_ids is populated from every fetched row before deserialisation or handle construction. When create_job_handle returns Error::UnsupportedInputConfig, the row is intentionally left Pending for the legacy scheduler, but run later writes its dispatch_time anyway. That can make the job invisible to the legacy scheduler and strand it.

Suggested fix
-        let dispatched_job_ids: Vec<CompressionJobId> =
-            new_job_rows.iter().map(|row| row.id).collect();
+        let mut dispatched_job_ids = Vec::new();
...
             let Ok(job_handle) = self.create_job_handle(job_id, clp_io_config).await else {
                 continue;
             };
+            dispatched_job_ids.push(job_id);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/compression-coordinator/src/coordination.rs` around lines 253 -
255, Update the run flow so dispatched_job_ids contains only jobs whose handles
are successfully created and dispatched. Do not add rows that produce
Error::UnsupportedInputConfig from create_job_handle; leave those jobs out of
the later dispatch_time update so they remain Pending for the legacy scheduler.
Keep supported jobs’ dispatch behavior unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@components/clp-rust-utils/src/s3/url.rs`:
- Around line 34-77: Update generate_s3_url to percent-encode the bucket and
object_key path components before interpolation, preserving literal `/`
separators within object_key while encoding characters such as ?, #, %, spaces,
and newlines. Apply the encoding consistently to both endpoint and default URL
branches, and add regression tests covering these key values and the resulting
URLs.

In `@components/clp-rust-utils/src/serde/brotli_msgpack.rs`:
- Around line 46-49: Update deserialize to cap decompressed output before
calling rmp_serde::from_slice, enforcing the project’s maximum payload size
while reading from Decompressor. When the limit is exceeded, stop decompression
and return the established typed error rather than allowing read_to_end to grow
msgpack_data without bound.

In `@components/clp-tdl-package/src/task/compression/compress.rs`:
- Around line 254-280: Replace the concurrent tokio::join! workflow around
run_indexer and upload_file_to_s3 with an ordered, idempotent publication flow
that prevents partial archive publication. Ensure any successful side effect is
compensated or cleaned up when the other operation fails, while preserving the
existing contextual error logging for both indexing and S3 upload.

In `@components/compression-coordinator/src/coordination.rs`:
- Around line 507-567: The get_or_create_resource_group_id flow must make
registration idempotent when the database insert fails after add_resource_group
succeeds. Update the logic around add_resource_group and INSERT_QUERY to use a
distributed lock or stable idempotency key, or reconcile existing Spider
resource groups before creating another; preserve returning the persisted ID for
already-registered groups.
- Around line 253-255: Update the run flow so dispatched_job_ids contains only
jobs whose handles are successfully created and dispatched. Do not add rows that
produce Error::UnsupportedInputConfig from create_job_handle; leave those jobs
out of the later dispatch_time update so they remain Pending for the legacy
scheduler. Keep supported jobs’ dispatch behavior unchanged.

In `@components/compression-coordinator/src/job_handle.rs`:
- Around line 191-215: Update submit_and_wait around persist_spider_job_id so a
persistence failure after successful Spider submission is reconciled
idempotently: either make recovery discover and reuse the submitted
spider_job_id, or cancel the Spider job before propagating the persistence
error. Preserve normal submission and completion behavior, and ensure retries
cannot submit duplicate work.
- Around line 456-465: Make the status updates in the job-running flow and
report_failure compare-and-set operations by adding predicates that permit only
valid non-terminal prior states. Inspect the execute result via rows_affected
and treat zero affected rows as a rejected stale transition, ensuring detached
or recovered handles cannot change Failed or Succeeded jobs. Preserve normal
updates when the current status is allowed.

In `@components/compression-coordinator/src/partition.rs`:
- Around line 50-56: Validate target_archive_size in from_s3_config before
constructing the partition builder, rejecting zero with the established
configuration error path; alternatively use a non-zero size type if that is the
existing API convention. Ensure partition and into_task_input_sources cannot be
reached with a zero target while preserving valid non-zero configurations.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: cccc8654-77f2-4fa8-b89c-90a83b7348fa

📥 Commits

Reviewing files that changed from the base of the PR and between 5ea1c31 and 892a04e.

📒 Files selected for processing (17)
  • components/api-server/src/error.rs
  • components/api-server/src/routes.rs
  • components/clp-rust-utils/src/clp_config/package/config.rs
  • components/clp-rust-utils/src/dataset.rs
  • components/clp-rust-utils/src/job_config/clp_io_config.rs
  • components/clp-rust-utils/src/job_config/compression.rs
  • components/clp-rust-utils/src/s3/url.rs
  • components/clp-rust-utils/src/serde/brotli_msgpack.rs
  • components/clp-tdl-package/src/task/compression/commit.rs
  • components/clp-tdl-package/src/task/compression/compress.rs
  • components/clp-tdl-package/src/task/compression/mod.rs
  • components/compression-coordinator/src/bin/compression_coordinator.rs
  • components/compression-coordinator/src/coordination.rs
  • components/compression-coordinator/src/error.rs
  • components/compression-coordinator/src/job_handle.rs
  • components/compression-coordinator/src/partition.rs
  • components/log-ingestor/src/compression/compression_job_submitter.rs

@Bill-hbrhbr
Bill-hbrhbr merged commit 82a7034 into y-scope:main Jul 29, 2026
37 of 39 checks passed
@Bill-hbrhbr
Bill-hbrhbr deleted the bump-dev-utils branch July 29, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants