You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Peter Bacsko (Jira)" <ji...@apache.org> on 2023/05/17 13:50:00 UTC

[jira] [Updated] (YUNIKORN-1709) Add event streaming logic

     [ https://issues.apache.org/jira/browse/YUNIKORN-1709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Bacsko updated YUNIKORN-1709:
-----------------------------------
    Target Version: 1.4.0

> Add event streaming logic
> -------------------------
>
>                 Key: YUNIKORN-1709
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1709
>             Project: Apache YuniKorn
>          Issue Type: Sub-task
>          Components: core - scheduler
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Major
>              Labels: pull-request-available
>
> In order to send events to listeners, we need to store EventRecord types in a different data structure.
> When a client connects, it might require us that we send the last "x" amount of events or the events that occurred in the last 30 seconds, etc.
> But we cannot store events without limits. The data structure that suits our needs is a  slightly modified ring buffer:
> * two pointers: head (oldest), tail
> * don't block when we overwrite the oldest entry, just update tail
> * entries are not removed when retrieved by a consumer
> * background goroutine performs the cleanup
> Requirement for storage:
> * last "n" events
> * events from the last "n" seconds (duration)
> We want to support consumers who are listening for events. Every client is served on a separate goroutine to avoid blocking. Slow consumers (ie. channel buffer full) are automatically removed.
> Scope of this JIRA: 
> * new data structure
> * integration with existing code
> * consumer registration / event update logic
> * configuration entries
> * cleanup logic



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org