[
https://issues.apache.org/jira/browse/GEODE-7891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17485450#comment-17485450
]
John Blum edited comment on GEODE-7891 at 2/1/22, 10:08 PM:
------------------------------------------------------------
Given the lack of action / comments on this ticket, I am not sure we are
understanding the gravity of the situation here.
By declaring these properties in {{gemfire.properties}}, Apache Geode will fail
to start (!) as they are considered invalid properties.
For example, given the following test application code using the Apache Geode
API:
{code:java}
public class ApacheGeodePeerCacheApplication {
public static void main(String[] args) {
Cache peerCache = new CacheFactory()
.set("name", "PeerCacheApplicationTest")
.set("tombstone-gc-threshold", "100")
.create();
assertThat(peerCache).isNotNull();
assertThat(peerCache.getName()).isEqualTo("PeerCacheApplicationTest");
}
}
{code}
Running this test application results in the following error:
{code}
Exception in thread "main" java.lang.IllegalArgumentException: Unknown
configuration attribute name tombstone-gc-threshold. Valid attribute names are:
ack-severe-alert-threshold ack-wait-threshold archive-disk-space-limit
archive-file-size-limit async-distribution-timeout async-max-queue-size
async-queue-timeout bind-address cache-xml-file cluster-configuration-dir
cluster-ssl-ciphers cluster-ssl-enabled cluster-ssl-keystore
cluster-ssl-keystore-password cluster-ssl-keystore-type cluster-ssl-protocols
cluster-ssl-require-authentication cluster-ssl-truststore
cluster-ssl-truststore-password compatible-with-redis-bind-address
compatible-with-redis-enabled compatible-with-redis-password
compatible-with-redis-port conflate-events conserve-sockets delta-propagation
deploy-working-dir disable-auto-reconnect disable-jmx disable-tcp
distributed-system-id distributed-transactions durable-client-id
durable-client-timeout enable-cluster-configuration
enable-management-rest-service enable-network-partition-detection
enable-time-statistics enforce-unique-host gateway-ssl-ciphers
gateway-ssl-enabled gateway-ssl-keystore gateway-ssl-keystore-password
gateway-ssl-keystore-type gateway-ssl-protocols
gateway-ssl-require-authentication gateway-ssl-truststore
gateway-ssl-truststore-password groups http-service-bind-address
http-service-port http-service-ssl-ciphers http-service-ssl-enabled
http-service-ssl-keystore http-service-ssl-keystore-password
http-service-ssl-keystore-type http-service-ssl-protocols
http-service-ssl-require-authentication http-service-ssl-truststore
http-service-ssl-truststore-password jmx-manager jmx-manager-access-file
jmx-manager-bind-address jmx-manager-hostname-for-clients jmx-manager-http-port
jmx-manager-password-file jmx-manager-port jmx-manager-ssl-ciphers
jmx-manager-ssl-enabled jmx-manager-ssl-keystore
jmx-manager-ssl-keystore-password jmx-manager-ssl-keystore-type
jmx-manager-ssl-protocols jmx-manager-ssl-require-authentication
jmx-manager-ssl-truststore jmx-manager-ssl-truststore-password
jmx-manager-start jmx-manager-update-rate load-cluster-configuration-from-dir
locator-wait-time locators lock-memory log-disk-space-limit log-file
log-file-size-limit log-level max-num-reconnect-tries max-wait-time-reconnect
mcast-address mcast-flow-control mcast-port mcast-recv-buffer-size
mcast-send-buffer-size mcast-ttl member-timeout membership-port-range
memcached-bind-address memcached-port memcached-protocol name
off-heap-memory-size redundancy-zone remote-locators remove-unresponsive-client
roles security-auth-token-enabled-components security-client-accessor
security-client-accessor-pp security-client-auth-init
security-client-authenticator security-client-dhalgo security-log-file
security-log-level security-manager security-peer-auth-init
security-peer-authenticator security-peer-verifymember-timeout
security-post-processor security-shiro-init security-udp-dhalgo
serializable-object-filter server-bind-address server-ssl-ciphers
server-ssl-enabled server-ssl-keystore server-ssl-keystore-password
server-ssl-keystore-type server-ssl-protocols server-ssl-require-authentication
server-ssl-truststore server-ssl-truststore-password socket-buffer-size
socket-lease-time ssl-ciphers ssl-cluster-alias ssl-default-alias
ssl-enabled-components ssl-endpoint-identification-enabled ssl-gateway-alias
ssl-jmx-alias ssl-keystore ssl-keystore-password ssl-keystore-type
ssl-locator-alias ssl-parameter-extension ssl-protocols
ssl-require-authentication ssl-server-alias ssl-truststore
ssl-truststore-password ssl-truststore-type ssl-use-default-context
ssl-web-alias ssl-web-require-authentication start-dev-rest-api start-locator
statistic-archive-file statistic-sample-rate statistic-sampling-enabled
tcp-port thread-monitor-enabled thread-monitor-interval-ms
thread-monitor-time-limit-ms udp-fragment-size udp-recv-buffer-size
udp-send-buffer-size use-cluster-configuration user-command-packages
validate-serializable-objects .
at
org.apache.geode.internal.AbstractConfig.checkAttributeName(AbstractConfig.java:333)
at
org.apache.geode.distributed.internal.AbstractDistributionConfig.checkAttributeName(AbstractDistributionConfig.java:728)
at
org.apache.geode.distributed.internal.AbstractDistributionConfig.getAttributeType(AbstractDistributionConfig.java:890)
at
org.apache.geode.internal.AbstractConfig.setAttribute(AbstractConfig.java:222)
at
org.apache.geode.distributed.internal.DistributionConfigImpl.initialize(DistributionConfigImpl.java:1688)
at
org.apache.geode.distributed.internal.DistributionConfigImpl.<init>(DistributionConfigImpl.java:1010)
at
org.apache.geode.distributed.internal.DistributionConfigImpl.<init>(DistributionConfigImpl.java:918)
at
org.apache.geode.distributed.internal.ConnectionConfigImpl.lambda$new$2(ConnectionConfigImpl.java:37)
at
org.apache.geode.distributed.internal.ConnectionConfigImpl.convert(ConnectionConfigImpl.java:73)
at
org.apache.geode.distributed.internal.ConnectionConfigImpl.<init>(ConnectionConfigImpl.java:36)
at
org.apache.geode.distributed.internal.InternalDistributedSystem$Builder.build(InternalDistributedSystem.java:3006)
at
org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:282)
at
org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:208)
at
org.apache.geode.internal.cache.InternalCacheBuilder.createInternalDistributedSystem(InternalCacheBuilder.java:346)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at
org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:157)
at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142)
at
org.springframework.geode.test.ApacheGeodePeerCacheApplication.main(ApacheGeodePeerCacheApplication.java:37)
{code}
was (Author: jblum):
Given the lack of action / comments on this ticket, I am not sure we are
understanding the gravity of the situation here.
By declaring these properties in {{gemfire.properties}}, Apache Geode will fail
to start (!) as they are considered invalid properties.
For example, given the following test application code using the Apache Geode
API:
{code:java}
public class ApacheGeodePeerCacheApplication {
public static void main(String[] args) {
Cache peerCache = new CacheFactory()
.set("name", "PeerCacheApplicationTest")
.set("tombstone-gc-threshold", "100")
.create();
assertThat(peerCache).isNotNull();
assertThat(peerCache.getName()).isEqualTo("PeerCacheApplicationTest");
}
}
{code}
Running this test application results in the following error:
{code}
Exception in thread "main" java.lang.IllegalArgumentException: Unknown
configuration attribute name tombstone-gc-threshold. Valid attribute names are:
ack-severe-alert-threshold ack-wait-threshold archive-disk-space-limit
archive-file-size-limit async-distribution-timeout async-max-queue-size
async-queue-timeout bind-address cache-xml-file cluster-configuration-dir
cluster-ssl-ciphers cluster-ssl-enabled cluster-ssl-keystore
cluster-ssl-keystore-password cluster-ssl-keystore-type cluster-ssl-protocols
cluster-ssl-require-authentication cluster-ssl-truststore
cluster-ssl-truststore-password compatible-with-redis-bind-address
compatible-with-redis-enabled compatible-with-redis-password
compatible-with-redis-port conflate-events conserve-sockets delta-propagation
deploy-working-dir disable-auto-reconnect disable-jmx disable-tcp
distributed-system-id distributed-transactions durable-client-id
durable-client-timeout enable-cluster-configuration
enable-management-rest-service enable-network-partition-detection
enable-time-statistics enforce-unique-host gateway-ssl-ciphers
gateway-ssl-enabled gateway-ssl-keystore gateway-ssl-keystore-password
gateway-ssl-keystore-type gateway-ssl-protocols
gateway-ssl-require-authentication gateway-ssl-truststore
gateway-ssl-truststore-password groups http-service-bind-address
http-service-port http-service-ssl-ciphers http-service-ssl-enabled
http-service-ssl-keystore http-service-ssl-keystore-password
http-service-ssl-keystore-type http-service-ssl-protocols
http-service-ssl-require-authentication http-service-ssl-truststore
http-service-ssl-truststore-password jmx-manager jmx-manager-access-file
jmx-manager-bind-address jmx-manager-hostname-for-clients jmx-manager-http-port
jmx-manager-password-file jmx-manager-port jmx-manager-ssl-ciphers
jmx-manager-ssl-enabled jmx-manager-ssl-keystore
jmx-manager-ssl-keystore-password jmx-manager-ssl-keystore-type
jmx-manager-ssl-protocols jmx-manager-ssl-require-authentication
jmx-manager-ssl-truststore jmx-manager-ssl-truststore-password
jmx-manager-start jmx-manager-update-rate load-cluster-configuration-from-dir
locator-wait-time locators lock-memory log-disk-space-limit log-file
log-file-size-limit log-level max-num-reconnect-tries max-wait-time-reconnect
mcast-address mcast-flow-control mcast-port mcast-recv-buffer-size
mcast-send-buffer-size mcast-ttl member-timeout membership-port-range
memcached-bind-address memcached-port memcached-protocol name
off-heap-memory-size redundancy-zone remote-locators remove-unresponsive-client
roles security-auth-token-enabled-components security-client-accessor
security-client-accessor-pp security-client-auth-init
security-client-authenticator security-client-dhalgo security-log-file
security-log-level security-manager security-peer-auth-init
security-peer-authenticator security-peer-verifymember-timeout
security-post-processor security-shiro-init security-udp-dhalgo
serializable-object-filter server-bind-address server-ssl-ciphers
server-ssl-enabled server-ssl-keystore server-ssl-keystore-password
server-ssl-keystore-type server-ssl-protocols server-ssl-require-authentication
server-ssl-truststore server-ssl-truststore-password socket-buffer-size
socket-lease-time ssl-ciphers ssl-cluster-alias ssl-default-alias
ssl-enabled-components ssl-endpoint-identification-enabled ssl-gateway-alias
ssl-jmx-alias ssl-keystore ssl-keystore-password ssl-keystore-type
ssl-locator-alias ssl-parameter-extension ssl-protocols
ssl-require-authentication ssl-server-alias ssl-truststore
ssl-truststore-password ssl-truststore-type ssl-use-default-context
ssl-web-alias ssl-web-require-authentication start-dev-rest-api start-locator
statistic-archive-file statistic-sample-rate statistic-sampling-enabled
tcp-port thread-monitor-enabled thread-monitor-interval-ms
thread-monitor-time-limit-ms udp-fragment-size udp-recv-buffer-size
udp-send-buffer-size use-cluster-configuration user-command-packages
validate-serializable-objects .
at
org.apache.geode.internal.AbstractConfig.checkAttributeName(AbstractConfig.java:333)
at
org.apache.geode.distributed.internal.AbstractDistributionConfig.checkAttributeName(AbstractDistributionConfig.java:728)
at
org.apache.geode.distributed.internal.AbstractDistributionConfig.getAttributeType(AbstractDistributionConfig.java:890)
at
org.apache.geode.internal.AbstractConfig.setAttribute(AbstractConfig.java:222)
at
org.apache.geode.distributed.internal.DistributionConfigImpl.initialize(DistributionConfigImpl.java:1688)
at
org.apache.geode.distributed.internal.DistributionConfigImpl.<init>(DistributionConfigImpl.java:1010)
at
org.apache.geode.distributed.internal.DistributionConfigImpl.<init>(DistributionConfigImpl.java:918)
at
org.apache.geode.distributed.internal.ConnectionConfigImpl.lambda$new$2(ConnectionConfigImpl.java:37)
at
org.apache.geode.distributed.internal.ConnectionConfigImpl.convert(ConnectionConfigImpl.java:73)
at
org.apache.geode.distributed.internal.ConnectionConfigImpl.<init>(ConnectionConfigImpl.java:36)
at
org.apache.geode.distributed.internal.InternalDistributedSystem$Builder.build(InternalDistributedSystem.java:3006)
at
org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:282)
at
org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:208)
at
org.apache.geode.internal.cache.InternalCacheBuilder.createInternalDistributedSystem(InternalCacheBuilder.java:346)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at
org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:157)
at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142)
{code}
> User Guide refers to non-valid GemFire Properties
> -------------------------------------------------
>
> Key: GEODE-7891
> URL: https://issues.apache.org/jira/browse/GEODE-7891
> Project: Geode
> Issue Type: Bug
> Components: docs
> Reporter: John Blum
> Priority: Major
>
> The following properties in [GemFire
> Properties|https://geode.apache.org/docs/guide/114/reference/topics/gemfire_properties.html]
> are *NOT* valid (distributed system/config properties) according to the
> [ConfigurationProperties|https://github.com/apache/geode/blob/rel/v1.14.3/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java]
> and
> [DistributionConfig|https://github.com/apache/geode/blob/rel/v1.14.3/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfig.java]
> classes!
> Properties include:
> {code:java}
> "geode.disallow-internal-messages-without-credentials"
> "tombstone-gc-threshold"
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)