/** * @param cacheName Cache name. * @return Group descriptor. */ @Nullable private CacheGroupDescriptor nonSharedCacheGroupByCacheName(String cacheName) { assert cacheName != null; for (CacheGroupDescriptor grpDesc : registeredCacheGrps.values()) { if (!grpDesc.sharedGroup() && grpDesc.caches().containsKey(cacheName)) return grpDesc; } return null; }
/** * Validate propose message. * * @param msg Message. * @return Error message or {@code null} if everything is OK. */ @Nullable private String validate(WalStateProposeMessage msg) { // Is group still there? CacheGroupDescriptor grpDesc = cacheProcessor().cacheGroupDescriptors().get(msg.groupId()); if (grpDesc == null) return "Failed to change WAL mode because some caches no longer exist: " + msg.caches().keySet(); // Are specified caches still there? for (Map.Entry<String, IgniteUuid> cache : msg.caches().entrySet()) { String cacheName = cache.getKey(); DynamicCacheDescriptor cacheDesc = cacheProcessor().cacheDescriptor(cacheName); if (cacheDesc == null || !F.eq(cacheDesc.deploymentId(), cache.getValue())) return "Cache doesn't exist: " + cacheName; } // Are there any new caches in the group? HashSet<String> grpCacheNames = new HashSet<>(grpDesc.caches().keySet()); grpCacheNames.removeAll(msg.caches().keySet()); if (!grpCacheNames.isEmpty()) { return "Cannot change WAL mode because not all cache names belonging to the " + "group are provided [group=" + grpDesc.groupName() + ", missingCaches=" + grpCacheNames + ']'; } return null; }
grpDesc.startTopologyVersion(), grpDesc.deploymentId(), grpDesc.caches(), 0, grpDesc.persistenceEnabled(),
HashSet<String> grpCaches = new HashSet<>(grpDesc.caches().keySet());
/** * @param desc First descriptor. * @param desc0 Second descriptor. */ private void checkGroupDescriptorsData(CacheGroupDescriptor desc, CacheGroupDescriptor desc0) { assertEquals(desc.groupName(), desc0.groupName()); assertEquals(desc.sharedGroup(), desc0.sharedGroup()); assertEquals(desc.deploymentId(), desc0.deploymentId()); assertEquals(desc.receivedFrom(), desc0.receivedFrom()); assertEquals(desc.startTopologyVersion(), desc0.startTopologyVersion()); assertEquals(desc.config().getName(), desc0.config().getName()); assertEquals(desc.config().getGroupName(), desc0.config().getGroupName()); assertEquals(desc.caches(), desc0.caches()); }
/** * @param cacheName Cache name. * @return Group descriptor. */ @Nullable private CacheGroupDescriptor nonSharedCacheGroupByCacheName(String cacheName) { assert cacheName != null; for (CacheGroupDescriptor grpDesc : registeredCacheGrps.values()) { if (!grpDesc.sharedGroup() && grpDesc.caches().containsKey(cacheName)) return grpDesc; } return null; }
/** * Validate propose message. * * @param msg Message. * @return Error message or {@code null} if everything is OK. */ @Nullable private String validate(WalStateProposeMessage msg) { // Is group still there? CacheGroupDescriptor grpDesc = cacheProcessor().cacheGroupDescriptors().get(msg.groupId()); if (grpDesc == null) return "Failed to change WAL mode because some caches no longer exist: " + msg.caches().keySet(); // Are specified caches still there? for (Map.Entry<String, IgniteUuid> cache : msg.caches().entrySet()) { String cacheName = cache.getKey(); DynamicCacheDescriptor cacheDesc = cacheProcessor().cacheDescriptor(cacheName); if (cacheDesc == null || !F.eq(cacheDesc.deploymentId(), cache.getValue())) return "Cache doesn't exist: " + cacheName; } // Are there any new caches in the group? HashSet<String> grpCacheNames = new HashSet<>(grpDesc.caches().keySet()); grpCacheNames.removeAll(msg.caches().keySet()); if (!grpCacheNames.isEmpty()) { return "Cannot change WAL mode because not all cache names belonging to the " + "group are provided [group=" + grpDesc.groupName() + ", missingCaches=" + grpCacheNames + ']'; } return null; }
grpDesc.startTopologyVersion(), grpDesc.deploymentId(), grpDesc.caches(), 0, grpDesc.persistenceEnabled(),
HashSet<String> grpCaches = new HashSet<>(grpDesc.caches().keySet());