bfs's People
Forkers
etsangsplkbfs's Issues
Tests use different techniques to manage port collisions
Many tests use weird ports or bespoke techniques to avoid collisions. Some standard should be used to make them easier to maintain.
Client has no tests
Client
has no direct unit or functional tests. This is largely because of how complicate it is to assemble the proper server infrastructure. That said, we do it in other places; there's no reason it can't be done.
Remove leveldb namespace backend
With the addition of the embedded etcd namespace backend, we no longer need the leveldb implementation. It's currently unused.
Vendored etcd fails to build on Linux
Travis builds are failing with the following:
vendor/github.com/coreos/etcd/mvcc/backend/config_linux.go:31:16: unknown field 'NoFreelistSync' in struct literal of type bolt.Options
This doesn't occur on Darwin.
Client removals do not remove blocks
The Remove()
method currently only removes name service metadata, not block data.
File reader doesn't support multiple nodes
The file reader (file.LocalFileReader
) currently takes a single block client rather than a connection factory. As a result, it can only talk to a single block service. Multi-node reads are broken.
File writers instantiate a new placement policy on each new instance
Each time a file writer is created, it creates its own block placement policy. This means, in addition to burning some CPU cycles that aren't necessary, block selection always starts from the beginning. This piles up blocks on the first few selections. A single placement policy should be shared across writers.
Add a README file
Move core name service protos to a shared location
Some of the core name service protos - notably Time
, Entry
, and BlockMetadata
- are currently in service/nameservice/nameservice.proto
. This means many unrelated parts of the code base have a dependency on the nameservice
package which is awkward. Move them somewhere neutral and import them for use with the name service.
PV to LV assignment should be selector-based
The system current has manual assignments of PVs to LVs. This is tedious and error prone. Instead, it should use selectors to manage mappings.
Block placement is hard coded to the hostname label
The block placement policy hard codes the label used for distribution to hostname
. This should be configurable.
Add a LICENSE file
Add a code of conduct
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.