private void writeObject(ObjectOutputStream out) throws IOException { out.defaultWriteObject(); Address address = member.getAddress(); String host = address.getHost(); int port = address.getPort(); out.writeUTF(member.getUuid()); out.writeUTF(host); out.writeInt(port); out.writeBoolean(member.isLiteMember()); out.writeObject(member.getVersion()); }
private void writeObject(ObjectOutputStream out) throws IOException { out.defaultWriteObject(); Address address = member.getAddress(); String host = address.getHost(); int port = address.getPort(); out.writeUTF(member.getUuid()); out.writeUTF(host); out.writeInt(port); out.writeBoolean(member.isLiteMember()); out.writeObject(member.getVersion()); }
private CacheNode newCacheNode(Member member) { final CacheNode node = new CacheNode(); node.setAddress(Objects.toString(member.getAddress())); node.setId(member.getUuid()); node.setVersion(Objects.toString(member.getVersion())); return node; }
@Override protected boolean requiresExplicitServiceName() { // RU_COMPAT_3_10 Member member = getNodeEngine().getClusterService().getMember(target); if (member == null) { return false; } Version memberVersion = member.getVersion().asVersion(); return memberVersion.isLessThan(Versions.V3_11); }
@Override protected boolean requiresExplicitServiceName() { // RU_COMPAT_3_10 Member member = getNodeEngine().getClusterService().getMember(target); if (member == null) { return false; } Version memberVersion = member.getVersion().asVersion(); return memberVersion.isLessThan(Versions.V3_11); }
@Override protected boolean requiresExplicitServiceName() { // RU_COMPAT_3_10 Member member = getNodeEngine().getClusterService().getMember(target); if (member == null) { return false; } Version memberVersion = member.getVersion().asVersion(); return memberVersion.isLessThan(Versions.V3_11); }
@Override protected boolean requiresExplicitServiceName() { // RU_COMPAT_3_10 Member member = getNodeEngine().getClusterService().getMember(target); if (member == null) { return false; } Version memberVersion = member.getVersion().asVersion(); return memberVersion.isLessThan(Versions.V3_11); }
@Override public Boolean apply(Integer partitionId, Integer replicaIndex) { IBiFunction<Integer, Integer, Boolean> filter = CacheClearExpiredRecordsTask.super.newBackupExpiryOpFilter(); if (!filter.apply(partitionId, replicaIndex)) { return false; } // Previous versions did not remove expired entries until they are // touched. Old members behave the same whereas newer members still // benefit from periodic removal of expired entries. // // RU_COMPAT_3_10 IPartition partition = partitionService.getPartition(partitionId); Address replicaAddress = partition.getReplicaAddress(replicaIndex); Member member = nodeEngine.getClusterService().getMember(replicaAddress); if (member == null) { return false; } return member.getVersion().asVersion().isGreaterOrEqual(Versions.V3_11); } };
@Override public Boolean apply(Integer partitionId, Integer replicaIndex) { IBiFunction<Integer, Integer, Boolean> filter = CacheClearExpiredRecordsTask.super.newBackupExpiryOpFilter(); if (!filter.apply(partitionId, replicaIndex)) { return false; } // Previous versions did not remove expired entries until they are // touched. Old members behave the same whereas newer members still // benefit from periodic removal of expired entries. // // RU_COMPAT_3_10 IPartition partition = partitionService.getPartition(partitionId); Address replicaAddress = partition.getReplicaAddress(replicaIndex); Member member = nodeEngine.getClusterService().getMember(replicaAddress); if (member == null) { return false; } return member.getVersion().asVersion().isGreaterOrEqual(Versions.V3_11); } };
private boolean mustWriteIndexInfos(Version clusterVersion) { // 3.10 OS always writes mapIndexInfos // 3.10 EE on cluster version 3.10 must write index info if (!getBuildInfo().isEnterprise() || clusterVersion.isGreaterOrEqual(V3_10)) { return true; } ClusterService clusterService = operation.getNodeEngine().getClusterService(); Member targetMember = clusterService.getMember(target); // When cluster version is 3.9, only write mapIndexInfo if target member is 3.9 EE. Reasoning: // 3.9 EE expects to read mapIndexInfos when object data input comes with 3.9+ version. This is // the case when the object stream originates from a versioned 3.10 member. return targetMember.getVersion().asVersion().isEqualTo(V3_9) && clusterVersion.isEqualTo(V3_9); }
private boolean mustWriteIndexInfos(Version clusterVersion) { // Do not write index info when OS or cluster version is 3.10+ if (!getBuildInfo().isEnterprise() || clusterVersion.isGreaterOrEqual(V3_10)) { return false; } // 3.9 EE reads index definitions when object input version is UNKNOWN or <= 3.8 // --> it expects to read map index definitions from other 3.9 members but not from // an input coming from 3.10 EE (as it will have version 3.9) --> do not send when target member is 3.9 // --> when target member is 3.10, do send index info so it behaves like 3.9-only cluster ClusterService clusterService = getNodeEngine().getClusterService(); Member targetMember = clusterService.getMember(target); return targetMember.getVersion().asVersion().isEqualTo(V3_10) && clusterVersion.isEqualTo(V3_9); } }