[
https://issues.apache.org/jira/browse/FLINK-10289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16631036#comment-16631036
]
ASF GitHub Bot commented on FLINK-10289:
----------------------------------------
yingdachen commented on a change in pull request #6739: [FLINK-10289]
[JobManager] Classify Exceptions to different category for apply different
failover strategy
URL: https://github.com/apache/flink/pull/6739#discussion_r221074188
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/throwable/ThrowableClassifier.java
##########
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.runtime.throwable;
+
+import org.apache.flink.runtime.execution.SuppressRestartsException;
+import
org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * given a exception do the classification.
+ */
+public class ThrowableClassifier {
Review comment:
i think we can explore interface/annotation approach
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Classify Exceptions to different category for apply different failover
> strategy
> -------------------------------------------------------------------------------
>
> Key: FLINK-10289
> URL: https://issues.apache.org/jira/browse/FLINK-10289
> Project: Flink
> Issue Type: Sub-task
> Components: JobManager
> Reporter: JIN SUN
> Assignee: JIN SUN
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.7.0
>
>
> We need to classify exceptions and treat them with different strategies. To
> do this, we propose to introduce the following Throwable Types, and the
> corresponding exceptions:
> * NonRecoverable
> ** We shouldn’t retry if an exception was classified as NonRecoverable
> ** For example, NoResouceAvailiableException is a NonRecoverable Exception
> ** Introduce a new Exception UserCodeException to wrap all exceptions that
> throw from user code
> * PartitionDataMissingError
> ** In certain scenarios producer data was transferred in blocking mode or
> data was saved in persistent store. If the partition was missing, we need to
> revoke/rerun the produce task to regenerate the data.
> ** Introduce a new exception PartitionDataMissingException to wrap all those
> kinds of issues.
> * EnvironmentError
> ** It happened due to hardware, or software issues that were related to
> specific environments. The assumption is that a task will succeed if we run
> it in a different environment, and other task run in this bad environment
> will very likely fail. If multiple task failures in the same machine due to
> EnvironmentError, we need to consider adding the bad machine to blacklist,
> and avoiding schedule task on it.
> ** Introduce a new exception EnvironmentException to wrap all those kind of
> issues.
> * Recoverable
> ** We assume other issues are recoverable.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)