tigase / tigase-server

(M) Highly optimized, extremely modular and very flexible XMPP/Jabber server
https://tigase.net
GNU Affero General Public License v3.0
317 stars 106 forks source link

problem with DefaultClusteringStrategy #198

Closed davidemarrone closed 1 year ago

davidemarrone commented 1 year ago

I have a problem using in the configuration the value strategy (class: tigase.server.cluster.strategy.DefaultClusteringStrategy) {}

that was valid for tigase 8.1.x, during start up of tigase 8.2.2 I get this error and then all the dependencies fails to start up

Loading plugin: message-archive=1:34896 ...     , version: 8.2.0-b5938/6b5a3651
[2023-05-05 14:57:42:454] [WARNING ] [                  main ] Kernel.injectDependencies()      : 

=====================
Could not initialize bean jingle (class: class tigase.xmpp.impl.push.JinglePushNotificationsExtension), skipping injection of this bean
RootCause:
   -> tigase.kernel.KernelException: Can't inject <null> to field tigase.xmpp.impl.push.JinglePushNotificationsExtension.encryptedPushNotificationExtension
      [tigase.kernel.core.Kernel.inject(Kernel.java:1190)]
=====================

If instead if I use

strategy (class: tigase.server.cluster.strategy.OnlineUsersCachingStrategy) {}

the startup does not give errors:

Loading plugin: message-archive=1:34896 ...     , version: 8.2.0-b5938/6b5a3651
Loading component: cluster-contr :: componentInfo{Title=Tigase XMPP Server, Version=8.2.0-b5938/6b5a3651, Class=tigase.cluster.ClusterController}

what is the class to use for the default strategy to use in development?

Details :

woj-tek commented 1 year ago

Let me start with clarifying one thing:

what is the class to use for the default strategy to use in development?

You can use ACS in development without issue (there is "demo" licence in that case)

Second problem is that currently the class for default strategy is tigase.cluster.strategy.DefaultClusteringStrategy !

Thirdly: There was a bug in one of .toString() methods (ref: server-1356) that actually made default strategy to fail.

davidemarrone commented 1 year ago

Second problem is that currently the class for default strategy is tigase.cluster.strategy.DefaultClusteringStrategy !

thank you, my fault

Thirdly: There was a bug in one of .toString() methods (ref: server-1356) that actually made default strategy to fail.

so this means that is better to not use the DefaultClusteringStrategy with the 8.2.2 ? (also if we do not use pubsub?)

woj-tek commented 1 year ago

so this means that is better to not use the DefaultClusteringStrategy with the 8.2.2 ? (also if we do not use pubsub?)

Correct.

In general DefaultClusteringStrategy is not the best solution. For smaller deployments you can simply use single node, for bigger deployments it's better to use ACS. What's more, MUC and Pubsub don't support clustering with DefaultClusteringStrategy.

davidemarrone commented 1 year ago

ok thanks