Re: [DISCUSS] CEP-36: A Configurable ChannelProxy to alias external storage locations

2023-09-25 Thread Claude Warren, Jr via dev
My intention is to develop an S3 storage system using https://github.com/carlspring/s3fs-nio There are several issues yet to be solved: 1. There are some internal calls that create files in the table directory that do not use the channel proxy. I believe that these are making calls on F

Re: [DISCUSS] CEP-36: A Configurable ChannelProxy to alias external storage locations

2023-09-25 Thread guo Maxwell
"Rather than building this piece by piece, I think it'd be awesome if someone drew up an end-to-end plan to implement tiered storage, so we can make sure we're discussing the whole final state, and not an implementation detail of one part of the final state?" Do agree with jeff for this ~~~ If the

Re: [DISCUSS] CEP-36: A Configurable ChannelProxy to alias external storage locations

2023-09-25 Thread Jeff Jirsa
- I think this is a great step forward. - Being able to move sstables around between tiers of storage is a feature Cassandra desperately needs, especially if one of those tiers is some sort of object storage - This looks like it's a foundational piece that enables that. Perhaps by a team that's alr

Re: [DISCUSS] CEP-36: A Configurable ChannelProxy to alias external storage locations

2023-09-25 Thread Claude Warren, Jr via dev
external storage can be any storage that you can produce a FileChannel for. There is an S3 library that does this so S3 is a definite possibility for storage in this solution. My example code only writes to a different directory on the same system. And there are a couple of places where I did no

Re: [DISCUSS] CEP-36: A Configurable ChannelProxy to alias external storage locations

2023-09-25 Thread guo Maxwell
Great suggestion, Can external storage only be local storage media? Or can it be stored in any storage medium, such as object storage s3 ? We have previously implemented a tiered storage capability, that is, there are multiple storage media on one node, SSD, HDD, and data placement based on reques