Skip to content

Journalist API v2: generalize hint/shard/batch logic #7772

@cfm

Description

@cfm

@legoktm in #7770 (review):

[I]t feels weird/unnecessary that we're returning all the journalist metadata all the time, but I think it's probably negligible given gzip + how few journalists a system has.

I thought about this too. In fact, I originally included a journalists hint, but that felt weird/unnecessary too: unnecessary to shard such a small dataset by UUID prefix; weird to include a hint if it wouldn't affect either sharding of that dataset or the size of the overall dataset.

My instinct is that this isn't worth changing until something like freedomofpress/securedrop-client#1182, when we might as well generalize the hint/shard/batch logic across the /index and /data endpoints so that it's generic for all objects and doesn't special-case any of them.

Originally posted by @cfm in #7770 (comment)

This will be a new API_MINOR_VERSION with or without freedomofpress/securedrop-client#1182, because it will change the shape of a hinted /api/v1/token response. But it's mostly a server-side refactoring so that the /api/v2/{index,data} endpoints query objects the same way to build their responses.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions