Skip to content

Object storage feature#192

Open
g3co wants to merge 14 commits intomasterfrom
dev/object_storage
Open

Object storage feature#192
g3co wants to merge 14 commits intomasterfrom
dev/object_storage

Conversation

@g3co
Copy link
Copy Markdown
Contributor

@g3co g3co commented Feb 11, 2026

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 11, 2026

📊 Performance Metrics

Performance Metrics (memory storage)

  • CPU: 0.80s (4 cores) • Goroutines: 8 • Threads: 7
  • Memory: 17.1MB heap • 45.8MB RAM • 40.7MB total • 244046 allocs
  • GC: 10 cycles (0.31ms avg)
  • FDs: 9/65536 (0.0%)

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 11, 2026

📊 Performance Metrics

Performance Metrics (postgres storage)

  • CPU: 0.77s (4 cores) • Goroutines: 10 • Threads: 9
  • Memory: 20.7MB heap • 56.8MB RAM • 39.2MB total • 263594 allocs
  • GC: 11 cycles (0.10ms avg)
  • FDs: 35/65536 (0.1%)

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 11, 2026

📊 Performance Metrics

Performance Metrics (nginx storage)

  • CPU: 0.09s (4 cores) • Goroutines: 6 • Threads: 6
  • Memory: 1.2MB heap • 21.0MB RAM • 1.2MB total • 6608 allocs
  • GC: 0 cycles (0ms avg)
  • FDs: 15/65536 (0.0%)

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 11, 2026

📊 Performance Metrics

Performance Metrics (cluster-valkey storage)

  • CPU: 0.77s (4 cores) • Goroutines: 11 • Threads: 9
  • Memory: 18.6MB heap • 52.6MB RAM • 34.4MB total • 295814 allocs
  • GC: 9 cycles (0.89ms avg)
  • FDs: 71/65536 (0.1%)

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 11, 2026

📊 Performance Metrics

Performance Metrics (dnsmasq storage)

  • CPU: 0.23s (4 cores) • Goroutines: 11 • Threads: 7
  • Memory: 1.9MB heap • 26.2MB RAM • 9.2MB total • 51955 allocs
  • GC: 5 cycles (0.12ms avg)
  • FDs: 17/65536 (0.0%)

g3co added 11 commits February 11, 2026 12:15
…riginal protocol when TLS is terminated at the proxy level
…update related tests. Remove content-type query parameter handling from buildGetURL.
…e content type. Refactor object storage methods to support content type management.
…e readability and maintainability. Document functions and structures in handler, memory, and Valkey storage files.
…ithClient with a new method in ValkeyStorage. Update tests to ensure proper resource cleanup by ignoring errors on response body closure.
Comment thread internal/objectstorage/valkey.go Outdated
Comment thread internal/v3/handler/object_handler.go Outdated
Comment thread internal/objectstorage/mem.go Outdated

// Store saves the object in memory with a TTL. Returns a content-addressable ID.
func (s *MemObjectStorage) Store(ctx context.Context, object []byte, contentType string, ttl int64) (string, error) {
id := hashObject(object, contentType)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it good idea to have stalbe IDs? What if someone starts to use us to publicly host same item for a long time?

g3co added 2 commits March 23, 2026 10:45
…package and integrating its functionality directly into the v3 storage layer.
…cessing, enhancing error handling for large payloads.
Comment thread internal/config/config.go
EnableExpiredCache bool `env:"ENABLE_EXPIRED_CACHE" envDefault:"true"`

// Object Storage
ObjectStorageMaxTTL int64 `env:"OBJECT_STORAGE_MAX_TTL" envDefault:"300"`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also have ability to limit max objects total count/size in storage. Any ideas how it can be imlemented?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants