Modify BigArrays to take name of circuit breaker#36461
Merged
Tim-Brooks merged 12 commits intoelastic:masterfrom Dec 11, 2018
Merged
Modify BigArrays to take name of circuit breaker#36461Tim-Brooks merged 12 commits intoelastic:masterfrom
BigArrays to take name of circuit breaker#36461Tim-Brooks merged 12 commits intoelastic:masterfrom
Conversation
Collaborator
|
Pinging @elastic/es-distributed |
Collaborator
|
Pinging @elastic/es-core-infra |
BigArrays to take single circuit breakerBigArrays to take name of circuit breaker
Contributor
Author
|
I modified this to reflect the fact that you must always access the circuit breaker service due to potential settings changes. |
jpountz
approved these changes
Dec 11, 2018
Contributor
jpountz
left a comment
There was a problem hiding this comment.
Thanks @tbrooks8, this looks much cleaner to me this way! I'd just like that we keep a single BigArrays constructor.
| @@ -380,9 +376,15 @@ public BigArrays(PageCacheRecycler recycler, @Nullable final CircuitBreakerServi | |||
|
|
|||
| // public for tests | |||
| public BigArrays(PageCacheRecycler recycler, @Nullable final CircuitBreakerService breakerService, boolean checkBreaker) { | |||
Contributor
There was a problem hiding this comment.
can we remove this constructor and make call sites pass CircuitBreaker.REQUEST as a breaker name?
Contributor
Author
|
@jpountz - Thanks. There is now a public ctor that takes recycler, breaker service and name. And a protected ctor that takes whether we should check breaker (exists for |
Tim-Brooks
added a commit
to Tim-Brooks/elasticsearch
that referenced
this pull request
Dec 11, 2018
This commit modifies BigArrays to take a circuit breaker name and the circuit breaking service. The default instance of BigArrays that is passed around everywhere always uses the request breaker. At the network level, we want to be using the inflight request breaker. So this change will allow that. Additionally, as this change moves away from a single instance of BigArrays, the class is modified to not be a Releasable anymore. Releasing big arrays was always dispatching to the PageCacheRecycler, so this change makes the PageCacheRecycler the class that needs to be managed and torn-down. Finally, this commit closes elastic#31435 be making the serialization of transport messages use the inflight request breaker. With this change, we no longer push the global BigArrays instnace to the network level.
jasontedor
added a commit
to dnhatn/elasticsearch
that referenced
this pull request
Dec 11, 2018
* elastic/master: (36 commits) Add check for minimum required Docker version (elastic#36497) Minor search controller changes (elastic#36479) Add default methods to DocValueFormat (elastic#36480) Fix the mixed cluster REST test explain/11_basic_with_types. Modify `BigArrays` to take name of circuit breaker (elastic#36461) Move LoggedExec to minimumRuntime source set (elastic#36453) added 6.5.4 version Add test logging for elastic#35644 Tests- added helper methods to ESRestTestCase for checking warnings (elastic#36443) SQL: move requests' parameters to requests JSON body (elastic#36149) [Zen2] Respect the no_master_block setting (elastic#36478) Require soft-deletes when access changes snapshot (elastic#36446) Switch more tests to zen2 (elastic#36367) [Painless] Add extensive tests for def to primitive casts (elastic#36455) Add setting to bypass Rollover action (elastic#36235) Try running CI against Zulu (elastic#36391) [DOCS] Reworked the shard allocation filtering info. (elastic#36456) Log [initial_master_nodes] on formation failure (elastic#36466) converting ForbiddenPatternsTask to .java (elastic#36194) fixed typo ...
Tim-Brooks
added a commit
that referenced
this pull request
Dec 11, 2018
This commit modifies BigArrays to take a circuit breaker name and the circuit breaking service. The default instance of BigArrays that is passed around everywhere always uses the request breaker. At the network level, we want to be using the inflight request breaker. So this change will allow that. Additionally, as this change moves away from a single instance of BigArrays, the class is modified to not be a Releasable anymore. Releasing big arrays was always dispatching to the PageCacheRecycler, so this change makes the PageCacheRecycler the class that needs to be managed and torn-down. Finally, this commit closes #31435 be making the serialization of transport messages use the inflight request breaker. With this change, we no longer push the global BigArrays instnace to the network level.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit modifies
BigArraysto take a circuit breaker name andthe circuit breaking service. The default instance of
BigArraysthatis passed around everywhere always uses the request breaker. At the
network level, we want to be using the inflight request breaker. So this
change will allow that.
Additionally, as this change moves away from a single instance of
BigArrays, the class is modified to not be aReleasableanymore.Releasing big arrays was always dispatching to the
PageCacheRecycler,so this change makes the
PageCacheRecyclerthe class that needs to bemanaged and torn-down.
Finally, this commit closes #31435 be making the serialization of
transport messages use the inflight request breaker. With this change,
we no longer push the global
BigArraysinstnace to the network level.