Comments (3)
OK, let's propose something. Consider the configuration snippet below:
[STORAGE_POLICY]
5COPIES=NONE:DUP3:NONE
3COPIES=NONE:DUP5:NONE
ATBEST2COPIES=NONE:DUP1:NONE
EXACTLY2COPIES=NONE:DUP2:NONE
[DATA_SECURITY]
DUP5=DUP:distance=1|nb_copy=5:DUP3
DUP3=DUP:distance=1|nb_copy=3:DUP2
DUP2=DUP:distance=1|nb_copy=2
DUP1=DUP:distance=1|nb_copy=2:NONE
Let's consider you want to upload a content associated with the storage policy 5COPIES
. The 5COPIES
policy points to DUP5
security, with an allowed fallback to DUP3
.
The content should be associated (in the container) with 5COPIES
to reflect the initial intention of the client. So, if to few replicas are referenced in the container, a sanity crawler has enough information to find 2 additionnal services.
I propose the upload should fail if only 2 rawx
services are available, because DUP2
is not an allowed fallback for DUP5
. But the upload should succeed if 3 rawx
are available because DUP3
is explicitely listed.
In other words, fallbacks should not be transitive.
Also, if a content is uploaded with the policy ATBEST2COPIES
that points to DUP1
, the fallback NONE
is mentioned, so that the load-balancer is allowed to poll only 1 rawx
.
Eventually, if a content is uploaded with the policy EXACTLY2COPIES
that points to DUP2
, no fallback is mentioned, so that the load-balancer will only accept a solution with exactly 2 services polled.
OK with this?
from oio-sds.
This should be easy to do in the short term, even if the "LB review plan" proposed in #190 still remains necessary.
from oio-sds.
Too complicated to be quickly changed.
An higher level LB evolution is considered not a priority.
from oio-sds.
Related Issues (20)
- Object metadata events without property information
- Ambiguity of consecutive remove and create events HOT 2
- Help starting OpenIO cluster HOT 2
- Can account service use another backend not redis? HOT 1
- Support Python 3 HOT 1
- [INFORMATION] helm & kubernetes
- how to maintain rawx service
- Generate s3 access key from openio account
- Use https for everything between oio-swift and the rest
- oio-meta2-rebuilder throw AttributeError exception HOT 1
- Create object in OpenIO with backblaze config HOT 1
- [bug][build][gcc-9.3.0] trampolines
- Documentation refers to non-existent group_vars directory
- 503 when trying to upload with EC storage policy HOT 2
- Can't rebuild meta after disk failure - "No rdir assigned" even though it is HOT 2
- Based on the website and all the past people who ran this on linkedin HOT 1
- Acls disable acls and public sharing
- Rebuilder: EC rebuilds fail when one of the K first fragments is itself damaged HOT 2
- Rebuilder: Too many locations already known for chunks with duplicate positions
- Docker Image Version 20.04 Fails to Launch HOT 4
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 oio-sds.