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

Weiyi Kong updated SPARK-33249:
-------------------------------
    Remaining Estimate:     (was: 24h)
     Original Estimate:     (was: 24h)

> Add status plugin for live application
> --------------------------------------
>
>                 Key: SPARK-33249
>                 URL: https://issues.apache.org/jira/browse/SPARK-33249
>             Project: Spark
>          Issue Type: New Feature
>          Components: Spark Core, Web UI
>    Affects Versions: 2.4.7, 3.0.1
>            Reporter: Weiyi Kong
>            Priority: Minor
>
> There are cases that developer may want to extend the current REST API of Web 
> UI. In most cases, adding external module is a better option than directly 
> editing the original Spark code.
> For an external module, to extend the REST API of the Web UI, 2 things may 
> need to be done:
>  * Add extra API to provide extra status info. This can be simply done by 
> implementing another ApiRequestContext which will be automatically loaded.
>  * If the info can not be calculated from the original data in the store, add 
> extra listeners to generate them.
> For history server, there is an interface called AppHistoryServerPlugin, 
> which is loaded based on SPI, providing a method to create listeners. In live 
> application, the only way is spark.extraListeners based on 
> Utils.loadExtensions. But this is not enough for the cases.
> To let the API get the status info, the data need to be written to the 
> AppStatusStore, which is the only store that an API can get by accessing 
> "ui.store" or "ui.sc.statusStore". But listeners created by 
> Utils.loadExtensions only get a SparkConf in construction, and are unable to 
> write the AppStatusStore.
> So I think we still need plugin like AppHistorySever for live UI. For 
> concerns like SPARK-22786, the plugin for live app can be separated from the 
> history server one, and also loaded using Utils.loadExtensions with an extra 
> configurations. So by default, nothing will be loaded.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to