M. J. Fromberger
41a361ed8d
psql: add documentation and simplify constructor API ( #6856 )
Add documentation comments to the psql event sink package, and simplify the
constructor function so that it does not return the SQL database handle. The
handle is needed for testing, so expose that via a separate method on the
concrete type.
Update the tests and existing usage for the change. This change does not affect
the behaviour of the sink, so there are no functional changes, only syntactic
updates.
3 years ago
William Banfield
bc2b529b95
inspect: add inspect mode for debugging crashed tendermint node ( #6785 )
EDIT: Updated, see [comment below]( https://github.com/tendermint/tendermint/pull/6785#issuecomment-897793175 )
This change adds a sketch of the `Debug` mode.
This change adds a `Debug` struct to the node package. This `Debug` struct is intended to be created and started by a command in the `cmd` directory. The `Debug` struct runs the RPC server on the data directories: both the state store and the block store.
This change required a good deal of refactoring. Namely, a new `rpc.go` file was added to the `node` package. This file encapsulates functions for starting RPC servers used by nodes. A potential additional change is to further factor this code into shared code _in_ the `rpc` package.
Minor API tweaks were also made that seemed appropriate such as the mechanism for fetching routes from the `rpc/core` package.
Additional work is required to register the `Debug` service as a command in the `cmd` directory but I am looking for feedback on if this direction seems appropriate before diving much further.
closes : #5908
3 years ago
Tess Rinearson
6d5ff590c3
contributing: remove release_notes.md reference ( #6846 )
3 years ago
Sam Kleinman
d8642a941e
cmd: remove deprecated snakes ( #6854 )
just following up on a deprecation.
3 years ago
Sam Kleinman
d7c3a8f682
time: make median time library type private ( #6853 )
This is a very minor change, but I was looking through the code, and
this seems like it shouldn't be exported or used more broadly, so I've
moved it out.
3 years ago
M. J. Fromberger
ce3c059a0d
ADR 072: Re-instate a request-for-comments archive. ( #6851 )
This ADR restores a variation of the old Request for Comments documentation
that we previously used. The proposal differs from the original formulation,
and does not replace ADRs.
3 years ago
Sam Kleinman
39dee8abc5
pubsub: improve handling of closed blocking subsciptions. ( #6852 )
3 years ago
Hlib Kanunnikov
d0e33b4292
blocksync: complete transition from Blockchain to BlockSync ( #6847 )
3 years ago
William Banfield
8700ca9d1a
ADR 071: Proposer-based Timestamps ( #6799 )
Architectural decision record for Proposer-based timestamps.
3 years ago
Sam Kleinman
a374f74f7c
e2e: cleanup node start function ( #6842 )
I realized after my last commit that my change made a following line of code a bit redundant.
(alternatively my last change was redunadnt to the existing code.)
I took this oppertunity to make some minor cleanups and logging changes to the node changes which I hope will make tests a bit more clear.
3 years ago
dependabot[bot]
3a234e1144
build(deps): Bump docker/build-push-action from 2.6.1 to 2.7.0 ( #6845 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2.6.1 to 2.7.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v2.6.1...v2.7.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Aleksandr Bezobchuk
cce0a3c171
docs: add package godoc for indexer ( #6839 )
* docs: add indexer godoc
* docs++
* docs++
* docs++
* docs++
* docs++
* Update state/indexer/doc.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
* Update state/indexer/doc.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
* Update state/indexer/doc.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
* Update state/indexer/doc.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
* Update state/indexer/doc.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
* Update state/indexer/doc.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
* docs++
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
3 years ago
Sam Kleinman
a4cc8317da
e2e: avoid starting nodes from the future ( #6835 )
3 years ago
Tess Rinearson
69f6eee2e4
changelog: linkify the 0.34.11 release notes ( #6836 )
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
3 years ago
dependabot[bot]
afb6af8bc3
build(deps): Bump github.com/golangci/golangci-lint ( #6837 )
Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint ) from 1.41.1 to 1.42.0.
- [Release notes](https://github.com/golangci/golangci-lint/releases )
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md )
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.41.1...v1.42.0 )
---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Tess Rinearson
0ed3ba6279
changelog: update to reflect 0.34.12 release ( #6833 )
3 years ago
Tess Rinearson
267aac2e90
changelog_pending: add missing item ( #6829 )
3 years ago
Tess Rinearson
471f83d557
contributing: update release instructions to use backport branches ( #6827 )
3 years ago
Aleksandr Bezobchuk
393a02a729
rpc: log update ( #6825 )
We INFO log every `ABCIQuery`. This can output a tremendous amount of noise in the logs, can cause cosmovisor to completely crash and slows down the node due to I/O. This log is completely unnecessary.
Let's get this backported into v0.43 and get that into v0.43 and v0.42 releases of the SDK
/cc @marbar3778
3 years ago
Sam Kleinman
bf77c0c544
rpc: support new p2p infrastructure ( #6820 )
3 years ago
Carlos Rodriguez
511e52c2fc
doc: fix typos in /tx_search and /tx. ( #6823 )
Just a few small typos in the descriptions of the /tx_search and /tx endpoints.
3 years ago
dependabot[bot]
1f76cb1546
build(deps): Bump google.golang.org/grpc from 1.39.1 to 1.40.0 ( #6819 )
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.39.1 to 1.40.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/grpc/grpc-go/releases ">google.golang.org/grpc's releases</a>.</em></p>
<blockquote>
<h2>Release 1.40.0</h2>
<h1>Behavior Changes</h1>
<ul>
<li>balancer: client channel no longer connects to idle subchannels that are returned by the pickers; LB policy should call SubConn.Connect instead. (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4579 ">#4579</a>)
<ul>
<li>This change is in line with existing documentation stating the balancer must call Connect on idle SubConns in order for them to connect, and is preparation for an upcoming change that transitions SubConns to the idle state when connections are lost. See <a href="https://pkg.go.dev/google.golang.org/grpc/balancer#SubConn ">https://pkg.go.dev/google.golang.org/grpc/balancer#SubConn </a> for more details.</li>
</ul>
</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>transport: fail RPCs without HTTP status 200 (OK), according to the gRPC spec (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4474 ">#4474</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/JNProtzman "><code>@JNProtzman</code></a></li>
</ul>
</li>
<li>binarylog: fail the <code>Write()</code> method if proto marshaling fails (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4582 ">#4582</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/Jille "><code>@Jille</code></a></li>
</ul>
</li>
<li>binarylog: exit the flusher goroutine upon closing the <code>bufferedSink</code> (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4583 ">#4583</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/Jille "><code>@Jille</code></a></li>
</ul>
</li>
</ul>
<h1>New Features</h1>
<ul>
<li>metadata: add Delete method to MD to encapsulate lowercasing (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4549 ">#4549</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/konradreiche "><code>@konradreiche</code></a></li>
</ul>
</li>
<li>xds/cds: support logical DNS cluster and aggregated cluster (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4594 ">#4594</a>)</li>
<li>stats: add stats.Begin.IsClientStream and IsServerStream to indicate the type of RPC invoked (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4533 ">#4533</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/leviska "><code>@leviska</code></a></li>
</ul>
</li>
</ul>
<h1>Performance Improvements</h1>
<ul>
<li>server: improve performance when multiple interceptors are used (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4524 ">#4524</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/amenzhinsky "><code>@amenzhinsky</code></a></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="41e044e1c8
"><code>41e044e</code></a> server: fix leaked net.Conn (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4644 ">#4644</a>) (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4670 ">#4670</a>)</li>
<li><a href="1634fd3fc3
"><code>1634fd3</code></a> Change version to 1.40.0 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4623 ">#4623</a>)</li>
<li><a href="b1a15ac370
"><code>b1a15ac</code></a> server: fix leaked net.Conn (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4644 ">#4644</a>)</li>
<li><a href="00edd8c13a
"><code>00edd8c</code></a> Add xDS k8s url-map test Kokoro job (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4614 ">#4614</a>)</li>
<li><a href="1ddab33869
"><code>1ddab33</code></a> client: fix detection of whether IO was performed in NewStream (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4611 ">#4611</a>)</li>
<li><a href="582ef458c6
"><code>582ef45</code></a> cluster_resolver: move balancer config types into cluster_resolver package an...</li>
<li><a href="c513103bee
"><code>c513103</code></a> Add extra layer on top of RBAC Engine (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4576 ">#4576</a>)</li>
<li><a href="a0bed723f1
"><code>a0bed72</code></a> xds: add http filters to FilterChain matching (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4595 ">#4595</a>)</li>
<li><a href="0a8c63739a
"><code>0a8c637</code></a> grpclb: propagate the most recent connection error when grpclb enters transie...</li>
<li><a href="8332d5b997
"><code>8332d5b</code></a> test: fix possible goroutine leaks in unit tests (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4570 ">#4570</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/grpc/grpc-go/compare/v1.39.1...v1.40.0 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.39.1&new-version=1.40.0 )](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
3 years ago
Sam Kleinman
d56a44b884
node: minimize hardcoded service initialization ( #6798 )
* node: minimize hardcoded service initialization
* hacking
* nil safety
* reduce space
* remove genesis state store
* fix lint
* fix pex
* unwind some odering effects
* fix tests
* remove unused experiment
3 years ago
Sam Kleinman
cbfc04df6d
rpc: avoid panics in unsafe rpc calls with new p2p stack ( #6817 )
3 years ago
Sam Kleinman
a6d20a6660
pubsub: unsubscribe locking handling ( #6816 )
3 years ago
Sam Kleinman
97435139ad
adr: node initialization ( #6562 )
3 years ago
Sam Kleinman
66084a01dc
commands: add key migration cli ( #6790 )
3 years ago
M. J. Fromberger
53d53e6205
bytes: clean up and simplify encoding of HexBytes ( #6810 )
As written, the encoding step unnecessarily made and moved multiple copies of
the encoded representation. Reduce this to a single allocation and encode the
data in-place so that a shift is no longer required.
Also: Add a test to ensure letter digits are capitalized, which was previously not
verified but was expected downstream.
No functional changes.
3 years ago
M. J. Fromberger
a7ecf49c10
Add new team member to CODEOWNERS. ( #6811 )
3 years ago
Sam Kleinman
31994cadc0
docs: upgrade documentation for custom mempools ( #6794 )
This is proposed language for the upgrade process about the new custom
reactor/mempool support.
3 years ago
dependabot[bot]
e5312942e3
build(deps): Bump google.golang.org/grpc from 1.39.0 to 1.39.1 ( #6801 )
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.39.0 to 1.39.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/grpc/grpc-go/releases ">google.golang.org/grpc's releases</a>.</em></p>
<blockquote>
<h2>Release 1.39.1</h2>
<ul>
<li>server: fix bug that net.Conn is leaked if the connection is closed (io.EOF) immediately with no traffic (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4642 ">#4642</a>)</li>
<li>transport: fix race in transport stream accessing s.recvCompress (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4627 ">#4627</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="db17d4b4ad
"><code>db17d4b</code></a> Change version to 1.39.1 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4651 ">#4651</a>)</li>
<li><a href="8d1369b150
"><code>8d1369b</code></a> server: fix leaked net.Conn (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4642 ">#4642</a>)</li>
<li><a href="2e0b66bb0e
"><code>2e0b66b</code></a> transport: fix race accessing s.recvCompress (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4627 ">#4627</a>)</li>
<li><a href="db2d595725
"><code>db2d595</code></a> Change version to 1.39.1-dev (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4542 ">#4542</a>)</li>
<li>See full diff in <a href="https://github.com/grpc/grpc-go/compare/v1.39.0...v1.39.1 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.39.0&new-version=1.39.1 )](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
3 years ago
dependabot[bot]
4db71da68e
build(deps): Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 ( #6796 )
Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml ) from 0.3.1 to 0.4.1.
- [Release notes](https://github.com/BurntSushi/toml/releases )
- [Commits](https://github.com/BurntSushi/toml/compare/v0.3.1...v0.4.1 )
---
updated-dependencies:
- dependency-name: github.com/BurntSushi/toml
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
William Banfield
e801328128
clist: add simple property tests ( #6791 )
Adds a simple property test to the `clist` package. This test uses the [rapid](https://github.com/flyingmutant/rapid ) library and works by modeling the internal clist as a simple array.
Follow up from this mornings workshop with the Regen team.
3 years ago
M. J. Fromberger
4cbaf70d1f
docs: fix a typo in the genesis_chunked description ( #6792 )
3 years ago
rene
e5f9dd2736
docs: fix typo ( #6789 )
3 years ago
dependabot[bot]
e922016121
build(deps): Bump technote-space/get-diff-action from 4 to 5 ( #6788 )
Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action ) from 4 to 5.
- [Release notes](https://github.com/technote-space/get-diff-action/releases )
- [Changelog](https://github.com/technote-space/get-diff-action/blob/main/.releasegarc )
- [Commits](https://github.com/technote-space/get-diff-action/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: technote-space/get-diff-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
3 years ago
William Banfield
dc7c212c41
mempool/v1: test reactor does not panic on broadcast ( #6772 )
This changes adds a failing test for issue #6660 . It achieves this by adding a transaction, starting the `broadcastTxRoutine` in a goroutine and then adding another transaction to the mempool. The `broadcastTxRoutine` can receive the second inserted transaction before `insertTx` returns. In that case, `broadcastTxRoutine` will derefence a nil pointer when referencing the `gossipEl` and panic.
3 years ago
William Banfield
4e96c6b234
tools: add mockery to tools.go and remove mockery version strings ( #6787 )
This change aims to keep versions of mockery consistent across developer laptops.
This change adds mockery to the `tools.go` file so that its version can be managed consistently in the `go.mod` file.
Additionally, this change temporarily disables adding mockery's version number to generated files. There is an outstanding issue against the mockery project related to the version string behavior when running from `go get`. I have created a pull request to fix this issue in the mockery project.
see: https://github.com/vektra/mockery/issues/397
3 years ago
Callum Waters
02f8e4c0bd
blockstore: fix problem with seen commit ( #6782 )
3 years ago
dependabot[bot]
3aec71cdd4
build(deps): Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 ( #6786 )
3 years ago
M. J. Fromberger
6dd8984fef
Fix and clarify breaks from select cases. ( #6781 )
Update those break statements inside case clauses that are intended to reach an
enclosing for loop, so that they correctly exit the loop.
The candidate files for this change were located using:
% staticcheck -checks SA4011 ./... | cut -d: -f-2
This change is intended to preserve the intended semantics of the code, but
since the code as-written did not have its intended effect, some behaviour may
change. Specifically: Some loops may have run longer than they were supposed
to, prior to this change.
In one case I was not able to clearly determine the intended outcome. That case
has been commented but otherwise left as-written.
Fixes #6780 .
3 years ago
JayT106
9a2a7d4307
state/privval: vote timestamp fix ( #6748 )
3 years ago
M. J. Fromberger
8f06e0c9e7
cleanup: remove redundant error plumbing ( #6778 )
This is a mostly-automated fixup using Comby (https://comby.dev ) to remove
lexically-obvious redundant error checks. No functional changes are intended.
To reproduce the core change:
# Collapse redundant error check conditionals
% comby -in-place 'if err != nil {
return err
}
return nil' 'return err' .go
# Fold out unnecessary error temporaries
% comby -in-place ':[spc~^\s*]err :[~:?]= :[any]
return err' ':[spc]return :[any]' .go
Fixes #6479 and related cases.
3 years ago
Sam Kleinman
6a94b55d12
rpc: add documentation for genesis chunked api ( #6776 )
3 years ago
William Banfield
9e41414a53
light: replace homegrown mock with mockery ( #6735 )
This pull request removes the homegrown mocks in `light/provider/mock` in favor of mockery mocks.
Adds a simple benchmark only mock to avoid the overhead of `reflection` that `mockery` incurs.
part of #5274
3 years ago
Callum Waters
6ff4c3139c
blockchain: rename to blocksync service ( #6755 )
3 years ago
JayT106
e87b0391cb
cli/indexer: Reindex events ( #6676 )
3 years ago
Aleksandr Bezobchuk
4f73748bc8
mempool v1: tweak broadcastTxRoutine ( #6771 )
3 years ago
Callum Waters
9a3861fb82
light: wait for tendermint node to start before running example test ( #6744 )
3 years ago
William Banfield
44ac57489f
abci: add changelog entry for mempool_error field ( #6770 )
Follow up from PR: #6740
3 years ago