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

ASF GitHub Bot updated YUNIKORN-1774:
-------------------------------------
    Labels: pull-request-available  (was: )

> Event cache: misc cleanup
> -------------------------
>
>                 Key: YUNIKORN-1774
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1774
>             Project: Apache YuniKorn
>          Issue Type: Sub-task
>          Components: core - common, core - scheduler
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Major
>              Labels: pull-request-available
>
> There are a couple of things that could be re-written or modified in the 
> current event handling code:
>  * The name {{EventCache}} is a bit of a misnomer. This is the entry point of 
> the whole event mechanism, not a cache. Suggested new name is {{EventSystem.}}
>  * The cache and publisher are created separately. The publisher does not 
> work without the remaining infrastructure. They should be handled together. 
> In a similar vein, starting the publisher with a separate {{start()}} method 
> should be hidden.
>  * Get rid of extra interfaces: during the design phase, the intention was 
> having multiple implementations. However, we still have only one 
> ({{{}shimPublisher{}}}, {{{}defaultEventStore{}}}). As long as we don't have 
> mocks and multiple implementations, let's remove it to reduce code.
>  * We need to guard against the condition if the event cache is "nil" 
> (disabled). But we end up having code like:
> {noformat}
> eventCache := events.GetEventCache(); eventCache != nil {
>    ... send event ...
> }
> {noformat}
> An extra layer eg. {{ApplicationEvents.sendEventNotFit()}} enhances 
> readability and usability.
>  * Nit: use {{atomic.Bool}} instead of {{atomic.Value}} in 
> {{{}shimPublisher{}}}.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to