Skip to content

Next

  • Projects
  • Groups
  • Snippets
  • Help
  • Sign in / Register
Minds Backend - Engine
Minds Backend - Engine
  • Project overview
  • Repository
  • Issues 295
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 39
  • CI / CD
  • Security & Compliance
  • Packages
  • Wiki
  • Snippets
  • Members
  • Collapse sidebar
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Minds
  • Minds Backend - EngineMinds Backend - Engine
  • Issues
  • #1067

Closed
Open
Opened 1 week ago by Guy Thouret@gthouret
Report abuse New issue

Resolve issues with Boost Iterator

Is this a bug? Make sure to use the Bug template above and be as detailed in your report as possible.

Related issues
1

  • Boost expiration should be run by a scheduled job
    #1078
    Avatar for Guy Thouret
  • Discussion 8
  • Designs 0
  • Guy Thouret @gthouret added Sprint::10/23 - Quiet Quail scoped label 1 week ago

    added scoped label

  • Guy Thouret @gthouret assigned to @gthouret 1 week ago

    assigned to @gthouret

  • Guy Thouret @gthouret added Type::Refactor scoped label 1 week ago

    added scoped label

  • Guy Thouret @gthouret added Squad::Blue scoped label 1 week ago

    added scoped label

  • Guy Thouret @gthouret added Status::Backlog scoped label 1 week ago

    added scoped label

  • Guy Thouret
    Guy Thouret @gthouret · 1 week ago
    Developer

    We ignore the offset requested from the iterator and instead override with the timestamp of the last boost in list with no explanation why we don't trust the iterator This is part of feed class not iterator

    Edited by Guy Thouret 1 week ago
  • Guy Thouret
    Guy Thouret @gthouret · 1 week ago
    Developer
    • Iterator makes a request for X boosts, if Y of those boosts are invalid or can not be resolved the iterator will return X - Y boosts, requiring additional requests to cycle the iterator (which could return few or no results again)
    Edited by Guy Thouret 1 week ago
  • Guy Thouret
    Guy Thouret @gthouret · 1 week ago
    Developer

    hydrate set in the iterator makes the iterator fetch the entity and compare it's impressions value with the boost impressions value to determine if the boost has finished.

    • It's called an Iterator, I am not expecting an iterator to contain this functionality, how could I have known this functionality is hidden away here, not to mention this is pretty inefficient within an API call.

    In the hydrate functionality if we determine a boost has finished we call Expire::expire() which changes the boost state to complete and generates event and notification.

    • Seems overkill for this one method to have it's own class, feels like it should be a part of Manager functionality

    The increment option is used within hydrate to call Metrics::incrementViews() that increments some values in counters db table.

    • Metrics references a Mongo database which AFAIK as been abandoned/decommissioned
    Edited by Guy Thouret 1 week ago
  • Guy Thouret
    Guy Thouret @gthouret · 1 week ago
    Developer
    • In Iterator hydrate and increment flag functionality are mutually exclusive where as the code has them nested that implies some sort of dependency. i.e. We can't increment without hydrating which is not true.
  • Guy Thouret
    Guy Thouret @gthouret · 1 week ago
    Developer
    • Boost\Network\Iterator class has no spec test coverage.
  • Guy Thouret @gthouret mentioned in issue #1038 1 week ago

    mentioned in issue #1038

  • Guy Thouret @gthouret added Status::InProgress scoped label and automatically removed Status::Backlog label 1 week ago

    added scoped label and automatically removed label

  • Guy Thouret @gthouret changed time estimate to 6h 1 week ago

    changed time estimate to 6h

  • Guy Thouret @gthouret changed weight to 2 1 week ago

    changed weight to 2

  • Guy Thouret
    Guy Thouret @gthouret · 1 week ago
    Developer
    • ManagerSpec is failing
    Edited by Guy Thouret 1 week ago
  • Guy Thouret @gthouret mentioned in commit ae5588a3 1 week ago

    mentioned in commit ae5588a3

  • Guy Thouret @gthouret mentioned in commit 9811f66e 1 week ago

    mentioned in commit 9811f66e

  • Guy Thouret @gthouret marked this issue as related to #1078 (closed) 1 week ago

    marked this issue as related to #1078 (closed)

  • Guy Thouret @gthouret changed time estimate to 1d 4h 3 days ago

    changed time estimate to 1d 4h

  • Guy Thouret @gthouret added 6h of time spent at 2019-11-04 3 days ago

    added 6h of time spent at 2019-11-04

  • Guy Thouret
    Guy Thouret @gthouret · 3 days ago
    Developer

    Added time to wrong ticket :face_palm:

  • Guy Thouret @gthouret changed time estimate to 4h 3 days ago

    changed time estimate to 4h

  • Guy Thouret @gthouret added 2h of time spent at 2019-11-04 3 days ago

    added 2h of time spent at 2019-11-04

  • Mark Harding @markeharding added Sprint::11/06 - Rolling Rabbit scoped label and automatically removed Sprint::10/23 - Quiet Quail label 1 day ago

    added scoped label and automatically removed label

  • Guy Thouret @gthouret mentioned in epic &73 3 hours ago

    mentioned in epic &73

  • Guy Thouret @gthouret changed time estimate to 1d 2 hours ago

    changed time estimate to 1d

  • Guy Thouret
    Guy Thouret @gthouret · 1 hour ago
    Developer
    • Check feed sync=1 flag passing to hydrate is resolved

    Original comment: sync=1 is used by the /fetch API which in sets a sync flag which sets a hydrate flag in the iterator.

  • Guy Thouret @gthouret added to epic &103 53 minutes ago

    added to epic &103

Please register or sign in to reply
Assignee
Guy Thouret's avatar
Guy Thouret @gthouret
Boost Backend Improvements
Epic
Boost Backend Improvements
None
Milestone
None
Time tracking
Spent 1d
Est 1d
None
Due date
None
4
Labels
Sprint::11/06 - Rolling Rabbit Squad::Blue Status::InProgress Type::Refactor
2
Weight
2
Confidentiality
Not confidential
Lock issue
Unlocked
1
1 participant
user avatar
Guy Thouret
Reference: minds/engine#1067