You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@cassandra.apache.org by "smiklosovic (via GitHub)" <gi...@apache.org> on 2026/10/07 11:59:07 UTC

[PR] CEP-36 draft [cassandra]

smiklosovic opened a new pull request, #5238:
URL: https://github.com/apache/cassandra/pull/5238

   Thanks for sending a pull request! Here are some tips if you're new here:
    
    * Ensure you have added or run the [appropriate tests](https://cassandra.apache.org/_/development/testing.html) for your PR.
    * Be sure to keep the PR description updated to reflect all changes.
    * Write your PR title to summarize what this PR proposes.
    * If possible, provide a concise example to reproduce the issue for a faster review.
    * Read our [contributor guidelines](https://cassandra.apache.org/_/development/index.html)
    * If you're making a documentation change, see our [guide to documentation contribution](https://cassandra.apache.org/_/development/documentation.html)
    
   Commit messages should follow the following format:
   
   ```
   <One sentence description, usually Jira title or CHANGES.txt summary>
   
   <Optional lengthier description (context on patch)>
   
   patch by <Authors>; reviewed by <Reviewers> for CASSANDRA-#####
   
   Co-authored-by: Name1 <email1>
   Co-authored-by: Name2 <email2>
   
   ```
   
   The [Cassandra Jira](https://issues.apache.org/jira/projects/CASSANDRA/issues/)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org


Re: [PR] CEP-36 draft [cassandra]

Posted by "michaelsembwever (via GitHub)" <gi...@apache.org>.
michaelsembwever commented on PR #5238:
URL: https://github.com/apache/cassandra/pull/5238#issuecomment-6098824109

   I like the small integration surface here, @smiklosovic   
   But on the API… could we go through it a bit more…
   
   Keeping the existing local flush path and using lifecycle notifications gives us a fairly contained starting point.  
   But what gives me pause is that channel creation covers only part of the filesystem behaviour we rely on.
   
     • Access: Section streaming reopens the local pathname through ChannelProxy.newChannel(), and entire-SSTable streaming skips absent local components.  We need offloaded data to remain accessible through those paths.
     • Existence: A configured provider doesn’t tell us whether a particular component exists remotely.  The orphan-cleanup exemption and TOC restoration need to distinguish offloaded data from genuinely incomplete SSTables.
     • Ownership: We should spell out when an upload is durable, local bytes can be removed, readers transition, and remote bytes can be deleted, including across concurrent operations and restart.
     • Supported behavior: mmap/direct-I/O, snapshots, incremental backups, and table-level offload policy need explicit contracts.
   
   
     Some relevant examples to look into [StorageProvider](https://github.com/datastax/cassandra/blob/main-5.0/src/java/org/apache/cassandra/io/storage/StorageProvider.java), [StorageHandler](https://github.com/datastax/cassandra/blob/main-5.0/src/java/org/apache/cassandra/io/sstable/StorageHandler.java), and [ILogTransactionsFactory](https://github.com/datastax/cassandra/blob/main-5.0/src/java/org/apache/cassandra/db/lifecycle/ILogTransactionsFactory.java). They give us concrete alternatives to examine; the requirements above should determine which boundaries make sense here.
   
     Could we start with a test that follows an offloaded Data.db through restart, streaming, reader replacement, and deletion, including upload failure? I think that would help us establish whether an interface is sufficient.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org