Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Design
- - [ ] Testing: unit tests/integration tests (? what does it even mean in this case)/performance tests
- - [ ] Implement standard java...File interfaces/create separate interfaces?
- - [ ] Don't allocate cluster for empty files
- - [ ] `iNodes` vs `array` vs `B-Tree`
- - [ ] Resource locking (`RWLocks` on segments)
- - [ ] Resource release in case of h/w failures e.g. power outage
- - [ ] File corruption
- - [ ] External file modification. Prevention and detection
- - [ ] Fragmentation
- - [ ] File sizes (does it matter?)
- - [ ] Performance of concurrent writes. Can threads write to separate segments of a file concurrently?
- - [ ] Delaying of operations
- - [ ] What to choose in java? `RandomAccessFile` or smth more fancy
- - [ ] Really atomic writes for metadata/userdata
- - [ ] Retries on timeouts or temporary disk failures
- - [ ] Dynamic resize/reallocation vs constant size vs expensive (?) static resize operation
- - [ ] Possible consequences of underlying outage while reading ?
- - [ ] Error handling: fancy exceptions
- - [ ] What to include in metadata?
- - [ ] Modification events? Callbacks/actors? How to notify without executing?
- - [ ] Decide on supported operations:
- * Create
- * Read
- * Write
- * Delete
- * Move
- * Copy
- * Rename
- * List
- * Find
- * Permissions
- * Set
- * Modify
- * Check
- - [ ] Checks for integrity/format correctness on initialization with existing FS
- - [ ] Wait for writes on shutdown or just disable?
- - [ ] Fair/unfair waiting on locks for data blocks?
- - [ ] How to react on simultaneous writes to the same block? Allow to write to the same block or say it has to be open?
- - [ ] Storage spec versioning?
Add Comment
Please, Sign In to add comment