I don't think this has anything to do with your function code. Basically it appears that you are using different versions of Geode in your cluster. Make sure that what you've 'JARed together' does not contain anything else other than your code. Also check the classpath of all components for duplicate (and different) versions of Geode jars.
--Jens On Tue, Oct 30, 2018 at 1:14 PM Marcus Dushshantha Chandradasa < dushshantha.chandarad...@gmail.com> wrote: > Hi All, > > I am trying to figure out how to programmatically create Regions on a > Geode Cluster. I followed below links but without any success. > > > https://geode.apache.org/docs/guide/16/developing/region_options/dynamic_region_creation.html > > https://stackoverflow.com/questions/50833166/cannot-create-region-dynamically-from-client-in-geode/50850584 > > So far, I have the CreateRegionFunction and CreateRegionCacheListener copied > and JARed them together. I am referig them in my client as well as added to > the classpath for Geode Cluster. Below is my client code. I am receiving > the below error when I try to execute. Any help would be really > appreciated. > > Error : > > SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with > path [] threw exception [Request processing failed; nested exception is > org.apache.geode.SystemConnectException: Rejecting the attempt of a member > using an older version of the product to join the distributed system] with > root cause > org.apache.geode.SystemConnectException: Rejecting the attempt of a member > using an older version of the product to join the distributed system > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.attemptToJoin(GMSJoinLeave.java:433) > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.join(GMSJoinLeave.java:329) > at > org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.join(GMSMembershipManager.java:664) > > > > Cache cache = new CacheFactory() > .set( ConfigurationProperties.LOCATORS, > "localhost[10334],localhost[10335]") > .create(); > Execution execution = FunctionService.onServers(cache); > ArrayList argList = new ArrayList(); > argList.add("region_new"); > RegionAttributes attr = new AttributesFactory().create(); > argList.add(attr); > Function function = new CreateRegionFunction(); > //FunctionService.registerFunction(function); > Object result = execution.setArguments(argList).execute(function).getResult(); > >