-
Notifications
You must be signed in to change notification settings - Fork 12
feat(lite): add local filesystem support; startup sleep for safe fencing #94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Greptile OverviewGreptile SummaryAdded local filesystem storage support via Key changes:
Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Server as Server Main
participant StoreInit as init_object_store
participant Store as ObjectStore
participant DB as SlateDB
participant Sleep as Tokio Sleep
participant Backend
participant HTTP as HTTP Server
User->>Server: Start with args (--bucket / --local-root / neither)
Server->>Server: Parse args & determine StoreType
alt S3 Bucket
Server->>StoreInit: StoreType::S3Bucket(bucket)
StoreInit->>Store: Initialize S3 ObjectStore
else Local Filesystem
Server->>StoreInit: StoreType::LocalFileSystem(path)
StoreInit->>Store: Create directory & LocalFileSystem
else In-Memory
Server->>StoreInit: StoreType::InMemory
StoreInit->>Store: Initialize InMemory store
end
Store-->>Server: Arc<dyn ObjectStore>
Server->>Server: Get flush_interval from StoreType.default_flush_interval()
Server->>DB: Build DB with settings
DB-->>Server: Db instance
Note over Server,Sleep: Fencing sleep period
Server->>Sleep: sleep(manifest_poll_interval)
Sleep-->>Server: Wake up (prior instance fenced out)
Server->>Backend: Create Backend with DB
Server->>HTTP: Start HTTP/HTTPS server
HTTP-->>User: Server ready
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 file reviewed, 1 comment
manifest_poll_intervalafter initializing DB but before starting to serve (closes [lite] make new instance wait out sl8 manifest poll interval #91)