[ 
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)

Reply via email to