private void verifyLocalDisk(final long managerMaxBytesLocalDisk, final List<ConfigError> configErrors, final long totalOnDiskAssignedMemory) { if ((isMaxBytesLocalDiskPercentageSet() || getMaxBytesLocalDisk() > 0) && managerMaxBytesLocalDisk > 0 && managerMaxBytesLocalDisk - totalOnDiskAssignedMemory < 0) { configErrors.add(new ConfigError("Cache '" + getName() + "' over-allocates CacheManager's localOnDisk limit!")); } }
/** * Validates the CacheConfiguration against the CacheManager's Configuration * @param configuration The CacheManager Configuration * @return the list of errors encountered, or an empty list */ List<CacheConfigError> validateCachePools(final Configuration configuration) { List<CacheConfigError> errors = new ArrayList<CacheConfigError>(); if (configuration.isMaxBytesLocalHeapSet() && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("maxEntriesLocalHeap is not compatible with " + "maxBytesLocalHeap set on cache manager", getName())); } if (getMaxBytesLocalHeap() > 0 && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("maxEntriesLocalHeap is not compatible with " + "maxBytesLocalHeap set on cache", getName())); } if (isMaxBytesLocalHeapPercentageSet() && !configuration.isMaxBytesLocalHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalOffHeapPercentageSet() && !configuration.isMaxBytesLocalOffHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOffHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalDiskPercentageSet() && !configuration.isMaxBytesLocalDiskSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnDisk value but no CacheManager " + "wide value was configured", getName())); } return errors; }
/** * {@inheritDoc} */ @Override public void setMaxBytesLocalDiskAsString(String maxBytes) { try { cache.getCacheConfiguration().setMaxBytesLocalDisk(maxBytes); } catch (RuntimeException e) { throw Utils.newPlainException(e); } if (cache.getCacheConfiguration().isMaxBytesLocalDiskPercentageSet()) { long cacheAssignedMem = cache.getCacheManager().getConfiguration().getMaxBytesLocalDisk() * cache.getCacheConfiguration().getMaxBytesLocalDiskPercentage() / PERCENTAGE_DIVISOR; setMaxBytesLocalDisk(cacheAssignedMem); } }
private void init() { if (cacheConfiguration == null) { return; } addAttribute(new SimpleNodeAttribute("name", cacheConfiguration.getName()).optional(false)); addCommonAttributesWithDefaultCache(this, configuration, cacheConfiguration); addAttribute(new SimpleNodeAttribute("logging", cacheConfiguration.getLogging()).optional(true).defaultValue( CacheConfiguration.DEFAULT_LOGGING)); addCommonChildElementsWithDefaultCache(this, cacheConfiguration); if (cacheConfiguration.getMaxBytesLocalHeap() > 0 || cacheConfiguration.isMaxBytesLocalHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalHeap", cacheConfiguration.getMaxBytesLocalHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_HEAP))); } if (cacheConfiguration.getMaxBytesLocalOffHeap() > 0 || cacheConfiguration.isMaxBytesLocalOffHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalOffHeap", cacheConfiguration.getMaxBytesLocalOffHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_OFF_HEAP))); } if (!cacheConfiguration.isTerracottaClustered() && (cacheConfiguration.getMaxBytesLocalDisk() > 0 || cacheConfiguration.isMaxBytesLocalDiskPercentageSet())) { addAttribute(new SimpleNodeAttribute("maxBytesLocalDisk", cacheConfiguration.getMaxBytesLocalDiskAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_DISK))); } }
@Override void applyChange(final PropertyChangeEvent evt, final RuntimeCfg config) { if ((Long)evt.getOldValue() > (Long)evt.getNewValue()) { // Double check for over-allocation again for (CacheConfiguration cacheConfiguration : config.getConfiguration().getCacheConfigurations().values()) { cacheConfiguration.isMaxBytesLocalDiskPercentageSet(); } } config.cacheManager.getOnDiskPool().setMaxSize((Long) evt.getNewValue()); // Recalculate % based caches ? } };
private void verifyLocalDisk(final long managerMaxBytesLocalDisk, final List<ConfigError> configErrors, final long totalOnDiskAssignedMemory) { if ((isMaxBytesLocalDiskPercentageSet() || getMaxBytesLocalDisk() > 0) && managerMaxBytesLocalDisk > 0 && managerMaxBytesLocalDisk - totalOnDiskAssignedMemory < 0) { configErrors.add(new ConfigError("Cache '" + getName() + "' over-allocates CacheManager's localOnDisk limit!")); } }
private void verifyLocalDisk(final long managerMaxBytesLocalDisk, final List<ConfigError> configErrors, final long totalOnDiskAssignedMemory) { if ((isMaxBytesLocalDiskPercentageSet() || getMaxBytesLocalDisk() > 0) && managerMaxBytesLocalDisk > 0 && managerMaxBytesLocalDisk - totalOnDiskAssignedMemory < 0) { configErrors.add(new ConfigError("Cache '" + getName() + "' over-allocates CacheManager's localOnDisk limit!")); } }
private void verifyLocalDisk(final long managerMaxBytesLocalDisk, final List<ConfigError> configErrors, final long totalOnDiskAssignedMemory) { if ((isMaxBytesLocalDiskPercentageSet() || getMaxBytesLocalDisk() > 0) && managerMaxBytesLocalDisk > 0 && managerMaxBytesLocalDisk - totalOnDiskAssignedMemory < 0) { configErrors.add(new ConfigError("Cache '" + getName() + "' over-allocates CacheManager's localOnDisk limit!")); } }
xml.attribute("expiry-thread-interval-seconds", Long.toString(config.getDiskExpiryThreadIntervalSeconds())); xml.attribute("max-bytes-local-disk", Long.toString(config.getMaxBytesLocalDisk())); xml.attribute("max-bytes-local-disk-percentage-set", Boolean.toString(config.isMaxBytesLocalDiskPercentageSet())); xml.attribute("max-bytes-local-heap", Long.toString(config.getMaxBytesLocalHeap())); xml.attribute("max-bytes-local-heap-percentage-set", Boolean.toString(config.isMaxBytesLocalHeapPercentageSet())); xml.attribute("count-based-tuned", Boolean.toString(config.isCountBasedTuned())); xml.attribute("overflow-to-disk", Boolean.toString(config.isOverflowToDisk())); if (config.isMaxBytesLocalDiskPercentageSet()) { xml.attribute("max-bytes-local-disk-percentage", config.getMaxBytesLocalDiskPercentage());
/** * Validates the CacheConfiguration against the CacheManager's Configuration * @param configuration The CacheManager Configuration * @return the list of errors encountered, or an empty list */ List<CacheConfigError> validateCachePools(final Configuration configuration) { List<CacheConfigError> errors = new ArrayList<CacheConfigError>(); if (configuration.isMaxBytesLocalHeapSet() && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("maxEntriesLocalHeap is not compatible with " + "maxBytesLocalHeap set on cache manager", getName())); } if (getMaxBytesLocalHeap() > 0 && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("maxEntriesLocalHeap is not compatible with " + "maxBytesLocalHeap set on cache", getName())); } if (isMaxBytesLocalHeapPercentageSet() && !configuration.isMaxBytesLocalHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalOffHeapPercentageSet() && !configuration.isMaxBytesLocalOffHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOffHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalDiskPercentageSet() && !configuration.isMaxBytesLocalDiskSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnDisk value but no CacheManager " + "wide value was configured", getName())); } return errors; }
/** * Validates the CacheConfiguration against the CacheManager's Configuration * @param configuration The CacheManager Configuration * @return the list of errors encountered, or an empty list */ List<CacheConfigError> validateCachePools(final Configuration configuration) { List<CacheConfigError> errors = new ArrayList<CacheConfigError>(); if (configuration.isMaxBytesLocalHeapSet() && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("MaxElementsInMemory is not compatible with " + "MaxBytesLocalHeap set on cache manager", getName())); } if (getMaxBytesLocalHeap() > 0 && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("MaxElementsInMemory is not compatible with " + "MaxBytesLocalHeap set on cache", getName())); } if (isMaxBytesLocalHeapPercentageSet() && !configuration.isMaxBytesLocalHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalOffHeapPercentageSet() && !configuration.isMaxBytesLocalOffHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOffHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalDiskPercentageSet() && !configuration.isMaxBytesLocalDiskSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnDisk value but no CacheManager " + "wide value was configured", getName())); } return errors; }
/** * Validates the CacheConfiguration against the CacheManager's Configuration * @param configuration The CacheManager Configuration * @return the list of errors encountered, or an empty list */ List<CacheConfigError> validateCachePools(final Configuration configuration) { List<CacheConfigError> errors = new ArrayList<CacheConfigError>(); if (configuration.isMaxBytesLocalHeapSet() && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("maxEntriesLocalHeap is not compatible with " + "maxBytesLocalHeap set on cache manager", getName())); } if (getMaxBytesLocalHeap() > 0 && getMaxEntriesLocalHeap() > 0) { errors.add(new CacheConfigError("maxEntriesLocalHeap is not compatible with " + "maxBytesLocalHeap set on cache", getName())); } if (isMaxBytesLocalHeapPercentageSet() && !configuration.isMaxBytesLocalHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalOffHeapPercentageSet() && !configuration.isMaxBytesLocalOffHeapSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOffHeap value but no CacheManager " + "wide value was configured", getName())); } if (isMaxBytesLocalDiskPercentageSet() && !configuration.isMaxBytesLocalDiskSet()) { errors.add(new CacheConfigError("Defines a percentage maxBytesOnDisk value but no CacheManager " + "wide value was configured", getName())); } return errors; }
/** * {@inheritDoc} */ public void setMaxBytesLocalDiskAsString(String maxBytes) { try { cache.getCacheConfiguration().setMaxBytesLocalDisk(maxBytes); } catch (RuntimeException e) { throw Utils.newPlainException(e); } if (cache.getCacheConfiguration().isMaxBytesLocalDiskPercentageSet()) { long cacheAssignedMem = cache.getCacheManager().getConfiguration().getMaxBytesLocalDisk() * cache.getCacheConfiguration().getMaxBytesLocalDiskPercentage() / PERCENTAGE_DIVISOR; setMaxBytesLocalDisk(cacheAssignedMem); } }
/** * {@inheritDoc} */ @Override public void setMaxBytesLocalDiskAsString(String maxBytes) { try { cache.getCacheConfiguration().setMaxBytesLocalDisk(maxBytes); } catch (RuntimeException e) { throw Utils.newPlainException(e); } if (cache.getCacheConfiguration().isMaxBytesLocalDiskPercentageSet()) { long cacheAssignedMem = cache.getCacheManager().getConfiguration().getMaxBytesLocalDisk() * cache.getCacheConfiguration().getMaxBytesLocalDiskPercentage() / PERCENTAGE_DIVISOR; setMaxBytesLocalDisk(cacheAssignedMem); } }
/** * {@inheritDoc} */ @Override public void setMaxBytesLocalDiskAsString(String maxBytes) { try { cache.getCacheConfiguration().setMaxBytesLocalDisk(maxBytes); } catch (RuntimeException e) { throw Utils.newPlainException(e); } if (cache.getCacheConfiguration().isMaxBytesLocalDiskPercentageSet()) { long cacheAssignedMem = cache.getCacheManager().getConfiguration().getMaxBytesLocalDisk() * cache.getCacheConfiguration().getMaxBytesLocalDiskPercentage() / PERCENTAGE_DIVISOR; setMaxBytesLocalDisk(cacheAssignedMem); } }
private void init() { if (cacheConfiguration == null) { return; } addAttribute(new SimpleNodeAttribute("name", cacheConfiguration.getName()).optional(false)); addCommonAttributesWithDefaultCache(this, configuration, cacheConfiguration); addAttribute(new SimpleNodeAttribute("logging", cacheConfiguration.getLogging()).optional(true).defaultValue( CacheConfiguration.DEFAULT_LOGGING)); addCommonChildElementsWithDefaultCache(this, cacheConfiguration); if (cacheConfiguration.getMaxBytesLocalHeap() > 0 || cacheConfiguration.isMaxBytesLocalHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalHeap", cacheConfiguration.getMaxBytesLocalHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_HEAP))); } if (cacheConfiguration.getMaxBytesLocalOffHeap() > 0 || cacheConfiguration.isMaxBytesLocalOffHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalOffHeap", cacheConfiguration.getMaxBytesLocalOffHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_OFF_HEAP))); } if (!cacheConfiguration.isTerracottaClustered() && (cacheConfiguration.getMaxBytesLocalDisk() > 0 || cacheConfiguration.isMaxBytesLocalDiskPercentageSet())) { addAttribute(new SimpleNodeAttribute("maxBytesLocalDisk", cacheConfiguration.getMaxBytesLocalDiskAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_DISK))); } }
private void init() { if (cacheConfiguration == null) { return; } addAttribute(new SimpleNodeAttribute("name", cacheConfiguration.getName()).optional(false)); addCommonAttributesWithDefaultCache(this, configuration, cacheConfiguration); addAttribute(new SimpleNodeAttribute("logging", cacheConfiguration.getLogging()).optional(true).defaultValue( CacheConfiguration.DEFAULT_LOGGING)); addCommonChildElementsWithDefaultCache(this, cacheConfiguration); if (cacheConfiguration.getMaxBytesLocalHeap() > 0 || cacheConfiguration.isMaxBytesLocalHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalHeap", cacheConfiguration.getMaxBytesLocalHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_HEAP))); } if (cacheConfiguration.getMaxBytesLocalOffHeap() > 0 || cacheConfiguration.isMaxBytesLocalOffHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalOffHeap", cacheConfiguration.getMaxBytesLocalOffHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_OFF_HEAP))); } if (!cacheConfiguration.isTerracottaClustered() && (cacheConfiguration.getMaxBytesLocalDisk() > 0 || cacheConfiguration.isMaxBytesLocalDiskPercentageSet())) { addAttribute(new SimpleNodeAttribute("maxBytesLocalDisk", cacheConfiguration.getMaxBytesLocalDiskAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_DISK))); } }
private void init() { if (cacheConfiguration == null) { return; } addAttribute(new SimpleNodeAttribute("name", cacheConfiguration.getName()).optional(false)); addCommonAttributesWithDefaultCache(this, configuration, cacheConfiguration); addAttribute(new SimpleNodeAttribute("logging", cacheConfiguration.getLogging()).optional(true).defaultValue( CacheConfiguration.DEFAULT_LOGGING)); addCommonChildElementsWithDefaultCache(this, cacheConfiguration); if (cacheConfiguration.getMaxBytesLocalHeap() > 0 || cacheConfiguration.isMaxBytesLocalHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalHeap", cacheConfiguration.getMaxBytesLocalHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_HEAP))); } if (cacheConfiguration.getMaxBytesLocalOffHeap() > 0 || cacheConfiguration.isMaxBytesLocalOffHeapPercentageSet()) { addAttribute(new SimpleNodeAttribute("maxBytesLocalOffHeap", cacheConfiguration.getMaxBytesLocalOffHeapAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_OFF_HEAP))); } if (!cacheConfiguration.isTerracottaClustered() && (cacheConfiguration.getMaxBytesLocalDisk() > 0 || cacheConfiguration.isMaxBytesLocalDiskPercentageSet())) { addAttribute(new SimpleNodeAttribute("maxBytesLocalDisk", cacheConfiguration.getMaxBytesLocalDiskAsString()) .optional(true).defaultValue(String.valueOf(CacheConfiguration.DEFAULT_MAX_BYTES_ON_DISK))); } }