Skip to content
This repository has been archived by the owner on May 3, 2022. It is now read-only.

v1.0.0-beta.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@marco-nicola marco-nicola released this 15 Nov 22:43
· 5 commits to main since this release

Added

  • HTTP requests made by the feed-fetcher worker can be limited with the new
    request_timeout setting.
  • Optimistic locking mechanism for GORM models.
    See: models.OptimisticLockModel, models.OptimisticSave and
    models.ErrStaleObject.

Changed

  • The base GORM model (models.Model) now includes a Version field and
    satisfies the models.OptimisticLockModel interface, allowing
    optimistic locking.
  • Each worker has been modified avoiding long-lasting transactions, extracting
    from them heavy operations, and opting for optimistic locking when
    record updates are involved. Reducing the transactions' duration and removing
    the explicit row-level locks can produce tremendous improvements
    on the performance of the whole system, when under heavy loads (i.e.
    at least thousands of sources).
  • Give ordering priority to sources never retrieved before (i.e.
    last_retrieved_at is null) when looping through sources to schedule from
    feed-scheduler and twitter-scheduler tasks.
  • Improve hnswcloent.Client.SearchKNN performance, making the requests to
    each candidate daily HNSW index concurrently.
  • Minor refactoring and improvements to some log messages and their severity
    level.
  • Upgrade dependencies.