Comments (8)
I think it'd be better to call this interface PseudoKVS
instead of PseudoS3
because S3 API has more functionalities such as versioning and ACL. Using S3
sounds confusing.
from us.
To make this slightly more concrete, I was thinking along the lines of:
type PseudoS3 struct { ... }
func (PseudoS3) CreateBucket(name string) (*PseudoBucket, error)
func (PseudoS3) Bucket(name string) (*PseudoBucket, error)
type PseudoBucket struct { ... }
func (PseudoBucket) Put(key, val []byte) error
func (PseudoBucket) Get(key []byte) ([]byte, error)
func (PseudoBucket) Delete(key []byte) error
func (PseudoBucket) Sync() error
The main goal would be to aggregate Put
s across the entire PseudoS3
instance, such that data is only flushed to hosts when a full sector's-worth of key-vals have been stored. However, I'm not familiar enough with S3 to flesh out a full API, and I don't have a good idea of what the local storage aspect would look like.
from us.
I think it also needs List
function, too.
from us.
It also would be better if the type of val
is io.Reader
in both Put
and Get
instead of []byte
. If it uses byte slices, we need to copy each object to heap, and thus we might not be able to store bigger objects.
from us.
PseudoKV has been integrated, moving new roadmap features to #126 for consistency.
from us.
I think PseudoKV isn't done yet.
There are still some missing functions:
us/renter/renterutil/metadb.go
Lines 348 to 354 in 8a2eb34
us/renter/renterutil/metadb.go
Lines 367 to 369 in 8a2eb34
Also kv
branch is not merged into master
.
from us.
Thanks, reopened. I see this is also related to #102 correct?
from us.
Yes, it is. Especially, this problem #102 (comment).
from us.
Related Issues (20)
- Transaction spends a nonexisting siacoin output HOT 1
- Migrate to RHP3 HOT 1
- RenewContract: ReadResponse: consensus conflict: provided transaction set is standalone and invalid: transaction cannot have an output or payout that has zero value HOT 7
- PseudoKV roadmap (discussion) HOT 1
- NewEphemeralMetaDB misses initializing meta
- Hot swapping PseudoKV contracts HOT 12
- AddShard uses bucketChunks to calculate the next ID HOT 1
- Tooling to retry failed contract renewals HOT 5
- Conversion from untyped int to string yields a string of one rune, not a string of digits HOT 4
- BoltMetaDB.ForEachBlob can cause a deadlock HOT 9
- PseudoKV migration acceleration
- Data race in ParallelBlobDownloader HOT 1
- Rejected for low paying host missed output HOT 5
- TestCompatibility takes more than 10min and panics HOT 4
- Could not find the desired sector HOT 12
- Does migration re-upload everything? HOT 2
- Lock: couldn't read LoopLock response: unexpected EOF HOT 3
- Delete files in parallel (ParallelSectorDeleter) HOT 2
- HostSet.Close forgets releasing locks HOT 5
- tryLock is not released properly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from us.