-
This event was implementing
Serializable
which forced it to be executed in the cluster scope. Due to that it (and its properties) where serialized on the cluster node which fired this event and then deserialization was happening on the other cluster nodes. Unfortunately, for this to work, all types/classes of event fields need to be either serializable/deserializable or marked astransient
but it was not true forClusterRepoItem
.As this event is fired on each cluster node when new nodes is found in the cluster nodes repository, there is no point to fire it in the cluster scope. Instead it should be fired in the local node scope (no serizalization needed) and it will be fired on every cluster node as each cluster node will detect change in the list of cluster nodes and will fire it on its own.
Due to that, I've changed this scope to local (removed
implements Serializable
and empty constructor).
Type |
Bug
|
Priority |
Normal
|
Assignee | |
RedmineID |
7747
|
Version |
tigase-server-8.0.0
|
Spent time |
0
|
Following exception is being thrown when one of the cluster nodes fires
ClusterRepoItemEvent
: