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

ui: Fix Block Viewer for Compactor and Store #3098

Merged
merged 3 commits into from
Aug 28, 2020

Conversation

onprem
Copy link
Member

@onprem onprem commented Aug 28, 2020

Signed-off-by: Prem Kumar [email protected]

Fixes #3093

  • I added CHANGELOG entry for this change.
  • Change is not relevant to the end user.

Changes

  • Modified the Blocks API to serve loaded blocks and global blocks
  • Fix Block Viewer not working because of incorrect handling of the external prefix.

Verification

Tested locally for Bucket web, Compactor, and Store using docker-compose setup.

Copy link
Member

@bwplotka bwplotka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good only some few soft comments. Thanks for super quick fix!

@@ -14,6 +14,7 @@ We use *breaking :warning:* word for marking changes that are not backward compa
### Fixed

* [#3095](https://github.com/thanos-io/thanos/pull/3095) Rule: update manager when all rule files are removed.
* [#3098](https://github.com/thanos-io/thanos/pull/3098) ui: Fix Block Viewer for Compactor and Store
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need for this, as it's fixing the release directly. But that's ok I will adjust it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

if viewParam == "loaded" {
return bapi.loadedBlocksInfo, nil, nil
}
return bapi.globalBlocksInfo, nil, nil
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels weird from perspective on components that does not have global 🤔

Also I think it's on purpose that in code we talk about global view and in React / UI we have blocks?

Copy link
Member Author

@onprem onprem Aug 28, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree it is weird. But in our last 1:1, me, @squat, and @GiedriusS discussed and decided to go with this. As we have the same API but different needs in different components (Bucket viewer: a global view of blocks, Compactor: both global and loaded and Store: loaded only) we came up with two solutions:

  • Modify the API logic so that we can register a single type of API multiple times in a single component with different prefixes. This means that in the Compactor, we can create two instances of Blocks API on two different prefixes (let's say /api/v1/loaded and /api/v1/global) much like how we handled the old UI.
  • Extend the blocks API to have two types of data (for Global and Loaded) always and add a query parameter in the existing /api/v1/blocks endpoint.

The first solution is more generic but it requires us to modify logic for all of the API packages. Also, it would result in some weird endpoints like /api/v1/loaded/blocks and /api/v1/global/blocks (ideally the level of specificity should increase, /api/v1/blocks/loaded) because we can only add a prefix to a router. The second solution was simpler to implement and only affected the Blocks API. So even though it felt a little weird, we decided to go with it.

@bwplotka bwplotka merged commit f89e099 into thanos-io:release-0.15 Aug 28, 2020
kakkoyun pushed a commit to kakkoyun/thanos that referenced this pull request Sep 7, 2020
* ui: Fix Block viewer for Compactor and Store

Signed-off-by: Prem Kumar <[email protected]>

* Add an entry in CHANGELOG.md

Signed-off-by: Prem Kumar <[email protected]>

* ui: react: Fixed tests for Blocks

Signed-off-by: Prem Kumar <[email protected]>
kakkoyun pushed a commit to kakkoyun/thanos that referenced this pull request Sep 7, 2020
* ui: Fix Block viewer for Compactor and Store

Signed-off-by: Prem Kumar <[email protected]>

* Add an entry in CHANGELOG.md

Signed-off-by: Prem Kumar <[email protected]>

* ui: react: Fixed tests for Blocks

Signed-off-by: Prem Kumar <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
kakkoyun added a commit that referenced this pull request Sep 7, 2020
* Made sure old sse S3 option if specified, produces error.

Signed-off-by: Bartlomiej Plotka <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* Cut v0.15.0-rc.0

Signed-off-by: Bartlomiej Plotka <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* tsdbstore: Optimized response framing if iterator finished.

Signed-off-by: Bartlomiej Plotka <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* Apply suggestions from code review

Co-authored-by: Krasimir Georgiev <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* Rule: update manager when all rule files are removed (#3095)

This bug was already fixed in #2615
but it got lost when we merged
#2200.

Co-authored-by: johncming <[email protected]>
Co-authored-by: Lili Cosic <[email protected]>
Signed-off-by: Simon Pasquier <[email protected]>

Co-authored-by: johncming <[email protected]>
Co-authored-by: Lili Cosic <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* ui: Fix Block Viewer for Compactor and Store (#3098)

* ui: Fix Block viewer for Compactor and Store

Signed-off-by: Prem Kumar <[email protected]>

* Add an entry in CHANGELOG.md

Signed-off-by: Prem Kumar <[email protected]>

* ui: react: Fixed tests for Blocks

Signed-off-by: Prem Kumar <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* querier: Fix overwriting maxSourceResolution when auto downsampling is enabled (#3105)

* Fix overwriting maxSourceResolution when auto downsampling is enabled

Signed-off-by: Ben Ye <[email protected]>

* add changelog

Signed-off-by: Ben Ye <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* Author: Krasi Georgiev <[email protected]> Date:   Thu Aug 27 14:10:19 2020 +0300 (#3010)

Make the PromQL lookBack configurable with a flag

Signed-off-by: Krasi Georgiev <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>

* Cut release v0.15.0-rc.1 (#3103)

* Cut release v0.15.0-rc.1

Signed-off-by: Kemal Akkoyun <[email protected]>

* Address review issues

Signed-off-by: Kemal Akkoyun <[email protected]>

* Fix changelog

Signed-off-by: Kemal Akkoyun <[email protected]>

* Cut release v0.15.0 (#3129)

Signed-off-by: Kemal Akkoyun <[email protected]>

* Minor fix

Signed-off-by: Kemal Akkoyun <[email protected]>

* Address review comments

Signed-off-by: Kemal Akkoyun <[email protected]>

Co-authored-by: Bartlomiej Plotka <[email protected]>
Co-authored-by: Krasimir Georgiev <[email protected]>
Co-authored-by: Simon Pasquier <[email protected]>
Co-authored-by: johncming <[email protected]>
Co-authored-by: Lili Cosic <[email protected]>
Co-authored-by: Prem Kumar <[email protected]>
Co-authored-by: Ben Ye <[email protected]>
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.

2 participants