Spring Boot Apache Geode error refused connection: Peer or client version with ordinal 120 not supported

358 Views Asked by At

I have the same problem as geode client server version not supported - Peer or client version with ordinal 100 not supported but another version. My build.gradle is

// Geode client dependency
implementation 'org.springframework.geode:spring-geode-starter:1.2.4.RELEASE'
// implementation ('org.springframework.data:spring-data-geode:2.2.4.RELEASE')

implementation 'org.springframework.boot:spring-boot-starter-tomcat:2.2.4.RELEASE' 

// implementation 'org.springframework.boot:spring-boot-starter-web:2.2.4.RELEASE'  
implementation 'org.springframework.boot:spring-boot-starter-log4j2:2.4.2'
implementation 'com.lmax:disruptor:3.4.2'

implementation 'org.springframework.session:spring-session-data-geode:2.2.2.RELEASE'

It does not seem to matter what version of spring-geode-starter is used, the app apparently spins up a Geode 1.13 client

Product-Name: Apache Geode
Product-Version: 1.13.1
Source-Date: 2020-11-10 15:51:13 -0800
Source-Repository: support/1.13
Source-Revision: aaa3d13e9c604806624e43ba86d959473226a674
Running on: /192.168.137.1, 8 cpu(s), amd64 Windows 10 10.0 
Communications version: 120

The server is using version 1.10 and so the error. Where is the 1.13 client coming from?

There is a log message

org.springframework.data.gemfire.support.AbstractFactoryBeanSupport 216 lambda$logInfo$3: Created new Apache Geode version [1.13.1] Cache [MyApi]

The Class path points to

D:\Gradle\caches\modules-2\files-2.1\org.apache.geode\geode-core\1.13.1\bb09e5da3633d7a16e66b43df7530c36a8c9e91d\geode-core-1.13.1.jar

and a lot of other 1.13 geode components

org.apache.geode\geode-lucene\1.13.1
org.apache.geode\geode-core\1.13.1
org.apache.geode\geode-cq\1.13.1
org.apache.geode\geode-wan\1.13.1
org.apache.geode\geode-common\1.13.1
org.apache.geode\geode-management\1.13.1
org.apache.geode\geode-gfsh\1.13.1
org.apache.geode\geode-membership\1.13.1
org.apache.geode\geode-tcp-server\1.13.1
org.apache.geode\geode-logging\1.13.1
org.apache.geode\geode-serialization\1.13.1
org.apache.geode\geode-unsafe\1.13.1

I checked the Spring Data Version Compatibility Matrix and Spring Boot for Geode Version Compatibility Matrix and can't even find a 1.10 server compatibility.

1

There are 1 best solutions below

0
On

There was a workaround to add implementation 'org.springframework.data:spring-data-geode:2.2.12.RELEASE' back into my build.gradle got the version to reconcile. Apache Geode 1.9.2 actually refers to Geode 1.10

There is a possibility to force dependency on Geode 1.10

dependencyManagement {
  dependencies {
    dependency 'org.apache.geode:geode-core:1.10.0'
    dependency 'org.apache.geode:geode-cq:1.10.0'
    dependency 'org.apache.geode:geode-lucene:1.10.0'
    dependency 'org.apache.geode:geode-wan:1.10.0'
  }
}

but that can lead to Upgrade to spring-geode-starter 1.4.2 produces condition, introspection and ClassNotFoundExceptions

The solution is to check the Version-Compatibility-and-Support-Matrix and for Geode 1.10 that means using spring-geode-starter:1.2.8.RELEASE