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

Stevesg update r189 to latest main #2046

Closed
wants to merge 13 commits into from

Conversation

stevesg
Copy link
Contributor

@stevesg stevesg commented Jun 7, 2022

Updates r189 branch to main to pull in #2019

pracucci and others added 13 commits June 6, 2022 08:49
* Helm: add global.extraEnv and global.extraEnvFrom

Enables setting environment and env injection in one place for
mimir + nginx.

Signed-off-by: György Krajcsovits <[email protected]>
* Upgrade alpine to 3.16.0

* Enhance MimirRequestLatency runbook with more advice (#1967)

* Enhance MimirRequestLatency runbook with more advice

Signed-off-by: Arve Knudsen <[email protected]>
Co-authored-by: Marco Pracucci <[email protected]>

* Include helm-docs in build and CI (#2026)

* Update the mimir build image and its build doc

Dockerfile: Add helm-docs package to the image.
how-to: Write down the requirements for build in more detail. Add
information about build on linux.

Signed-off-by: György Krajcsovits <[email protected]>

* Expand make doc with helm-docs command

This enables generating the helm chart README with the same make doc
command as all other documentation.

Signed-off-by: György Krajcsovits <[email protected]>

* Update docs/internal/how-to-update-the-build-image.md

Co-authored-by: Dimitar Dimitrov <[email protected]>

* Update contributing guides for the helm chart (#2008)

* Update contributing guides for the helm chart

Signed-off-by: György Krajcsovits <[email protected]>

* Turn off helm version increment check in CI

This enables periodic releases, as opposed to requiring version bump
for release at every PR.

Signed-off-by: György Krajcsovits <[email protected]>

* Add extraEnvFrom to all services and enable injection into mimir config (#2017)

Add `extraEnvFrom` capability to all Mimir services to enable injecting
secrets via environment variables.

Enable `-config.exand-env=true` option in all Mimir services to be able
to take secrets/settings from the environment and inject them into the
 Mimir configuration file.

Signed-off-by: György Krajcsovits <[email protected]>

* Docs: fix mimir-mixin installation instructions (#2015)

Signed-off-by: Marco Pracucci <[email protected]>

* Docs: make documentation a first class citizen in CHANGELOG (#2025)

Signed-off-by: Marco Pracucci <[email protected]>

* upgrade to alpine 3.16.0

* upgrade alpine to 3.16.0

Co-authored-by: Arve Knudsen <[email protected]>
Co-authored-by: Marco Pracucci <[email protected]>
Co-authored-by: George Krajcsovits <[email protected]>
Co-authored-by: Dimitar Dimitrov <[email protected]>
This should be automated, but now done manually.

Signed-off-by: György Krajcsovits <[email protected]>
The default value, shared with all other memcache caches, of 200ms
is too aggressive in most cases. This results in TSDB data often being
fetched from object storage in cases where a slighly longer timeout
would result in a cache hit.

This is set in Jsonnet and Helm instead of as a default of the CLI
flag since the flags (and hence their defaults) are shared among all
caches (index, chunks, metadata, results).

Signed-off-by: Nick Pillitteri <[email protected]>
* Add test-enterprise-values.yaml
* Renamed newDiscoveryService() to newMimirDiscoveryService()

Signed-off-by: Marco Pracucci <[email protected]>

* Added newMimirPdb() utility

Signed-off-by: Marco Pracucci <[email protected]>

* Added newMimirStatefulSet() utility

Signed-off-by: Marco Pracucci <[email protected]>
* Helm: Add golden-record build script
* Helm: add test-values golden record
* Add PR check for `check-helm-tests`
* Add Helm setup to lint-helm action
* Update generated helm tests
* Fix bash linting
* Update contribution guidelines
* Update generated helm manifests
* Helm: fix kube version

Set kubeVersionOverride to generate PodDisruptionBudget API version
consistently.

When I ran the test, I got a diff, because my k8s is newer (1.23).

Signed-off-by: György Krajcsovits <[email protected]>

* Update operations/helm/tests/build.sh

Co-authored-by: Dimitar Dimitrov <[email protected]>
Co-authored-by: György Krajcsovits <[email protected]>
… indexheader reads. (#2019)

Introduces a new experimental configuration option (`-blocks-storage.bucket-store.index-header.map-populate-enabled`).

This enables the use of the `MAP_POPULATE` flag when `mmap`-ing index-header files in the store-gateway. What this flag does is advise the kernel to (synchronously) pre-fault all pages in the memory region, loading them into the file system cache.

Why is this a good idea?
- The initial read process of the index-header files has shown to cause hangups in the store-gateway.
- By using this option, I/O is done in the mmap() syscall, which the Go scheduler can cope with.
- We reduce the likelyhood of Goroutines getting stalled in major page faults.
- The initial read process walks the entire file anyway, so we are not doing any more I/O.
- It's a very low risk change compared to re-writing the BinaryReader (work in progress).

Why is this not perfect?
- The Kernel does not guarantee the pages will stay in memory, so we are only reducing the probability of major page faults.

Rationale about the implementation:
- I have copied the mmap utilities from Prometheus as a temporary measure, for the sake of evaluating this change.
@stevesg
Copy link
Contributor Author

stevesg commented Jun 7, 2022

Going to push this directly as we don't want it squashed.

@stevesg stevesg closed this Jun 7, 2022
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.

6 participants