Skip to content

Update RSC to be mw/CAS compliant and fix filetype collision issue#1859

Open
Abrar Quazi (AbrarQuazi) wants to merge 1 commit into
feature/multi-wakefrom
make-rsc-cas-and-multiwake-compliant
Open

Update RSC to be mw/CAS compliant and fix filetype collision issue#1859
Abrar Quazi (AbrarQuazi) wants to merge 1 commit into
feature/multi-wakefrom
make-rsc-cas-and-multiwake-compliant

Conversation

@AbrarQuazi
Copy link
Copy Markdown
Contributor

  • Make RSC client upload from CAS
  • Make RSC client download to staging, and ingest + materialize into/from CAS
  • Fix filetype collision issue in RSC (add filetype and mode to job reuse key)
  • Add hash to output symlink target string so RSC client doesn't need to recompute it

// as before, preserving their cache. New-client keys mix in type+mode and
// land in a disjoint namespace, fixing the symlink-vs-file collision.
//
// TODO: Remove this check once all clients have been migrated to the newer version.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should be tracking these in a more central location so we can give some EOL timeline?

Comment thread rust/rsc/src/database.rs
let chunked: Vec<Vec<output_file::ActiveModel>> = output_files
.into_iter()
.chunks((MAX_SQLX_PARAMS / 6).into())
.chunks((MAX_SQLX_PARAMS / 7).into())
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Magic number. Should we assign this to a var for clarity?


require Pass _ = verifyBlobHash blobId actualHash contentHash

def fixupScript =
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Happy to see go away for multiple reasons. 😄

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Happy to see what a CAS system starts affording us.


# Returns the absolute CAS filesystem path for the blob with the given content hash.
# Fails if the blob is not present in the local CAS store.
export def primCasBlobPath (hash: String): Result String Error =
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

NIT: Path in the function name, but returns a String.

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.

2 participants