You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I look at the RemoteTransactionEvent class, the method isEmpty() it does not check if the remoteCacheEvent or the remoteTableMod object is filled. ...
This is a bug. The RemoteTransactionEvent.isEmpty() should check remoteTableMod and remoteCacheEvent.
Hello,
I tried to get EBean working in a Kubernetes cluster. I followed these steps:
I needed some extra steps, but now it is working. Additional steps needed were:
Adding cluster-admin rights to the default user, otherwise you cannot ask the API what the other nodes are
Adding environment variable POD_NAME to the container (EBean looks for this and apparently it is not a default variable?)
Adding namespace variable to EBean (otherwise you get null).
Now it works, but the cache is only sometimes synchronized between the clusters (only when I query outside EBean). After looking and digging a long time I found that when I add an AbstractBeanPersistListener class to the config it works. Now I am not really sure if I am doing something wrong, or not. When I look at the RemoteTransactionEvent class, the method isEmpty() it does not check if the remoteCacheEvent or the remoteTableMod object is filled. Adding the abstract listener caused the beanPersistList not to be empty anymore and hence it send the cache request to the other nodes. Maybe I configured something wrong?
I think this will also cause problems in non-kubernetes environments as basically the same code is also used in the manual discovery variant.
tested in EBean 12.4.1
Regards and thanks,
Roland
The text was updated successfully, but these errors were encountered:
Note that it doesn't affect ebean-redis, ebean-hazelcast or ebean-ignite which are by far the most popular L2 cache options. It doesn't impact these L2 cache implementations because they act as either a central cache or a distributed cache. That means that the cache invalidation (clear, delete etc) happens such that they do not need / use io.ebeaninternal.server.cluster.ClusterBroadcast.
Only ebean-k8scache and ebean-cluster have a ClusterBroadcastFactory and ClusterBroadcast.
When I look at the RemoteTransactionEvent class, the method isEmpty() it does not check if the remoteCacheEvent or the remoteTableMod object is filled. ...
This is a bug. The RemoteTransactionEvent.isEmpty() should check remoteTableMod and remoteCacheEvent.
Hello,
I tried to get EBean working in a Kubernetes cluster. I followed these steps:
https:/ebean-orm/ebean-k8scache
I needed some extra steps, but now it is working. Additional steps needed were:
Adding cluster-admin rights to the default user, otherwise you cannot ask the API what the other nodes are
Adding environment variable POD_NAME to the container (EBean looks for this and apparently it is not a default variable?)
Adding namespace variable to EBean (otherwise you get null).
Now it works, but the cache is only sometimes synchronized between the clusters (only when I query outside EBean). After looking and digging a long time I found that when I add an AbstractBeanPersistListener class to the config it works. Now I am not really sure if I am doing something wrong, or not. When I look at the RemoteTransactionEvent class, the method isEmpty() it does not check if the remoteCacheEvent or the remoteTableMod object is filled. Adding the abstract listener caused the beanPersistList not to be empty anymore and hence it send the cache request to the other nodes. Maybe I configured something wrong?
I think this will also cause problems in non-kubernetes environments as basically the same code is also used in the manual discovery variant.
tested in EBean 12.4.1
Regards and thanks,
Roland
The text was updated successfully, but these errors were encountered: