bbende commented on a change in pull request #4154: NIFI-7271 Make command 
timeout configurable for ShellUserGroupProvider
URL: https://github.com/apache/nifi/pull/4154#discussion_r396837221
 
 

 ##########
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-shell-authorizer/src/main/java/org/apache/nifi/authorization/ShellUserGroupProvider.java
 ##########
 @@ -339,6 +347,26 @@ private long 
getDelayProperty(AuthorizerConfigurationContext authContext, String
         return syncInterval;
     }
 
+    private int getTimeoutProperty(AuthorizerConfigurationContext authContext, 
String propertyName, String defaultValue) {
+        final PropertyValue timeoutProperty = 
authContext.getProperty(propertyName);
+
+        final String propertyValue;
+        if (timeoutProperty.isSet()) {
+            propertyValue = timeoutProperty.getValue();
+        } else {
+            propertyValue = defaultValue;
+        }
+
+        final long timeoutValue;
+        try {
+            timeoutValue = 
Math.round(FormatUtils.getPreciseTimeDuration(propertyValue, TimeUnit.SECONDS));
+        } catch (final IllegalArgumentException ignored) {
+            throw new AuthorizerCreationException(String.format("The %s '%s' 
is not a valid time interval.", propertyName, propertyValue));
 
 Review comment:
   I could probably convinced of either side (lenient vs strict), but currently 
I think overall we tend to favor being strict. Looking through some other 
examples like LDAP and the existing Refresh Delay in ShellUserGroupProvider, 
those both fail start up for invalid formats, so I would probably leave as it 
is.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to