Skip to content

Support for advertisement chain truncation #25

@gammazero

Description

@gammazero

If all of the advertisements in the oldest segment of an advertisement chain no longer advertise valid content, then it may be reasonable for the provider to have a way to stop serving those advertisements. The reasons for doing so are:

  • Reduce storage used for old outdated advertisements
  • Prevent indexers from traversing empty end segment of chain

Even if all of the advertisements at the oldest end of the advertisement chain have been deleted by removal ads later in the chain, indexers will still traverse those advertisements looking for non-deleted advertisements. This incurs a chain traversal for each indexer that could be prevented if a chain truncation mechanism were available.

Chain truncation may also be wanted in cases where a lost/corrupt database results in older advertisement data being unavailable and unrecoverable, yet it is not desirable to start an entirely new chain. Indexing will not be able to proceed unless the unavailable end of the chain is understood by indexers to be truncated.

Possible truncation mechanisms:

  • Publish a new advertisement with a new TruncateAt field that specifies where to end traversal of the ad chain.
  • Return NotFound or new Truncated error when fetching advertisement after truncation point.

Requiring a new advertisement that specifies chain truncation is explicit, so cannot happen due to some error condition as interpreting an error can.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions