Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase on cloudera master #28

Closed
wants to merge 543 commits into from

Conversation

Alterrien
Copy link

What changes were proposed in this pull request?

  • (Please fill in changes proposed in this fix)

How was this patch tested?

  • (Please explain how this patch was tested. Ex: unit tests, manual tests)
  • (If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)

Please review Hue Contributing Guide before opening a pull request.

bjornalm and others added 30 commits February 26, 2024 14:26
…ax for Hive and Presto (#3561)

* fix: SQL parser: Move the '<between> AND' rule in the lexical definitions of Hive and Presto ahead of the 'AND' rule to avoid auto-completion errors in cases like "where x between 'a' and 'b' a". The keyword 'AND' with state 'between' is treated as a normal 'AND'. Other SQL syntax such as Flink, SQL, etc. are correct.

* [frontend] Supplementing test cases for keyword completion of the SQL 'between and' statement.

---------

Co-authored-by: fangguiliang <[email protected]>
* [api] Add new /content_summary public api
- Add PyYAML in base_requirement for all form factors
… preference to RAZ when both are configured in Hue (#3626)

What changes were proposed in this pull request?

- Refactor IDBroker support and give more preference to RAZ when both are configured in Hue.
- Improved IDBroker HA code section to switchover to healthy instance correctly and not depend only on the first one for every scenario. This should improve Hue page loading performance also.

How was this patch tested?

- Tested manually in a live E2E setup with RAZ enabled to check for no regressions + correct IDBroker switchover + improved Hue page load time.
- Update existing unit tests.
- Adding new unit tests for IDBroker HA.
…xtract inline js (#3646)

In order to be able to extract all job browser inline JS I had to split the job_browser.mako in two, one for the regular job browser and one for the mini version (used in the upper right jobs panel throughout Hue). Apart from separating it into two mako files there's also two corresponding webpack entries added. In short there was a mako page variable, is_mini, from a URL parameter that decided how to render the page and having that variable around would require inline JS.

Common Knockout templates, shared between the main Job Browser and the mini version, are now included in the main hue.mako and shared between the two instances, this reduces the time to load the main Job Browser slightly but the main benefit is that there's no duplication.

As part of this effort I've modernized a large chunk of the JS, a huge win is that this code is now under webpack control. I've fixed multiple bugs that became apparent in the IDE and linter once the mako inline js ended up in proper .js files. While testing I also improved some error handling throughout.

Note that there are no unit tests as part of this commit, the Job Browser had zero coverage when I started and I feel the effort would be considerable to bring it up to a reasonable level. It makes more sense to me to introduce tests once we convert these pages to React.
This also fixes all current lint warnings
* [jb] Initialize the mini job browser on first open instead of when the document is 'ready'

* [jb] The mini job browser should not update based on URL hash or when the JB main page is loaded

* [frontend] Fix an issue where knockout components under test have their view models created twice
Harshg999 and others added 29 commits November 25, 2024 11:02
…#3893)

- Improve path traversal by checking for cases when volume name can be similar to service_id.
- Also handle an edge case explicitly, when volume name is equal to service_id in which we introduced a flag to explicitly add `ofs://<service_id>` for such paths at all directory levels.
- Current log methods in Hue are super old and returning server-side mako based view responses.
- This refactoring helps in improving the core logic and present it as a public API.

- This will also help the ongoing revamp of Hue server logs page to consume the new APIs. Once the new server logs page is ready, we can cleanup all related old code.
…#3890)

* [ui-core] adds useQueueProcessor hook to manage concurrent async task

* refactor hook to make it minimal
* [ui-storageBrowser] Improvements on storage browser content summary

* [ui-storageBrowser] Update create new files based on new public api

* [ui-storageBrowser] Update create new folders based on new public api

* [ui-storageBrowser] Update rename to use useSaveData hook

* [ui-storageBrowser] Implement UI for set replication

* [ui-storageBrowser] Added tests for set replication action

* [ui-storageBrowser] Improve storage browser actions using useMemo

* [ui-storageBrowser] Implement UI for copy action in storage browser

* [ui-storageBrowser] Implement UI for move action in storage browser
* [ui-core] adds drag and drop component

* adds the npm package react-dropzone

* fix the spacing

* fix lint issue
This update includes switching the Gunicorn worker class from `eventlet`
to `gthread`. The `gthread` worker class is included with Gunicorn and
is sufficient for our current requirements.

Previously, we used `eventlet` for their superior cooperative
multitasking capabilities, which were crucial when running a
single-process setup with 32–64 threads. However, with our current
configuration of 32 independent worker processes, each running
2 threads, the complexity of `eventlet` and `gevent` is no longer
justified. Concurrency is now limited to the two threads within each
process, where `gthread` provides a simpler and adequate solution.

This change simplifies our setup by reducing dependencies on external
libraries and making future upgrades easier.
(cherry picked from commit 5781f39d313cf7391f49dc59b91d87d91b94e2c1)
* [ui-importer] make compute selection mandatory

* auto select first compute
[ui-storagebrowser] adds hooks for file upload
…dcrumb from filePath (#3905)

* [ui-storagebrowser] refactors path browser component to construct breadcrumb from filePath

* fix the url decoding

* fix the fileChooserModal filepath props
)

[ui-storagebrowser] refactor storage browser and folder structure
* [ui-storagebrowser] refactor browser actions

* moves create file and folder actions to separate folder

* fix fileChooser unintentional render

* revert extra merge changes
…ser (#3916)

* [ui-storagebrowser] integrates file upload components to storage browser

* revert extra changes
* [ui-storagebrowser] updates browser url while navigating

* adds condition to change url only when they are different
* [ui-storagebrowser] refreshes file stats when file is edited
* [ui-storagebrowser] adds and reads configs from .ini files

* removes show download button from global constants

* moves the storage browser config to separate group

* adds storage_browser key in config
…ed problems (#3923)

[security] Inline Js Fixes, Fixes File Browser Issues and other related problems (#3923)
@Alterrien Alterrien closed this Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.