You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Hitesh C (Jira)" <se...@james.apache.org> on 2022/10/27 17:34:00 UTC

[jira] [Commented] (JAMES-3844) Issue with docker-compose files and opensearch configuration

    [ https://issues.apache.org/jira/browse/JAMES-3844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17625224#comment-17625224 ] 

Hitesh C commented on JAMES-3844:
---------------------------------

Elasticsearch 7.10.2 Client present in james current builds is unable to connect with opensearch instances.
```
Exception in thread "main" org.apache.james.StartUpChecksPerformer$StartUpChecksException: StartUpChecks got bad results: CheckResult\{name=ElasticSearchStartUpCheck, resultType=BAD, description=Optional[ES version(2.1.0) is not compatible with the recommendation(7.10.2)]}
```

on performing local build for  server/apps/distributed-app
 and then running the docker-compose, yields the following error
```
17:30:31.819 [ERROR] o.a.j.GuiceJamesServer - Fatal error while starting James
com.datastax.oss.driver.api.core.servererrors.InvalidQueryException: Undefined column name authorized_users
    at com.datastax.oss.driver.api.core.servererrors.InvalidQueryException.copy(InvalidQueryException.java:48)
    at com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly(CompletableFutures.java:149)
    at com.datastax.oss.driver.internal.core.cql.CqlPrepareSyncProcessor.process(CqlPrepareSyncProcessor.java:59)
    at com.datastax.oss.driver.internal.core.cql.CqlPrepareSyncProcessor.process(CqlPrepareSyncProcessor.java:31)
    at com.datastax.oss.driver.internal.core.session.DefaultSession.execute(DefaultSession.java:230)
    at com.datastax.oss.driver.api.core.cql.SyncCqlSession.prepare(SyncCqlSession.java:206)
    at org.apache.james.user.cassandra.CassandraUsersDAO.<init>(CassandraUsersDAO.java:118)
    at org.apache.james.user.cassandra.CassandraUsersDAO$$FastClassByGuice$$327191014.GUICE$TRAMPOLINE(<generated>)
    at org.apache.james.user.cassandra.CassandraUsersDAO$$FastClassByGuice$$327191014.apply(<generated>)
    at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.RealMultibinder$RealMultibinderProvider.doProvision(RealMultibinder.java:253)
    at com.google.inject.internal.RealMultibinder$ExtensionRealMultibinderProvider.doProvision(RealMultibinder.java:307)
    at com.google.inject.internal.RealMultibinder$ExtensionRealMultibinderProvider.doProvision(RealMultibinder.java:289)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$Factory.get(InternalProviderInstanceBindingImpl.java:113)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
    at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101)
    ... 4 common frames omitted
Wrapped by: com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) [Guice/ErrorInjectingConstructor]: InvalidQueryException: Undefined column name authorized_users
  at CassandraUsersDAO.<init>(CassandraUsersDAO.java:79)
  at CassandraUsersRepositoryModule.configure(CassandraUsersRepositoryModule.java:48)
      \_ installed by: Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> CassandraUsersRepositoryModule
  at UsersRepositoryImpl.<init>(UsersRepositoryImpl.java:62)
      \_ for 2nd parameter
  at CassandraUsersRepositoryModule.configure(CassandraUsersRepositoryModule.java:50)
      \_ installed by: Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> CassandraUsersRepositoryModule
  while locating UsersRepositoryImpl<CassandraUsersDAO>
  at UserRepositoryAuthenticator.<init>(UserRepositoryAuthenticator.java:39)
      \_ for 1st parameter
  at CassandraMailboxModule.configure(CassandraMailboxModule.java:171)
      \_ installed by: Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$OverrideModule -> Modules$CombinedModule -> Modules$CombinedModule -> CassandraMailboxModule
  while locating UserRepositoryAuthenticator
  at SessionProviderImpl.<init>(SessionProviderImpl.java:44)
      \_ for 1st parameter
  at CassandraMailboxModule.configure(CassandraMailboxModule.java:160)
      \_ installed by: Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$CombinedModule -> Modules$OverrideModule -> Modules$CombinedModule -> Modules$CombinedModule -> CassandraMailboxModule

```

 

> Issue with docker-compose files and opensearch configuration
> ------------------------------------------------------------
>
>                 Key: JAMES-3844
>                 URL: https://issues.apache.org/jira/browse/JAMES-3844
>             Project: James Server
>          Issue Type: Bug
>          Components: configuration
>    Affects Versions: master
>         Environment: ubuntu 22.04, docker-compose 1.29.2 docker 20.10.21
>            Reporter: Hitesh C
>            Priority: Major
>              Labels: easyfix, newbie
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
> There are issues with configuration docker-compose files in the following path
>  * server/apps/cassandra-app/docker-compose.yml
>  * server/apps/distributed-app/docker-compose.yml
>  *  server/apps/distributed-pop3-app/docker-compose.yml
>  *  third-party/clamav/docker-compose.yml
> They refer to elasticsearch in james dependencies, whereas elasticsearch has been updated to opensearch elsewhere.
>  
> Upon updating the depends_on parameter, the setup doesn't start.
> Upon fixing this, the elasticsearch client in james server isnt able to connect to opensearch instance



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org