[ https://issues.apache.org/jira/browse/GOBBLIN-2211?focusedWorklogId=975847&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-975847 ]
ASF GitHub Bot logged work on GOBBLIN-2211: ------------------------------------------- Author: ASF GitHub Bot Created on: 23/Jul/25 11:24 Start Date: 23/Jul/25 11:24 Worklog Time Spent: 10m Work Description: NamsB7 commented on code in PR #4121: URL: https://github.com/apache/gobblin/pull/4121#discussion_r2225239449 ########## gobblin-metastore/src/main/java/org/apache/gobblin/metastore/MysqlErrorPatternStore.java: ########## @@ -0,0 +1,364 @@ +package org.apache.gobblin.metastore; + +import org.apache.gobblin.broker.SharedResourcesBrokerFactory; +import org.apache.gobblin.configuration.ConfigurationKeys; +import org.apache.gobblin.configuration.ErrorPatternProfile; +import org.apache.gobblin.configuration.Category; + +import com.typesafe.config.Config; + +import org.apache.gobblin.util.ConfigUtils; + +import javax.sql.DataSource; + +import javax.inject.Inject; +import lombok.extern.slf4j.Slf4j; + +import java.io.IOException; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + + +/** + * MySQL-backed implementation of IssueStore. + * + * Expected table schemas: + * + * 1. error_summary_regex_store + * - description_regex: VARCHAR(255) NOT NULL UNIQUE + * - error_category_name: VARCHAR(255) NOT NULL + * + * 2. error_categories + * - error_category_name: VARCHAR(255) PRIMARY KEY + * - priority: INT UNIQUE NOT NULL + * - is_default: BOOLEAN (optional, not compulsory; used if present to indicate the default category) + * + * This class provides methods to primarily retrieve error regex patterns and error categories. + * There are also methods to add and delete, which should be used with caution, and retrieve error patterns and categories. + */ +@Slf4j +public class MysqlErrorPatternStore implements ErrorPatternStore { + private final DataSource dataSource; + private final String errorRegexSummaryStoreTable; + private final String errorCategoriesTable; + public static final String CONFIG_PREFIX = "MysqlErrorPatternStore"; + + private static final int DEFAULT_MAX_CHARACTERS_IN_SQL_DESCRIPTION_REGEX = 2000; + private static final int DEFAULT_MAX_CHARACTERS_IN_SQL_CATEGORY_NAME = 255; + private final int maxCharactersInSqlDescriptionRegex; + private final int maxCharactersInSqlCategoryName; + + private static final String CREATE_ERROR_REGEX_SUMMARY_STORE_TABLE_STATEMENT = + "CREATE TABLE IF NOT EXISTS %s (" + " description_regex VARCHAR(%d) NOT NULL UNIQUE, " Review Comment: Changed accorndingly. Issue Time Tracking ------------------- Worklog Id: (was: 975847) Time Spent: 5h (was: 4h 50m) > Implement Error Classification based on execution issues > -------------------------------------------------------- > > Key: GOBBLIN-2211 > URL: https://issues.apache.org/jira/browse/GOBBLIN-2211 > Project: Apache Gobblin > Issue Type: Bug > Components: gobblin-service > Reporter: Abhishek Jain > Assignee: Abhishek Tiwari > Priority: Major > Time Spent: 5h > Remaining Estimate: 0h > > Implement Error Classification to categorize the failure reason based on > issues encountered. -- This message was sent by Atlassian Jira (v8.20.10#820010)