[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14972251#comment-14972251
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user asfgit closed the pull request at:

https://github.com/apache/storm/pull/807


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14971923#comment-14971923
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user HeartSaVioR commented on a diff in the pull request:

https://github.com/apache/storm/pull/807#discussion_r42917683
  
--- Diff: 
storm-core/src/jvm/backtype/storm/validation/ConfigValidation.java ---
@@ -425,6 +451,26 @@ public static void validateField(String name, boolean 
includeZero, Object o) {
 }
 }
 
+public static class MetricRegistryValidator extends Validator {
+
+@Override
+public void validateField(String name, Object o) throws 
IllegalAccessException {
+if(o == null) {
+return;
+}
+SimpleTypeValidator.validateField(name, Map.class, o);
+if(!((Map) o).containsKey("class") ) {
+throw new IllegalAccessException("Field " + name + " must 
have map entry with key: class");
+}
+if(!((Map) o).containsKey("parallelism.hint") ) {
+throw new IllegalAccessException("Field " + name + " must 
have map entry with key: class");
--- End diff --

@jerrypeng It should be "key: parallelism.hint".


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs 

[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14972107#comment-14972107
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user HeartSaVioR commented on the pull request:

https://github.com/apache/storm/pull/807#issuecomment-150716153
  
@jerrypeng Nice, +1.


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14971927#comment-14971927
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user HeartSaVioR commented on a diff in the pull request:

https://github.com/apache/storm/pull/807#discussion_r42917728
  
--- Diff: 
storm-core/src/jvm/backtype/storm/validation/ConfigValidation.java ---
@@ -375,7 +401,7 @@ public static void validateField(String name, Class[] 
keyValidators, Class[] val
 }
 }
 for (Class vv : valueValidators) {
-Object valueValidator = vv.newInstance();
+Object valueValidator = 
vv.getConstructor().newInstance();;
--- End diff --

nits: ';' appears twice.


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian 

[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14971975#comment-14971975
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user jerrypeng commented on a diff in the pull request:

https://github.com/apache/storm/pull/807#discussion_r42919770
  
--- Diff: 
storm-core/src/jvm/backtype/storm/validation/ConfigValidation.java ---
@@ -375,7 +401,7 @@ public static void validateField(String name, Class[] 
keyValidators, Class[] val
 }
 }
 for (Class vv : valueValidators) {
-Object valueValidator = vv.newInstance();
+Object valueValidator = 
vv.getConstructor().newInstance();;
--- End diff --

will fix


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14971978#comment-14971978
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user jerrypeng commented on the pull request:

https://github.com/apache/storm/pull/807#issuecomment-150704659
  
@HeartSaVioR thanks for your review.  I just modified the PR to address 
your comments


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14969392#comment-14969392
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user jerrypeng commented on a diff in the pull request:

https://github.com/apache/storm/pull/807#discussion_r42770893
  
--- Diff: storm-core/src/jvm/backtype/storm/Config.java ---
@@ -1215,6 +1254,7 @@
  * to be equal to the number of workers configured for this topology. 
If this variable is set to 0,
  * event logging will be disabled.
  */
+@isPositiveNumber
--- End diff --

will fix


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14969391#comment-14969391
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user jerrypeng commented on a diff in the pull request:

https://github.com/apache/storm/pull/807#discussion_r42770783
  
--- Diff: storm-core/src/jvm/backtype/storm/Config.java ---
@@ -247,6 +253,7 @@
  *
  * Defaults to false.
  */
+@Deprecated
--- End diff --

will remove deprecated annotation


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14969402#comment-14969402
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user jerrypeng commented on the pull request:

https://github.com/apache/storm/pull/807#issuecomment-150280561
  
@revans2 thanks for your review! I have modified the PR to address your 
comments


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14967714#comment-14967714
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user revans2 commented on a diff in the pull request:

https://github.com/apache/storm/pull/807#discussion_r42669817
  
--- Diff: storm-core/src/jvm/backtype/storm/Config.java ---
@@ -1215,6 +1254,7 @@
  * to be equal to the number of workers configured for this topology. 
If this variable is set to 0,
  * event logging will be disabled.
  */
+@isPositiveNumber
--- End diff --

This is a really minor nit, but everywhere else `@isInteger` is above 
`@isPositiveNumber` it would be nice to be consistent.


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14967711#comment-14967711
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user revans2 commented on a diff in the pull request:

https://github.com/apache/storm/pull/807#discussion_r42669491
  
--- Diff: storm-core/src/jvm/backtype/storm/Config.java ---
@@ -247,6 +253,7 @@
  *
  * Defaults to false.
  */
+@Deprecated
--- End diff --

This should actually not be deprecated.  It says zmq, but it is not ZMQ.  
It should probably be renamed, but that is a follow on JIRA.


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14967715#comment-14967715
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user revans2 commented on the pull request:

https://github.com/apache/storm/pull/807#issuecomment-150001051
  
Just two minor nits and then I am +1 on this.


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-19 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14963820#comment-14963820
 ] 

ASF GitHub Bot commented on STORM-:
---

Github user jerrypeng commented on the pull request:

https://github.com/apache/storm/pull/807#issuecomment-149309782
  
unrelated kafka messaging test failed in travis


> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs @isPositiveNumber
> NIMBUS_THRIFT_THREADS and NIMBUS_THRIFT_PORT need @isPositiveNumber
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (STORM-1111) Fix Validation for lots of different configs

2015-10-19 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/STORM-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14963579#comment-14963579
 ] 

ASF GitHub Bot commented on STORM-:
---

GitHub user jerrypeng opened a pull request:

https://github.com/apache/storm/pull/807

[STORM-] - Fix Validation for lots of different configs



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/jerrypeng/storm STORM-

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/storm/pull/807.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #807


commit 80df44ba5fcfa63dc52bb919c8b0366350e35e58
Author: Boyang Jerry Peng 
Date:   2015-10-19T16:31:59Z

[STORM-] - Fix Validation for lots of different configs




> Fix Validation for lots of different configs
> 
>
> Key: STORM-
> URL: https://issues.apache.org/jira/browse/STORM-
> Project: Apache Storm
>  Issue Type: Bug
>Reporter: Robert Joseph Evans
>Assignee: Boyang Jerry Peng
>
> Once https://github.com/apache/storm/pull/785 goes in the validation logic is 
> more obvious about what is happening, and we have a lot of configs that the 
> validation is incomplete.  We should look at all of the configs and update 
> the validation logic + comments to show what can be stored in these configs, 
> and that we validate them correctly.  The following is an incomplete list of 
> some of these changes that need to be made.
> ```
> TOPOLOGY_ISOLATED_MACHINES needs @isPositiveNumber and @isInteger
> All of the 'ZMQ_` configs should be deprecated.
> TRANSACTIONAL_ZOOKEEPER_PORTneeds @isPositiveNumber and @isInteger
> It would be great if we could restrict TOPOLOGY_LOGGING_SENSITIVITY to one of 
> the allowed values "S0", "S1", "S2", "S3"
> TOPOLOGY_SHELLBOLT_MAX_PENDING needs @isPositiveNumber
> TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS needs @isPositiveNumber
> TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and 
> TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS both seem to need @isPositiveNumber
> TOPOLOGY_TRANSFER_BUFFER_SIZE needs to be @isPowerOf2
> TOPOLOGY_ENVIRONMENT should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS needs 
> @isPositiveNumber(includeZero = true)
> TOPOLOGY_MAX_SPOUT_PENDING needs @isPositiveNumber
> TOPOLOGY_MAX_TASK_PARALLELISM needs @isPositiveNumber
> WORKER_METRICS and TOPOLOGY_WORKER_METRICS should be @isMapEntryType(keyType 
> = String.class, valueType = String.class).
> TOPOLOGY_METRICS_CONSUMER_REGISTER should have a custom validator (you might 
> not have time to do it, so we might need a follow on JIRA for this). 
> Something like
> @isListEntryCustom(entryValidatorClasses={MetricRegistryValidator.class})
> MetricRegistryValidator.class needs to check that it is a map, with a "class" 
> key that points to a string, a "parallelism.hint" key that points to a 
> positive non-null integer.
> TOPOLOGY_EVENTLOGGER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_ACKER_EXECUTORS needs @isPositiveNumber
> TOPOLOGY_TASKS and TOPOLOGY_WORKERS need @isPositiveNumber
> TASK_CREDENTIALS_POLL_SECS needs @isPositiveNumber
> TASK_REFRESH_POLL_SECS TASK_HEARTBEAT_FREQUENCY_SECS 
> WORKER_HEARTBEAT_FREQUENCY_SECS and WORKER_RECEIVER_THREAD_COUNT need 
> @isPositiveNumber
> SUPERVISOR_MONITOR_FREQUENCY_SECS and SUPERVISOR_HEARTBEAT_FREQUENCY_SECS 
> need @isPositiveNumber
> SUPERVISOR_WORKER_SHUTDOWN_SLEEP_SECS needs @isPositiveNumber
> DRPC_HTTP_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, 
> valueType = String.class).
> DRPC_INVOCATIONS_THREADS and DRPC_INVOCATIONS_PORT need @isPositiveNumber
> DRPC_QUEUE_SIZE DRPC_MAX_BUFFER_SIZE and DRPC_WORKER_THREADS need 
> @isPositiveNumber
> DRPC_AUTHORIZER_ACL needs to be a Map>>. This too probably needs a custom 
> validator in a follow on JIRA.
> DRPC_PORT needs @isPositiveNumber
> DRPC_HTTPS_PORT and DRPC_HTTP_PORT need @isPositiveNumber
> UI_HTTPS_PORT and UI_HEADER_BUFFER_BYTES need @isPositiveNumber
> UI_FILTER_PARAMS should be @isMapEntryType(keyType = String.class, valueType 
> = String.class).
> LOGVIEWER_HTTPS_PORT needs @isPositiveNumber
> LOGVIEWER_PORT and UI_PORT need @isPositiveNumber
> NIMBUS_CREDENTIAL_RENEW_FREQ_SECS needs @isPositiveNumber
> NIMBUS_IMPERSONATION_ACL needs to be updated, because I don't think Map of 
> string to map. It is more complex then that.
> NIMBUS_TASK_LAUNCH_SECS NIMBUS_SUPERVISOR_TIMEOUT_SECS 
> NIMBUS_INBOX_JAR_EXPIRATION_SECS NIMBUS_CLEANUP_INBOX_FREQ_SECS 
> NIMBUS_MONITOR_FREQ_SECS and NIMBUS_TASK_TIMEOUT_SECS need @isPositiveNumber
> NIMBUS_THRIFT_MAX_BUFFER_SIZE needs