Skip to content

feat(clp-package)!: Add support for specifying a temporary directory; Remove hack in var/data conditional mounts (resolves #1478).#1480

Merged
junhaoliao merged 264 commits into
y-scope:mainfrom
junhaoliao:tmp-dir
Oct 24, 2025

Conversation

@junhaoliao

@junhaoliao junhaoliao commented Oct 23, 2025

Copy link
Copy Markdown
Member

Description

This change adds support for a configurable temporary directory used by CLP runtime
components and removes the prior conditional mount hack around /var/data in the Docker Compose package
orchestration.
This change is BREAKING because now temporary runtime data is stored in the configurable tmp_directory (default var/tmp, mounted as /var/tmp in the container) instead of the data_directory (/var/data), and WorkerConfig now uses tmp_directory for temp artifacts.

Summary of changes:

  • clp_py_utils.clp_config
    • Introduced CLP_DEFAULT_TMP_DIRECTORY_PATH defaulting to var/tmp.
    • Added tmp_directory to CLPConfig with absolute-path transformation, validate_tmp_dir(),
      and container translation in transform_for_container().
    • Updated WorkerConfig to use tmp_directory (replacing data_directory) for temp files.
  • Exported CLP_TMP_DIR_HOST env for compose.
  • job_orchestration/executor/compress
    • compression_task.py: Switched temp artifacts (e.g., *-log-paths.txt) to be created under
      worker_config.tmp_directory.
  • package-template
    • clp-config.yml: Documented the new tmp_directory option and constraints.
  • Docker Compose deployment

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

task
cd build/clp-package

./sbin/start-clp.sh
# Observed the package started successfully

docker compose config
# Observed the `/tmp` mount hack has been removed

./sbin/compress.sh ~/samples/hive-24hr
# Observed the compression job completed successfully

ls -l var/data
# Observed no `staged-archives` directory was listed

# Loaded the WebUI http://localhost:4000 and performed a search.
# The search completed successfully with results.

Summary by CodeRabbit

  • New Features

    • Added configurable temporary directory for runtime data with validation and container mapping.
  • Configuration Changes

    • New tmp_directory option with default path and safety guidance.
    • Orchestration now exposes a host TMP bind for containers and simplifies archive mounts.
  • Improvements

    • Worker and task flows now use the tmp directory consistently and create/validate it at startup.

junhaoliao and others added 30 commits August 24, 2025 10:41
# Conflicts:
#	components/clp-package-utils/clp_package_utils/scripts/start_clp.py
@coderabbitai

coderabbitai Bot commented Oct 23, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Introduces a new tmp_directory configuration for temporary runtime data, updates config classes and validations, assigns tmp_directory into worker configs and startup initialization, switches compression tasks to use tmp_directory, and updates Docker Compose to bind-mount the host tmp directory (removing the prior archive mount hack).

Changes

Cohort / File(s) Summary
Configuration classes
components/clp-py-utils/clp_py_utils/clp_config.py
Adds tmp_directory default (var/tmp), resolves it absolute against CLP home, adds validate_tmp_dir(), maps it for containers, and exposes tmp_directory on WorkerConfig (removing data_directory).
Package utilities — controller
components/clp-package-utils/clp_package_utils/controller.py
Adds CLP_TMP_DIR_HOST environment variable to Docker Compose environment, populated from clp_config.tmp_directory.
Package utilities — general
components/clp-package-utils/clp_package_utils/general.py
generate_worker_config() now assigns worker_config.tmp_directory = clp_config.tmp_directory; load_config_file() validates clp_config.tmp_directory via validate_path_for_container_mount().
Package utilities — startup script
components/clp-package-utils/clp_package_utils/scripts/start_clp.py
Calls clp_config.validate_aws_config_dir() earlier, replaces prior validation location with clp_config.validate_tmp_dir(), and creates tmp_directory alongside data/logs/archive/stream directories during init.
Job orchestration — compression
components/job-orchestration/job_orchestration/executor/compress/compression_task.py
Replaces uses of data_directory with tmp_directory for runtime paths (e.g., logs list file).
Configuration template
components/package-template/src/etc/clp-config.yml
Adds tmp_directory option with comments describing purpose, creation behavior, and container path non-overlap requirement.
Docker Compose
tools/deployment/package/docker-compose.base.yaml
Removes the archive/staged-archive mount hack; adds direct bind for CLP_TMP_DIR_HOST/var/tmp, direct binds for CLP_ARCHIVE_OUTPUT_DIR_HOST/var/data/archives and CLP_STAGED_ARCHIVE_OUTPUT_DIR_HOST/var/data/staged-archives.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant CLPConfig
  participant StartScript
  participant Controller
  participant DockerCompose
  participant Worker
  participant CompressionTask

  rect #f0f8ff
    User->>CLPConfig: edit clp-config.yml (tmp_directory)
    CLPConfig-->>User: tmp_directory set (var/tmp)
  end

  rect #f7fff0
    StartScript->>CLPConfig: load_config_file()
    CLPConfig->>CLPConfig: validate_tmp_dir()
    StartScript->>StartScript: create tmp_directory (host)
  end

  rect #fff7f0
    Controller->>CLPConfig: generate_worker_config()
    Controller->>DockerCompose: set env CLP_TMP_DIR_HOST=host tmp path
    DockerCompose->>Worker: bind-mount /var/tmp <- CLP_TMP_DIR_HOST
  end

  rect #f0fff7
    Worker->>CompressionTask: run_clp()
    CompressionTask->>Worker: use tmp_directory for intermediate files
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title clearly and accurately summarizes the main objectives of the changeset. It states the two primary changes: adding support for specifying a configurable temporary directory and removing the Docker Compose mount hack that previously used conditional mounts under /var/data. The title is concise, uses conventional commit format with a breaking-change indicator (!), and directly relates to the resolution of issue #1478. A teammate reviewing the PR history would immediately understand that this change introduces a new tmp_directory configuration and eliminates the prior workaround.
Linked Issues Check ✅ Passed The code changes comprehensively address all five objectives outlined in issue #1478. The PR introduces a configurable tmp_directory with a default path of var/tmp in clp_py_utils/clp_config.py, updates WorkerConfig to use this new temporary directory instead of data_directory, and modifies compression_task.py to generate temporary runtime artifacts in tmp_directory. The Docker Compose configuration removes the previous conditional mount hack and replaces it with a straightforward bind mount for ${CLP_TMP_DIR_HOST:-./var/tmp} to /var/tmp, eliminating the need for /var/data indirection. Configuration documentation is provided in the template clp-config.yml file with descriptive comments about the purpose and constraints of the temporary directory option.
Out of Scope Changes Check ✅ Passed All code changes in the pull request are directly related to the objectives of issue #1478. The modifications span configuration management (clp_config.py), worker configuration (general.py), service initialization (start_clp.py), environment setup (controller.py), compression task execution (compression_task.py), Docker Compose orchestration (docker-compose.base.yaml), and configuration documentation (clp-config.yml). Each set of changes contributes to either establishing the new temporary directory feature, validating it, mapping it in containers, or removing the prior workaround hack. No extraneous modifications or unrelated refactoring appears to be present in this changeset.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

# Conflicts:
#	components/clp-package-utils/clp_package_utils/controller.py
#	components/clp-package-utils/clp_package_utils/general.py
#	components/clp-package-utils/clp_package_utils/scripts/start_clp.py
#	components/clp-py-utils/clp_py_utils/clp_config.py
#	tools/deployment/package/docker-compose.base.yaml
@junhaoliao junhaoliao marked this pull request as ready for review October 23, 2025 15:28
@junhaoliao junhaoliao requested a review from a team as a code owner October 23, 2025 15:28
@junhaoliao

Copy link
Copy Markdown
Member Author

@sitaowang1998 could you help review this before passing it onto @kirkrodrigues ?

@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.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9ff731b and 4409611.

📒 Files selected for processing (7)
  • components/clp-package-utils/clp_package_utils/controller.py (1 hunks)
  • components/clp-package-utils/clp_package_utils/general.py (2 hunks)
  • components/clp-package-utils/clp_package_utils/scripts/start_clp.py (2 hunks)
  • components/clp-py-utils/clp_py_utils/clp_config.py (6 hunks)
  • components/job-orchestration/job_orchestration/executor/compress/compression_task.py (2 hunks)
  • components/package-template/src/etc/clp-config.yml (1 hunks)
  • tools/deployment/package/docker-compose.base.yaml (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-10-17T19:59:25.596Z
Learnt from: junhaoliao
PR: y-scope/clp#1178
File: components/clp-package-utils/clp_package_utils/controller.py:315-315
Timestamp: 2025-10-17T19:59:25.596Z
Learning: In components/clp-package-utils/clp_package_utils/controller.py, worker log directories (compression_worker, query_worker, reducer) created via `mkdir()` do not need `_chown_paths_if_root()` calls because directories are created with the same owner as the script caller. This differs from infrastructure service directories (database, queue, Redis, results cache) which do require explicit ownership changes.

Applied to files:

  • components/clp-package-utils/clp_package_utils/general.py
📚 Learning: 2025-09-28T15:00:22.170Z
Learnt from: LinZhihao-723
PR: y-scope/clp#1340
File: components/job-orchestration/job_orchestration/executor/compress/compression_task.py:528-528
Timestamp: 2025-09-28T15:00:22.170Z
Learning: In components/job-orchestration/job_orchestration/executor/compress/compression_task.py, there is a suggestion to refactor from passing logger as a parameter through multiple functions to creating a ClpCompressor class that takes the logger as a class member, with current helper functions becoming private member functions.

Applied to files:

  • components/job-orchestration/job_orchestration/executor/compress/compression_task.py
📚 Learning: 2025-10-07T07:54:32.427Z
Learnt from: junhaoliao
PR: y-scope/clp#1178
File: components/clp-py-utils/clp_py_utils/clp_config.py:47-47
Timestamp: 2025-10-07T07:54:32.427Z
Learning: In components/clp-py-utils/clp_py_utils/clp_config.py, the CONTAINER_AWS_CONFIG_DIRECTORY constant is intentionally set to pathlib.Path("/") / ".aws" (i.e., `/.aws`) rather than a user-specific home directory. This hardcoded path is part of the container orchestration design.

Applied to files:

  • components/clp-py-utils/clp_py_utils/clp_config.py
🧬 Code graph analysis (2)
components/clp-package-utils/clp_package_utils/scripts/start_clp.py (1)
components/clp-py-utils/clp_py_utils/clp_config.py (4)
  • validate_aws_config_dir (714-742)
  • validate_data_dir (696-700)
  • validate_logs_dir (702-706)
  • validate_tmp_dir (708-712)
components/clp-py-utils/clp_py_utils/clp_config.py (1)
components/clp-py-utils/clp_py_utils/core.py (2)
  • make_config_path_absolute (42-53)
  • validate_path_could_be_dir (65-72)
🪛 Ruff (0.14.1)
components/clp-py-utils/clp_py_utils/clp_config.py

712-712: Within an except clause, raise exceptions with raise ... from err or raise ... from None to distinguish them from errors in exception handling

(B904)


712-712: Avoid specifying long messages outside the exception class

(TRY003)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: lint-check (ubuntu-24.04)
  • GitHub Check: lint-check (macos-15)
  • GitHub Check: antlr-code-committed (ubuntu-24.04)
🔇 Additional comments (14)
components/job-orchestration/job_orchestration/executor/compress/compression_task.py (2)

340-340: LGTM: Correct usage of tmp_directory for temporary artifacts.

The change from data_directory to tmp_directory correctly aligns with the PR objective to separate temporary runtime data from persistent data storage.


378-378: LGTM: Appropriate location for temporary log list file.

Using tmp_dir for the temporary logs list file is correct, as this file is generated per-task and doesn't need to persist beyond the compression operation.

components/clp-package-utils/clp_package_utils/controller.py (1)

715-715: LGTM: Environment variable properly exposes tmp_directory to containers.

The addition of CLP_TMP_DIR_HOST follows the established pattern for exposing host directories to Docker Compose containers and correctly references clp_config.tmp_directory.

components/package-template/src/etc/clp-config.yml (1)

133-137: LGTM: Clear and comprehensive documentation for tmp_directory.

The documentation properly describes the purpose, creation behavior, and constraints of the tmp_directory configuration option, consistent with the documentation style for data_directory and logs_directory.

components/clp-package-utils/clp_package_utils/scripts/start_clp.py (2)

60-63: LGTM: Validation order updated correctly.

The early call to validate_aws_config_dir() and the addition of validate_tmp_dir() properly extend validation coverage to the new tmp_directory configuration field.


72-72: LGTM: tmp_directory creation added consistently.

The creation of tmp_directory follows the same pattern as data_directory and logs_directory, ensuring the temporary directory exists before CLP components start.

components/clp-py-utils/clp_py_utils/clp_config.py (5)

60-60: LGTM: Appropriate default for tmp_directory.

The default path var/tmp is a sensible choice for temporary runtime data, following conventions for temporary directory placement.


621-621: LGTM: tmp_directory field added consistently to CLPConfig.

The new field follows the same pattern as data_directory and logs_directory, with appropriate type annotation and default value.


646-646: LGTM: Path resolution for tmp_directory added correctly.

The make_config_path_absolute call for tmp_directory is correctly placed alongside similar calls for data_directory and logs_directory.


795-795: LGTM: Container path transformation for tmp_directory.

The transformation correctly maps tmp_directory to /var/tmp in the container, consistent with the default path structure.


813-813: LGTM: WorkerConfig updated to use tmp_directory.

The replacement of data_directory with tmp_directory in WorkerConfig correctly reflects the shift to using a dedicated temporary directory for worker operations.

tools/deployment/package/docker-compose.base.yaml (1)

265-271: LGTM: Docker Compose mounts simplified as intended.

The changes successfully remove the conditional mount hack by:

  1. Providing direct bind mounts for archive directories (lines 265, 268)
  2. Adding a dedicated tmp directory mount (lines 270-271) that defaults to ./var/tmp

This aligns with the PR objective to eliminate the /var/data bind-mount indirection and resolves issue #1478.

components/clp-package-utils/clp_package_utils/general.py (2)

328-328: LGTM: Worker configuration correctly updated to use tmp_directory.

The assignment of worker_config.tmp_directory from clp_config.tmp_directory properly propagates the new temporary directory configuration to worker processes, replacing the previous data_directory usage.


443-443: LGTM: Validation added for tmp_directory to prevent container path conflicts.

The validate_path_for_container_mount call for tmp_directory is correctly placed alongside similar validations for data_directory and logs_directory, ensuring the path doesn't conflict with container-internal paths.

Comment on lines +708 to +712
def validate_tmp_dir(self):
try:
validate_path_could_be_dir(self.tmp_directory)
except ValueError as ex:
raise ValueError(f"tmp_directory is invalid: {ex}")

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.

🧹 Nitpick | 🔵 Trivial

Consider improving exception handling for consistency.

The validation method is functionally correct, but could be improved for better exception handling practices.

Apply this diff to improve exception chaining and message handling:

 def validate_tmp_dir(self):
     try:
         validate_path_could_be_dir(self.tmp_directory)
     except ValueError as ex:
-        raise ValueError(f"tmp_directory is invalid: {ex}")
+        raise ValueError(f"tmp_directory is invalid: {ex}") from ex

Note: This is an optional refinement. The existing code is functional, and this pattern is consistent with validate_data_dir() and validate_logs_dir() in the same file, which also don't use exception chaining.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
def validate_tmp_dir(self):
try:
validate_path_could_be_dir(self.tmp_directory)
except ValueError as ex:
raise ValueError(f"tmp_directory is invalid: {ex}")
def validate_tmp_dir(self):
try:
validate_path_could_be_dir(self.tmp_directory)
except ValueError as ex:
raise ValueError(f"tmp_directory is invalid: {ex}") from ex
🧰 Tools
🪛 Ruff (0.14.1)

712-712: Within an except clause, raise exceptions with raise ... from err or raise ... from None to distinguish them from errors in exception handling

(B904)


712-712: Avoid specifying long messages outside the exception class

(TRY003)

🤖 Prompt for AI Agents
In components/clp-py-utils/clp_py_utils/clp_config.py around lines 708 to 712,
the validate_tmp_dir method currently catches ValueError and re-raises a new
ValueError without exception chaining; update the raise to preserve the original
exception context by using "raise ValueError(f'tmp_directory is invalid: {ex}')
from ex" so the original stack trace is retained and debugging is easier.

@sitaowang1998 sitaowang1998 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.

Just from this PR, it looks like the temporary directory is used exclusively inside the worker container, so why do we need to mount it?

@junhaoliao

Copy link
Copy Markdown
Member Author

Just from this PR, it looks like the temporary directory is used exclusively inside the worker container, so why do we need to mount it?

for the background, the compression scheduler write an input files catalog to a temp location and pass the location to the clp binaries:

def _generate_fs_logs_list(
output_file_path: pathlib.Path,
paths_to_compress: PathsToCompress,
) -> None:
file_paths = paths_to_compress.file_paths
empty_directories = paths_to_compress.empty_directories
with open(output_file_path, "w") as file:
for path_str in file_paths:
file.write(path_str)
file.write("\n")
if empty_directories and len(empty_directories) > 0:
# Prepare list of paths to compress for clp
for path_str in empty_directories:
file.write(path_str)
file.write("\n")

as for whether to write to /var/tmp or /tmp, it a matter of lifetime of the data: data in /var/tmp survives reboots while data in /tmp don't (on most POSIX compliant systems. i once worked with RedHat's in-vehicle OS and their /tmp is persistent lol).

it's true that we don't need persistence of such catalog across service (i.e., compression-worker) reboots. Then /tmp can be used instead of /var/tmp. Then we don't have to map such directories on the host. @kirkrodrigues what do you think?

@sitaowang1998

Copy link
Copy Markdown
Contributor

for the background, the compression scheduler write an input files catalog to a temp location and pass the location to the clp binaries:

Correct me if I'm wrong, but I thinks it is the compression worker who writes the input files catalog to a temp location and then call clp binaries to read from the created file.

@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.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4409611 and ddc30f8.

📒 Files selected for processing (2)
  • components/clp-package-utils/clp_package_utils/controller.py (1 hunks)
  • tools/deployment/package/docker-compose.base.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: package-image
  • GitHub Check: build (macos-15)
  • GitHub Check: lint-check (ubuntu-24.04)
  • GitHub Check: lint-check (macos-15)
🔇 Additional comments (2)
components/clp-package-utils/clp_package_utils/controller.py (1)

721-721: LGTM! Environment variable follows the established pattern.

The addition of CLP_TMP_DIR_HOST correctly exports the tmp_directory configuration to Docker Compose, following the same pattern as other directory environment variables. The placement in the Paths section is appropriate and consistent with the codebase structure.

tools/deployment/package/docker-compose.base.yaml (1)

265-265: These environment variables are already properly exported and initialized—no issues found.

The verification confirms all three variables (CLP_TMP_DIR_HOST, CLP_ARCHIVE_OUTPUT_DIR_HOST, CLP_STAGED_ARCHIVE_OUTPUT_DIR_HOST) follow a sound initialization pattern:

  1. Variable export: Populated in controller.py (lines 721, 735–737) and written to the .env file in clp_home (line 757). Docker Compose automatically loads this .env when invoked from that directory.

  2. Directory initialization: Created in start_clp.py (lines 72–74) with mkdir(parents=True, exist_ok=True) before controller.start() is called.

  3. Path validation: Validated through clp_config properties derived from the loaded configuration file, ensuring directories are properly set up before Docker Compose invocation.

Likely an incorrect or invalid review comment.

volumes:
- *volume_clp_config_readonly
- *volume_clp_logs
- "${CLP_ARCHIVE_OUTPUT_DIR_HOST:-empty}:/var/data/archives"

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.

🧹 Nitpick | 🔵 Trivial

Standardize mount syntax for consistency.

Lines 265 and 268 use shorthand string syntax for mounts, while lines 269–271 use explicit YAML object syntax. While both are valid Docker Compose syntax, this inconsistency within the same volumes list reduces clarity. Consider adopting one style consistently.

For example, convert lines 265 and 268 to match the explicit style:

      volumes:
        - *volume_clp_config_readonly
        - *volume_clp_logs
-       - "${CLP_ARCHIVE_OUTPUT_DIR_HOST:-empty}:/var/data/archives"
        - "${CLP_AWS_CONFIG_DIR_HOST:-empty}:/.aws:ro"
        - "${CLP_LOGS_INPUT_DIR_HOST:-empty}:${CLP_LOGS_INPUT_DIR_CONTAINER:-/mnt/logs}"
-       - "${CLP_STAGED_ARCHIVE_OUTPUT_DIR_HOST:-empty}:/var/data/staged-archives"
+       - type: "bind"
+         source: "${CLP_ARCHIVE_OUTPUT_DIR_HOST:-empty}"
+         target: "/var/data/archives"
+       - type: "bind"
+         source: "${CLP_STAGED_ARCHIVE_OUTPUT_DIR_HOST:-empty}"
+         target: "/var/data/staged-archives"
        - type: "bind"
          source: "${CLP_TMP_DIR_HOST:-./var/tmp}"
          target: "/var/tmp"

Alternatively, if the shorthand syntax is preferred, consolidate all mounts to that format.

Also applies to: 268-271

🤖 Prompt for AI Agents
In tools/deployment/package/docker-compose.base.yaml around lines 265 and
268–271, the volumes list mixes shorthand string mounts and explicit YAML object
mounts; convert the shorthand entries on lines 265 and 268 into the same
explicit object form used on 269–271. Replace each shorthand
"${ENV_VAR:-default}:/container/path" with an object using type: bind, source:
the environment-expanded host path, and target: the container path (and include
read_only: true if the matching explicit entries are read-only), so all volume
entries use the explicit YAML mapping style consistently.

@kirkrodrigues

Copy link
Copy Markdown
Member

it's true that we don't need persistence of such catalog across service (i.e., compression-worker) reboots. Then /tmp can be used instead of /var/tmp. Then we don't have to map such directories on the host. @kirkrodrigues what do you think?

It's useful for debugging when things go wrong, so I'd prefer to persist it for now.

@junhaoliao junhaoliao merged commit 0b5a966 into y-scope:main Oct 24, 2025
20 checks passed
@junhaoliao junhaoliao deleted the tmp-dir branch October 24, 2025 02:30
junhaoliao added a commit to junhaoliao/clp that referenced this pull request May 17, 2026
… Remove hack in `var/data` conditional mounts (resolves y-scope#1478). (y-scope#1480)
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.

Remove Docker Compose mount hack for archive/staged-archive directories

3 participants