Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
bliss
bliss
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 529
    • Issues 529
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge Requests 133
    • Merge Requests 133
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Bliss
  • blissbliss
  • Merge Requests
  • !2481

Merged
Opened Jun 08, 2020 by Wout De Nolf@denolf
  • Report abuse
Report abuse

Solve synchronization issue with streams

  • Overview 27
  • Commits 40
  • Pipelines 104
  • Changes 53

Closes #1699 (closed) Closes #1806 (closed)

Fixed priority, order and synchronization of stream subscribing. The issues that caused the observed synchronization problems became clear only after refactoring:

  • Raw stream events has a class implementation with encode and decode methods. Before we had dict and the dictionary structure and encode/decoding logic was owned by the DataNode derived classes. Was important to discover stream subscribing bugs.
  • Lima decoding in image URI's or images (from server of files) moved from LimaDataView to the streaming event class to be consistent with StreamEvent classes containing all decoding logic. The difference with other StreamEvent classes is that the stream data itself is not enough to do the decoding.
  • Refactored the DataNode walk logic (reuse code that was copy/paste before). Was important to discover stream subscribing bugs.
  • DataNode can now be walked. No need for DataNodeIterator and SCAN_TYPES to do something special for the scan nodes. The classes themselves contain the logic from DataNodeIterator.
  • Refactored the stream-reader logic (now a class instead of closure). Was important to discover stream priority bugs.
  • ChannelDataNode and LimaImageChannelDataNode now share the same base class
  • Fixed issues with filter when walking nodes
  • Added more node-walking tests to test_publishing (test walk filter for example)

Nothing has changed in the number of events published and the streams in which those are published.

Edited Jul 28, 2020 by Wout De Nolf
Assignee
Assign to
version 1.6.0
Milestone
version 1.6.0
Assign milestone
Time tracking
4
Labels
Ready bug redis refactoring
Assign labels
  • View project labels
Reference: bliss/bliss!2481

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.