[
https://issues.apache.org/jira/browse/CASSANALYTICS-103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Miklosovic updated CASSANALYTICS-103:
--------------------------------------------
Description:
I am getting this one when I am extending {{SharedClusterIntegrationTestBase}}
in my downstream project
{code}
java.lang.NoSuchMethodError: 'com.google.inject.Module
com.google.inject.util.Modules.disableCircularProxiesModule()'
at
org.apache.cassandra.sidecar.modules.SidecarModules.all(SidecarModules.java:47)
at
org.apache.cassandra.sidecar.modules.SidecarModules.all(SidecarModules.java:73)
at
org.apache.cassandra.sidecar.testing.SharedClusterIntegrationTestBase.startSidecarWithInstances(SharedClusterIntegrationTestBase.java:364)
at
com.instaclustr.cassandra.AbstractIntegrationTest.startSidecar(AbstractIntegrationTest.java:94)
at
org.apache.cassandra.sidecar.testing.SharedClusterIntegrationTestBase.setup(SharedClusterIntegrationTestBase.java:194)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
io.vertx.junit5.VertxExtension.interceptBeforeAllMethod(VertxExtension.java:130)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
{code}
there is
{code}
sidecarServerInjector =
Guice.createInjector(Modules.override(SidecarModules.all()).with(testModule));
{code}
that one calls:
{code}
public static List<Module> all(@Nullable Path confPath)
{
// To prevent unexpected circular dependency chains in your code, we
recommend that you disable Guice's circular proxy feature.
return List.of(Modules.disableCircularProxiesModule(),
new ApiModule(),
{code}
but {{disableCircularProxiesModule}} is not present / is red in e.g. IDEA.
That is because Sidecar uses Guice 7.0.0 where that makes sense, but when I
move it to my project where I am depending on
{{org.apache.cassandra:cassandra-analytics-integration-framework_spark3_2.12:jar:0.2.0:compile}},
then this will resolve Guice of version 4.2.2 (it is visible e.g. from mvn
dependency:tree of a custom project we pull this dependency in).
4.2.2 is also used currently in:
{{cassandra-analytics-integration-framework}}
{{cassandra-analytics-integration-tests}}
I think that we should be on same Guice for these projects as well to be
aligned with what we use in Sidecar project.
was:
I am getting this one when I am extending {{SharedClusterIntegrationTestBase}}
in my downstream project
{code}
java.lang.NoSuchMethodError: 'com.google.inject.Module
com.google.inject.util.Modules.disableCircularProxiesModule()'
at
org.apache.cassandra.sidecar.modules.SidecarModules.all(SidecarModules.java:47)
at
org.apache.cassandra.sidecar.modules.SidecarModules.all(SidecarModules.java:73)
at
org.apache.cassandra.sidecar.testing.SharedClusterIntegrationTestBase.startSidecarWithInstances(SharedClusterIntegrationTestBase.java:364)
at
com.instaclustr.cassandra.AbstractIntegrationTest.startSidecar(AbstractIntegrationTest.java:94)
at
org.apache.cassandra.sidecar.testing.SharedClusterIntegrationTestBase.setup(SharedClusterIntegrationTestBase.java:194)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
io.vertx.junit5.VertxExtension.interceptBeforeAllMethod(VertxExtension.java:130)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
{code}
there is
{code}
sidecarServerInjector =
Guice.createInjector(Modules.override(SidecarModules.all()).with(testModule));
{code}
that one calls:
{code}
public static List<Module> all(@Nullable Path confPath)
{
// To prevent unexpected circular dependency chains in your code, we
recommend that you disable Guice's circular proxy feature.
return List.of(Modules.disableCircularProxiesModule(),
new ApiModule(),
{code}
but {{disableCircularProxiesModule}} is not present / is red in e.g. IDEA.
That is because Sidecar uses Guice 7.0.0 where that makes sense, but when I
move it to my project where I am depending on
{{org.apache.cassandra:cassandra-analytics-core_spark3_2.12:jar:0.2.0:compile}},
then this will resolve Guice of version 4.2.2 (it is visible e.g. from mvn
dependency:tree of a custom project we pull this dependency in).
4.2.2 is also used currently in:
{{cassandra-analytics-integration-framework}}
{{cassandra-analytics-integration-tests}}
I think that we should be on same Guice for these projects as well to be
aligned with what we use in Sidecar project.
> mismatched version of guice between Sidecar and Analytics
> ---------------------------------------------------------
>
> Key: CASSANALYTICS-103
> URL: https://issues.apache.org/jira/browse/CASSANALYTICS-103
> Project: Apache Cassandra Analytics
> Issue Type: Bug
> Components: Build
> Reporter: Stefan Miklosovic
> Priority: Normal
>
> I am getting this one when I am extending
> {{SharedClusterIntegrationTestBase}} in my downstream project
> {code}
> java.lang.NoSuchMethodError: 'com.google.inject.Module
> com.google.inject.util.Modules.disableCircularProxiesModule()'
> at
> org.apache.cassandra.sidecar.modules.SidecarModules.all(SidecarModules.java:47)
> at
> org.apache.cassandra.sidecar.modules.SidecarModules.all(SidecarModules.java:73)
> at
> org.apache.cassandra.sidecar.testing.SharedClusterIntegrationTestBase.startSidecarWithInstances(SharedClusterIntegrationTestBase.java:364)
> at
> com.instaclustr.cassandra.AbstractIntegrationTest.startSidecar(AbstractIntegrationTest.java:94)
> at
> org.apache.cassandra.sidecar.testing.SharedClusterIntegrationTestBase.setup(SharedClusterIntegrationTestBase.java:194)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at
> io.vertx.junit5.VertxExtension.interceptBeforeAllMethod(VertxExtension.java:130)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
> {code}
> there is
> {code}
> sidecarServerInjector =
> Guice.createInjector(Modules.override(SidecarModules.all()).with(testModule));
> {code}
> that one calls:
> {code}
> public static List<Module> all(@Nullable Path confPath)
> {
> // To prevent unexpected circular dependency chains in your code, we
> recommend that you disable Guice's circular proxy feature.
> return List.of(Modules.disableCircularProxiesModule(),
> new ApiModule(),
> {code}
> but {{disableCircularProxiesModule}} is not present / is red in e.g. IDEA.
> That is because Sidecar uses Guice 7.0.0 where that makes sense, but when I
> move it to my project where I am depending on
> {{org.apache.cassandra:cassandra-analytics-integration-framework_spark3_2.12:jar:0.2.0:compile}},
> then this will resolve Guice of version 4.2.2 (it is visible e.g. from mvn
> dependency:tree of a custom project we pull this dependency in).
> 4.2.2 is also used currently in:
> {{cassandra-analytics-integration-framework}}
> {{cassandra-analytics-integration-tests}}
> I think that we should be on same Guice for these projects as well to be
> aligned with what we use in Sidecar project.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]