Status Update
Comments
[Deleted User] <[Deleted User]> #2
The ToT dependency was coming from compose:test-utils
. Jeremy raised aosp/2254837 to pin this to a prebuilt.
Alternatively, we could have added explicit androidTestImplementation
dependencies on ToT to ensure it's available during dependency resolution.
TL;DR If we express a constraint on androidx.thing:thing:$TOT_VERSION
which maps to the tip-of-tree version for :thing:thing
, then any occurrence of androidx.thing:thing:$VERSION
where the constraint is present must also include :thing:thing
somewhere in the transitive dependencies.
vo...@google.com <vo...@google.com> #3
My understanding of this issue is:
-
Project A's library code depends on prebuilt B.
-
Project A's test depends on prebuilt B and also library C.
-
Library C declares a constraint saying that B must be the same version as Library C.
-
When resolving dependencies for Project A's tests, these tests depend on prebuilt B and library C, so library C's dependency information is also considered.
-
Library C says it requires B of the same version.
-
To reconcile:
- these requirements:
- the dependency on prebuilt B
- the constraint for B to match the version of C
- Gradle looks for a prebuilt of B with version matching C.
- these requirements:
-
No prebuilt of B exists with the same version matching Library C, so Gradle fails to resolve the dependency.
Is this right?
The request in
a....@livelinktechnology.net <a....@livelinktechnology.net> #4
No prebuilt of B exists with the same version matching the prebuilt of C, so Gradle fails to resolve the dependency.
Just to make sure we're aligned, this should read "library C" rather than prebuilt? It's library C (e.g. project(C)
with version $X
) that expresses a constraint on prebuilt B at version $X
.
Assuming we're aligned...
Yes however if library B (e.g. project("B")
) exists in the set of dependencies and its version matches C, then Gradle will successfully resolve the dependency by "upgrading" prebuilt B to library B.
cy...@gmail.com <cy...@gmail.com> #5
No prebuilt of B exists with the same version matching the prebuilt of C, so Gradle fails to resolve the dependency.
Just to make sure we're aligned, this should read "library C" rather than prebuilt? It's library C (e.g. project(C) with version $X) that expresses a constraint on prebuilt B at version $X.
Yes! Fixed, thanks
[Deleted User] <[Deleted User]> #6
The request in
is that libraries should publish this constraint information (rather than that Gradle should know how to automatically update prebuilt dependencies into project dependencies), so I think this issue is probably different b/146802533
Slightly different. Fixing
Given that this was caused by tests using different dependency versions than the library's runtime dependencies, though, maybe this is broken-as-intended? The fix that Jeremy implemented was to pin the tests to the same version.
bo...@michigan.gov <bo...@michigan.gov> #7
Marking as Fixed
even though the general problem can still occur. Unclear that we need a systemic fix.
ho...@poggiolabs.com <ho...@poggiolabs.com> #8
setname
is supported, though I am still seeing the same error from the original post on the region: us-central1.
ta...@gmail.com <ta...@gmail.com> #9
mb...@gmail.com <mb...@gmail.com> #10
The documentation is for the Cluser version of Redis, not for standalone instances. It would seem that the standalone instances still do not support setting a client name.
Description
This feature is not available in GCP Redis memory store.
What you would like to accomplish:
----------------------------------------------------------
be able to identify clients connection by its name.
As of today, every attempt from client to GCP Redis ends up with exception:
ERR unknown command `CLIENT`, with args beginning with: `setname`, `.....`,
How this might work:
---------------------------------------
The same way how it works with plain Redis.
Other information (workarounds you have tried, documentation consulted, etc):
------------------------------------------------------------------------------------------------------------------------------
No workaround, needed to remove set client name. Therefore on redis cli list client commands prevents us to quickly see what clients are connected (because its not so easy to identify them by name)