Skip to content

Fix PartsCount#141

Open
peterjan wants to merge 2 commits intomasterfrom
pj/fix-part-count
Open

Fix PartsCount#141
peterjan wants to merge 2 commits intomasterfrom
pj/fix-part-count

Conversation

@peterjan
Copy link
Copy Markdown
Member

When retrieving an object by part number, the parts count was incorrectly returned as 0 for non-multipart objects, and the part query was missing filename, sia_object, and cached_at fields which prevented serving part data from disk or Sia.

@peterjan peterjan self-assigned this Apr 28, 2026
@github-project-automation github-project-automation Bot moved this to In Progress in Sia Apr 28, 2026
@peterjan peterjan requested a review from Copilot April 28, 2026 12:19
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes object-part retrieval so that part-based GET/HEAD requests can correctly serve data for both regular and multipart objects, including cases where the data must be read from disk or from Sia.

Changes:

  • Adjust SQLite object retrieval to validate part numbers correctly for non-multipart objects and to include additional object fields when querying a specific part.
  • Update Sia backend part responses to return a correct PartsCount for non-multipart objects when a partNumber is specified.
  • Add regression tests covering non-multipart objects requested with a part number.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
sia/persist/sqlite/objects_test.go Extends DB-level coverage for part-number fetches, including ensuring SiaObject is returned.
sia/persist/sqlite/objects.go Fixes part-number logic and expands the part query to include fields needed to serve from disk/Sia.
sia/objects.go Adjusts PartsCount returned for part-number GET/HEAD on non-multipart objects.
s3/objects_test.go Adds regression test for part-number requests on non-multipart objects.
.gitignore Ignores GeoLite2 DB file.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread sia/objects.go
Comment thread sia/persist/sqlite/objects.go
@peterjan peterjan marked this pull request as ready for review April 28, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants