You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Peter Tran (JIRA)" <ji...@apache.org> on 2019/03/13 20:26:00 UTC

[jira] [Created] (GEODE-6523) Disable new REST and Java API behind feature flag

Peter Tran created GEODE-6523:
---------------------------------

             Summary: Disable new REST and Java API behind feature flag
                 Key: GEODE-6523
                 URL: https://issues.apache.org/jira/browse/GEODE-6523
             Project: Geode
          Issue Type: Improvement
          Components: management
            Reporter: Peter Tran




Discuss: Do we want our new functionality to be disabled by default until such time as we are happy to make it publicly available? Other features - e.g. protobuf currently do this.

If we do this, please use a feature-flag system property of the form: `geode.feature-cluster-management-service` for consistency with other feature flags.

* consider tests
* GFSH start option to switch it on
* Augment Experimental (don't turn off experimental with addition)
* What happens with Experimental later, leave it on until we are solid on the External/public API.
* Feature flag = MVP adding value, Experimental = public API is solid



there is one flag to control this feature as Java Runtime properties "--J-D":
 -  enable-experimental-cluster-management-service:  for features, which is just an experimental, just want to get some feedback from early birds.


### Why
We want users to not have access to Experimental API by default because it could be in a state that is insecure/incomplete/could cause corruption of a system. We need to turn this off by default so that users can opt into this functionality.



### Acceptance Criteria

```gherkin
Scenario: System doesn't see this flag
Given geode is unpacked in a directory
When the system cannot find a flag of 'enable-experimental-cluster-management-service' in Java Runtime properties.
Then the REST API v2 will not be available to the user on any port of the locator
AND a info level log would be added to locator log: "CMS is turned off , because value the experimental flag: enable-experimental-cluster-management-service is false."
```

```gherkin
Scenario: User default false for opt-in on experimental
Given the user does not change this flag 'enable-experimental-cluster-management-service' and its default value. 
When the user starts a locator
Then the REST API v2 will not be available to the user on any port of the locator
AND a info level log would be added to locator log: "CMS is turned off , because value the experimental flag: enable-experimental-cluster-management-service is false."
```

```gherkin
Scenario: User default incorrectly specified flag value
Given geode is unpacked in a directory
When the user specifies an incorrect value for this flag: 'enable-experimental-cluster-management-service' by Java Runtime properties "--J-D"
Then the REST API v2 will not be available to the user on any port of the locator
AND a info level log would be added to locator log: "CMS is turned off , because value the experimental flag: enable-experimental-cluster-management-service is false."
```

```gherkin
Scenario: User opts into the experimental flag
Given geode is unpacked in a directory
When the user enables this flag: 'enable-experimental-cluster-management-service' by Java Runtime properties "--J-D"
Then the REST API v2 will be available to the user at the standard port of 7070 or whatever port the user has specified.
AND a info level log would be added to locator log: "CMS is turned on , because value the experimental flag: enable-experimental-cluster-management-service is true."
```

**Notes:**




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)