[ 
https://issues.apache.org/jira/browse/DRILL-8314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17609429#comment-17609429
 ] 

ASF GitHub Bot commented on DRILL-8314:
---------------------------------------

jnturton commented on code in PR #2655:
URL: https://github.com/apache/drill/pull/2655#discussion_r979835243


##########
exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java:
##########
@@ -1094,6 +1095,35 @@ public static String bootDefaultFor(String name) {
       new OptionDescription("Enables recursive files listing when querying the 
`INFORMATION_SCHEMA.FILES` table or executing the SHOW FILES command. " +
         "Default is false. (Drill 1.15+)"));
 
+  public static final String STORAGE_PLUGIN_ACCESS_ATTEMPTS = 
"storage.plugin_access_attempts";
+  public static final PositiveLongValidator 
STORAGE_PLUGIN_ACCESS_ATTEMPTS_VALIDATOR = new PositiveLongValidator(
+    STORAGE_PLUGIN_ACCESS_ATTEMPTS,
+    10,
+    new OptionDescription(
+      "The maximum number of attempts that will be made to request metadata " +
+      "needed for query planning from a storage plugin."
+    )
+  );
+  public static final String STORAGE_PLUGIN_ATTEMPT_DELAY = 
"storage.plugin_access_attempt_delay";
+  public static final NonNegativeLongValidator 
STORAGE_PLUGIN_ATTEMPT_DELAY_VALIDATOR = new NonNegativeLongValidator(
+    STORAGE_PLUGIN_ATTEMPT_DELAY,
+    5*60*1000,

Review Comment:
   Done. I asked IDEA to reformat the code and it indented the subsequent lines 
in the string additions by one level. Let me know if you meant a bigger 
reformatting.





> Add support for automatically retrying and disabling broken storage plugins
> ---------------------------------------------------------------------------
>
>                 Key: DRILL-8314
>                 URL: https://issues.apache.org/jira/browse/DRILL-8314
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Storage - Other
>    Affects Versions: 1.20.2
>            Reporter: James Turton
>            Assignee: James Turton
>            Priority: Minor
>             Fix For: 2.0.0
>
>
> Enabled storage plugins may malfunction for different reasons, e.g. they have 
> been misconfigured or their remote data source has gone offline. Depending on 
> the plugin's implementation, this could cause it to fail to return optimizer 
> rules or register schemas. In some cases this can have a wider impact, e.g. 
> unconditioned queries against the info schema will fail if a single plugin is 
> failing in registerSchemas.
> Rather than us swallowing such errors and silently returning a subset of 
> results, this Jira proposes new features that allow firstly for the retrying 
> of attempts to get rules or schemas from a plugin and secondly for a plugin 
> to be automatically disabled after the configured maximum number of attempts 
> have failed. A broken plugin will still cause a query failure but the user 
> will be informed that the plugin has been disabled as a result. Knowing what 
> has just happened, the user can choose to reissue the query knowing that the 
> broken plugin is now disabled or they might choose to investigate the problem 
> affecting the broken plugin instead.
> These new features are optional and can be disabled using new SYSTEM options.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to