You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@gobblin.apache.org by GitBox <gi...@apache.org> on 2021/07/02 21:41:33 UTC

[GitHub] [gobblin] aplex opened a new pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

aplex opened a new pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327


   NOTE: this commit includes changes from previous PR https://github.com/apache/gobblin/pull/3299
   
   Previously, Gobblin service kept the last few job issues in memory.
   In this commit, we add MySql-based persistence for job issues.
   
   We introduce Flyway-based migrations to Gobblin service DB, so that
   we can adjust the table schemas in the future, and add new tables
   in a consistent way.
   
   https://issues.apache.org/jira/browse/GOBBLIN-1457
   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] aplex commented on a change in pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
aplex commented on a change in pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#discussion_r686329305



##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/db/ServiceDatabaseProviderImpl.java
##########
@@ -0,0 +1,117 @@
+/*
+ * 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.gobblin.service.modules.db;
+
+import java.time.Duration;
+import java.util.Objects;
+
+import org.apache.commons.dbcp2.BasicDataSource;
+
+import com.typesafe.config.Config;
+
+import javax.inject.Inject;
+import javax.sql.DataSource;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import org.apache.gobblin.password.PasswordManager;
+import org.apache.gobblin.service.ServiceConfigKeys;
+import org.apache.gobblin.util.ConfigUtils;
+
+
+public class ServiceDatabaseProviderImpl implements ServiceDatabaseProvider {
+
+  private final Configuration configuration;
+  private BasicDataSource dataSource;
+
+  @Inject
+  public ServiceDatabaseProviderImpl(Configuration configuration) {
+    this.configuration = configuration;
+  }
+
+  public DataSource getDatasource() {
+    ensureDataSource();
+    return dataSource;
+  }
+
+  private synchronized void ensureDataSource() {

Review comment:
       I used it initially, but there are problems with configuring it. It expects settings like "state.store.db.user" and "state.store.db.table" which don't really make sense for the issues and other tables. What we have in service db is not limited to one table, and it's not a state store.
   
   I'll put the query in utility class to be reused.




-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] aplex merged pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
aplex merged pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327


   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] aplex commented on a change in pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
aplex commented on a change in pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#discussion_r685660043



##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/db/ServiceDatabaseManager.java
##########
@@ -0,0 +1,60 @@
+/*
+ * 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.gobblin.service.modules.db;
+
+import java.util.Objects;
+
+import org.flywaydb.core.Flyway;
+
+import com.google.common.util.concurrent.AbstractIdleService;
+
+import javax.inject.Inject;
+import javax.inject.Singleton;
+import lombok.extern.slf4j.Slf4j;
+
+
+@Singleton
+@Slf4j
+public class ServiceDatabaseManager extends AbstractIdleService {
+
+  private final ServiceDatabaseProvider databaseProvider;
+
+  @Inject
+  public ServiceDatabaseManager(ServiceDatabaseProvider databaseProvider) {
+    this.databaseProvider = Objects.requireNonNull(databaseProvider);
+  }
+
+  @Override
+  protected void startUp()
+      throws Exception {
+
+    Flyway flyway =
+        Flyway.configure().locations("classpath:org/apache/gobblin/service/db/migration").failOnMissingLocations(true)
+            .dataSource(databaseProvider.getDatasource()).load();
+
+    log.info("Ensuring service database is migrated to latest schema");
+    // Start the migration
+    flyway.migrate();

Review comment:
       It's ok to have other tables in flyway-managed DB as long as they don't collide in names. Flyway will basically execute the sql config scripts one by one, and that's it.
   
   Although, a specific Flyway app shouldn't use the same database as other Flyway apps, as Flyway creates it's own state table that has a fixed name.




-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] aplex commented on a change in pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
aplex commented on a change in pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#discussion_r686154192



##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/core/GobblinServiceGuiceModule.java
##########
@@ -205,12 +209,22 @@ public void configure(Binder binder) {
             JOB_STATUS_RETRIEVER_CLASS_KEY, FsJobStatusRetriever.class.getName()));
 
     if (serviceConfig.isRestLIServerEnabled()) {
-      binder.bind(EmbeddedRestliServer.class).toProvider(EmbeddedRestliServerProvider.class).in(Singleton.class);
+      binder.bind(EmbeddedRestliServer.class).toProvider(EmbeddedRestliServerProvider.class);
     }
 
     binder.bind(GobblinServiceManager.class);
 
-    binder.bind(MultiContextIssueRepository.class).to(InMemoryMultiContextIssueRepository.class);
+    binder.bind(ServiceDatabaseProvider.class).to(ServiceDatabaseProviderImpl.class);
+    binder.bind(ServiceDatabaseProviderImpl.Configuration.class);
+
+    binder.bind(ServiceDatabaseManager.class);
+
+    binder.bind(MultiContextIssueRepository.class)
+        .to(getClassByNameOrAlias(MultiContextIssueRepository.class, serviceConfig.getInnerConfig(),
+                                  ServiceConfigKeys.ISSUE_REPO_CLASS, MySqlMultiContextIssueRepository.class.getName()));

Review comment:
       Updated to in-memory by default




-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] codecov-commenter commented on pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#issuecomment-873274428


   # [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#3327](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (79f8a51) into [master](https://codecov.io/gh/apache/gobblin/commit/8f5718a00f43771a6ad04ffc4bca0fd86cfa17ec?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (8f5718a) will **decrease** coverage by `4.68%`.
   > The diff coverage is `100.00%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/gobblin/pull/3327/graphs/tree.svg?width=650&height=150&src=pr&token=4MgURJ0bGc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3327      +/-   ##
   ============================================
   - Coverage     47.50%   42.82%   -4.69%     
   + Complexity     8182     1930    -6252     
   ============================================
     Files          1654      394    -1260     
     Lines         62532    16868   -45664     
     Branches       6792     2072    -4720     
   ============================================
   - Hits          29708     7223   -22485     
   + Misses        30199     8845   -21354     
   + Partials       2625      800    -1825     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...che/gobblin/metastore/DatabaseJobHistoryStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL0RhdGFiYXNlSm9iSGlzdG9yeVN0b3JlLmphdmE=) | `77.77% <100.00%> (ø)` | |
   | [...ore/util/DatabaseJobHistoryStoreSchemaManager.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL3V0aWwvRGF0YWJhc2VKb2JIaXN0b3J5U3RvcmVTY2hlbWFNYW5hZ2VyLmphdmE=) | `29.31% <100.00%> (ø)` | |
   | [...gobblin/service/modules/spec/JobExecutionPlan.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1zZXJ2aWNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NlcnZpY2UvbW9kdWxlcy9zcGVjL0pvYkV4ZWN1dGlvblBsYW4uamF2YQ==) | | |
   | [...obblin/compaction/parser/CompactionPathParser.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1jb21wYWN0aW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2NvbXBhY3Rpb24vcGFyc2VyL0NvbXBhY3Rpb25QYXRoUGFyc2VyLmphdmE=) | | |
   | [...n/runtime/std/DefaultJobLifecycleListenerImpl.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvc3RkL0RlZmF1bHRKb2JMaWZlY3ljbGVMaXN0ZW5lckltcGwuamF2YQ==) | | |
   | [...r/extract/kafka/FixedSchemaKafkaAvroExtractor.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4ta2Fma2EtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NvdXJjZS9leHRyYWN0b3IvZXh0cmFjdC9rYWZrYS9GaXhlZFNjaGVtYUthZmthQXZyb0V4dHJhY3Rvci5qYXZh) | | |
   | [...pache/gobblin/data/management/copy/CopyEntity.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1kYXRhLW1hbmFnZW1lbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vZGF0YS9tYW5hZ2VtZW50L2NvcHkvQ29weUVudGl0eS5qYXZh) | | |
   | [.../source/extractor/exception/MetadataException.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NvdXJjZS9leHRyYWN0b3IvZXhjZXB0aW9uL01ldGFkYXRhRXhjZXB0aW9uLmphdmE=) | | |
   | [...etrics/reporter/util/FixedSchemaVersionWriter.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRyaWNzLWxpYnMvZ29iYmxpbi1tZXRyaWNzLWJhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0cmljcy9yZXBvcnRlci91dGlsL0ZpeGVkU2NoZW1hVmVyc2lvbldyaXRlci5qYXZh) | | |
   | [...orkunit/packer/KafkaSingleLevelWorkUnitPacker.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4ta2Fma2EtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NvdXJjZS9leHRyYWN0b3IvZXh0cmFjdC9rYWZrYS93b3JrdW5pdC9wYWNrZXIvS2Fma2FTaW5nbGVMZXZlbFdvcmtVbml0UGFja2VyLmphdmE=) | | |
   | ... and [2027 more](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [8f5718a...79f8a51](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] codecov-commenter edited a comment on pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#issuecomment-873274428


   # [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#3327](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (fbbd9a5) into [master](https://codecov.io/gh/apache/gobblin/commit/1d7671a8dea8638c7bfeb314883c31dbe256e238?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (1d7671a) will **increase** coverage by `2.63%`.
   > The diff coverage is `79.82%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/gobblin/pull/3327/graphs/tree.svg?width=650&height=150&src=pr&token=4MgURJ0bGc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3327      +/-   ##
   ============================================
   + Coverage     46.44%   49.07%   +2.63%     
   + Complexity    10122     8667    -1455     
   ============================================
     Files          2052     1674     -378     
     Lines         79677    64326   -15351     
     Branches       8895     7375    -1520     
   ============================================
   - Hits          37005    31568    -5437     
   + Misses        39232    29766    -9466     
   + Partials       3440     2992     -448     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [.../org/apache/gobblin/service/ServiceConfigKeys.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vc2VydmljZS9TZXJ2aWNlQ29uZmlnS2V5cy5qYXZh) | `0.00% <0.00%> (ø)` | |
   | [...va/org/apache/gobblin/util/ClassAliasResolver.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vdXRpbC9DbGFzc0FsaWFzUmVzb2x2ZXIuamF2YQ==) | `80.00% <ø> (ø)` | |
   | [...n/runtime/troubleshooter/JobIssueEventHandler.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSm9iSXNzdWVFdmVudEhhbmRsZXIuamF2YQ==) | `70.27% <40.00%> (-1.96%)` | :arrow_down: |
   | [...leshooter/InMemoryMultiContextIssueRepository.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSW5NZW1vcnlNdWx0aUNvbnRleHRJc3N1ZVJlcG9zaXRvcnkuamF2YQ==) | `60.00% <43.47%> (-35.24%)` | :arrow_down: |
   | [...oubleshooter/MySqlMultiContextIssueRepository.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1zZXJ2aWNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NlcnZpY2UvbW9kdWxlcy90cm91Ymxlc2hvb3Rlci9NeVNxbE11bHRpQ29udGV4dElzc3VlUmVwb3NpdG9yeS5qYXZh) | `82.81% <82.81%> (ø)` | |
   | [...ervice/modules/db/ServiceDatabaseProviderImpl.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1zZXJ2aWNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NlcnZpY2UvbW9kdWxlcy9kYi9TZXJ2aWNlRGF0YWJhc2VQcm92aWRlckltcGwuamF2YQ==) | `86.84% <86.84%> (ø)` | |
   | [...che/gobblin/metastore/DatabaseJobHistoryStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL0RhdGFiYXNlSm9iSGlzdG9yeVN0b3JlLmphdmE=) | `77.77% <100.00%> (-0.49%)` | :arrow_down: |
   | [.../org/apache/gobblin/metastore/MysqlStateStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL015c3FsU3RhdGVTdG9yZS5qYXZh) | `8.16% <100.00%> (ø)` | |
   | [...ore/util/DatabaseJobHistoryStoreSchemaManager.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL3V0aWwvRGF0YWJhc2VKb2JIaXN0b3J5U3RvcmVTY2hlbWFNYW5hZ2VyLmphdmE=) | `29.31% <100.00%> (-2.36%)` | :arrow_down: |
   | [...g/apache/gobblin/runtime/troubleshooter/Issue.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSXNzdWUuamF2YQ==) | `90.90% <100.00%> (+0.90%)` | :arrow_up: |
   | ... and [397 more](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [1d7671a...fbbd9a5](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] jack-moseley commented on a change in pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
jack-moseley commented on a change in pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#discussion_r674386181



##########
File path: gobblin-metastore/src/main/java/org/apache/gobblin/metastore/util/DatabaseJobHistoryStoreSchemaManager.java
##########
@@ -54,9 +55,7 @@
   private final Flyway flyway;
 
   private DatabaseJobHistoryStoreSchemaManager(Properties properties) {
-    flyway = new Flyway();
-    flyway.configure(properties);
-    flyway.setClassLoader(this.getClass().getClassLoader());
+    flyway = Flyway.configure(this.getClass().getClassLoader()).configuration(properties).load();

Review comment:
       Are the changes to this and the related class just due to flyway API changes?

##########
File path: gobblin-runtime/src/main/java/org/apache/gobblin/runtime/troubleshooter/AutoTroubleshooterLogAppender.java
##########
@@ -0,0 +1,169 @@
+/*
+ * 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.gobblin.runtime.troubleshooter;
+
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
+import org.apache.log4j.AppenderSkeleton;
+import org.apache.log4j.Level;
+import org.apache.log4j.spi.LocationInfo;
+import org.apache.log4j.spi.LoggingEvent;
+
+import javax.annotation.concurrent.ThreadSafe;
+import lombok.extern.slf4j.Slf4j;
+
+import org.apache.gobblin.runtime.ThrowableWithErrorCode;
+
+
+/**
+ * Collects messages from log4j and converts them into issues that are used in {@link AutomaticTroubleshooter}.
+ */
+@Slf4j
+@ThreadSafe
+public class AutoTroubleshooterLogAppender extends AppenderSkeleton {

Review comment:
       This class was added in an earlier PR right? Why's it showing up as a new class now?

##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/core/GobblinServiceGuiceModule.java
##########
@@ -205,12 +209,22 @@ public void configure(Binder binder) {
             JOB_STATUS_RETRIEVER_CLASS_KEY, FsJobStatusRetriever.class.getName()));
 
     if (serviceConfig.isRestLIServerEnabled()) {
-      binder.bind(EmbeddedRestliServer.class).toProvider(EmbeddedRestliServerProvider.class).in(Singleton.class);
+      binder.bind(EmbeddedRestliServer.class).toProvider(EmbeddedRestliServerProvider.class);
     }
 
     binder.bind(GobblinServiceManager.class);
 
-    binder.bind(MultiContextIssueRepository.class).to(InMemoryMultiContextIssueRepository.class);
+    binder.bind(ServiceDatabaseProvider.class).to(ServiceDatabaseProviderImpl.class);
+    binder.bind(ServiceDatabaseProviderImpl.Configuration.class);
+
+    binder.bind(ServiceDatabaseManager.class);
+
+    binder.bind(MultiContextIssueRepository.class)
+        .to(getClassByNameOrAlias(MultiContextIssueRepository.class, serviceConfig.getInnerConfig(),
+                                  ServiceConfigKeys.ISSUE_REPO_CLASS, MySqlMultiContextIssueRepository.class.getName()));

Review comment:
       Should this default to the in-memory one, since the mysql one requires a bunch of extra configuration 
   (and a mysql instance) that may not be set up?

##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/db/ServiceDatabaseManager.java
##########
@@ -0,0 +1,60 @@
+/*
+ * 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.gobblin.service.modules.db;
+
+import java.util.Objects;
+
+import org.flywaydb.core.Flyway;
+
+import com.google.common.util.concurrent.AbstractIdleService;
+
+import javax.inject.Inject;
+import javax.inject.Singleton;
+import lombok.extern.slf4j.Slf4j;
+
+
+@Singleton
+@Slf4j
+public class ServiceDatabaseManager extends AbstractIdleService {

Review comment:
       Let's add some javadoc for this class, if I understand correctly it's purpose is to do table creation (or migration if necessary) on gobblin service startup.

##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/db/ServiceDatabaseProviderImpl.java
##########
@@ -0,0 +1,117 @@
+/*
+ * 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.gobblin.service.modules.db;
+
+import java.time.Duration;
+import java.util.Objects;
+
+import org.apache.commons.dbcp2.BasicDataSource;
+
+import com.typesafe.config.Config;
+
+import javax.inject.Inject;
+import javax.sql.DataSource;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import org.apache.gobblin.password.PasswordManager;
+import org.apache.gobblin.service.ServiceConfigKeys;
+import org.apache.gobblin.util.ConfigUtils;
+
+
+public class ServiceDatabaseProviderImpl implements ServiceDatabaseProvider {
+
+  private final Configuration configuration;
+  private BasicDataSource dataSource;
+
+  @Inject
+  public ServiceDatabaseProviderImpl(Configuration configuration) {
+    this.configuration = configuration;
+  }
+
+  public DataSource getDatasource() {
+    ensureDataSource();
+    return dataSource;
+  }
+
+  private synchronized void ensureDataSource() {

Review comment:
       For all other usages of mysql in gobblin and gaas code, we use `MysqlDataSourceFactory` (which calls `MysqlStateStore.newDataSource`) to create the datasource. Is the configuration for this one unique enough that it needs to be a separate thing, or that these configurations would not also be useful in that place?
   
   If we do want to keep these separate, maybe we could at least reuse the validation query (which I just added to `MysqlStateStore.newDataSource`) so that we don't have the same query in two places.

##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/db/ServiceDatabaseManager.java
##########
@@ -0,0 +1,60 @@
+/*
+ * 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.gobblin.service.modules.db;
+
+import java.util.Objects;
+
+import org.flywaydb.core.Flyway;
+
+import com.google.common.util.concurrent.AbstractIdleService;
+
+import javax.inject.Inject;
+import javax.inject.Singleton;
+import lombok.extern.slf4j.Slf4j;
+
+
+@Singleton
+@Slf4j
+public class ServiceDatabaseManager extends AbstractIdleService {
+
+  private final ServiceDatabaseProvider databaseProvider;
+
+  @Inject
+  public ServiceDatabaseManager(ServiceDatabaseProvider databaseProvider) {
+    this.databaseProvider = Objects.requireNonNull(databaseProvider);
+  }
+
+  @Override
+  protected void startUp()
+      throws Exception {
+
+    Flyway flyway =
+        Flyway.configure().locations("classpath:org/apache/gobblin/service/db/migration").failOnMissingLocations(true)
+            .dataSource(databaseProvider.getDatasource()).load();
+
+    log.info("Ensuring service database is migrated to latest schema");
+    // Start the migration
+    flyway.migrate();

Review comment:
       Just curious, by using flyway, does this table have to be in a separate db from our other tables, or it's fine to have a flyway-managed table in the same db as other regular tables?




-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] aplex commented on a change in pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
aplex commented on a change in pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#discussion_r686297681



##########
File path: gobblin-runtime/src/main/java/org/apache/gobblin/runtime/troubleshooter/AutoTroubleshooterLogAppender.java
##########
@@ -0,0 +1,169 @@
+/*
+ * 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.gobblin.runtime.troubleshooter;
+
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
+import org.apache.log4j.AppenderSkeleton;
+import org.apache.log4j.Level;
+import org.apache.log4j.spi.LocationInfo;
+import org.apache.log4j.spi.LoggingEvent;
+
+import javax.annotation.concurrent.ThreadSafe;
+import lombok.extern.slf4j.Slf4j;
+
+import org.apache.gobblin.runtime.ThrowableWithErrorCode;
+
+
+/**
+ * Collects messages from log4j and converts them into issues that are used in {@link AutomaticTroubleshooter}.
+ */
+@Slf4j
+@ThreadSafe
+public class AutoTroubleshooterLogAppender extends AppenderSkeleton {

Review comment:
       It was moved to a different module in one of the previous commits, and after rebase we got two of them - in the old and new place. I'll remove it here.




-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] aplex commented on a change in pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
aplex commented on a change in pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#discussion_r685649890



##########
File path: gobblin-metastore/src/main/java/org/apache/gobblin/metastore/util/DatabaseJobHistoryStoreSchemaManager.java
##########
@@ -54,9 +55,7 @@
   private final Flyway flyway;
 
   private DatabaseJobHistoryStoreSchemaManager(Properties properties) {
-    flyway = new Flyway();
-    flyway.configure(properties);
-    flyway.setClassLoader(this.getClass().getClassLoader());
+    flyway = Flyway.configure(this.getClass().getClassLoader()).configuration(properties).load();

Review comment:
       Yes. We upgraded from version 3 to 7, and there were some API changes.




-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] codecov-commenter edited a comment on pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#issuecomment-873274428


   # [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#3327](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (fbbd9a5) into [master](https://codecov.io/gh/apache/gobblin/commit/1d7671a8dea8638c7bfeb314883c31dbe256e238?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (1d7671a) will **increase** coverage by `0.08%`.
   > The diff coverage is `79.82%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/gobblin/pull/3327/graphs/tree.svg?width=650&height=150&src=pr&token=4MgURJ0bGc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3327      +/-   ##
   ============================================
   + Coverage     46.44%   46.52%   +0.08%     
   - Complexity    10122    10144      +22     
   ============================================
     Files          2052     2055       +3     
     Lines         79677    79884     +207     
     Branches       8895     8912      +17     
   ============================================
   + Hits          37005    37168     +163     
   - Misses        39232    39267      +35     
   - Partials       3440     3449       +9     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [.../org/apache/gobblin/service/ServiceConfigKeys.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vc2VydmljZS9TZXJ2aWNlQ29uZmlnS2V5cy5qYXZh) | `0.00% <0.00%> (ø)` | |
   | [...va/org/apache/gobblin/util/ClassAliasResolver.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vdXRpbC9DbGFzc0FsaWFzUmVzb2x2ZXIuamF2YQ==) | `80.00% <ø> (ø)` | |
   | [...n/runtime/troubleshooter/JobIssueEventHandler.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSm9iSXNzdWVFdmVudEhhbmRsZXIuamF2YQ==) | `70.27% <40.00%> (-1.96%)` | :arrow_down: |
   | [...leshooter/InMemoryMultiContextIssueRepository.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSW5NZW1vcnlNdWx0aUNvbnRleHRJc3N1ZVJlcG9zaXRvcnkuamF2YQ==) | `60.00% <43.47%> (-35.24%)` | :arrow_down: |
   | [...oubleshooter/MySqlMultiContextIssueRepository.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1zZXJ2aWNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NlcnZpY2UvbW9kdWxlcy90cm91Ymxlc2hvb3Rlci9NeVNxbE11bHRpQ29udGV4dElzc3VlUmVwb3NpdG9yeS5qYXZh) | `82.81% <82.81%> (ø)` | |
   | [...ervice/modules/db/ServiceDatabaseProviderImpl.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1zZXJ2aWNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NlcnZpY2UvbW9kdWxlcy9kYi9TZXJ2aWNlRGF0YWJhc2VQcm92aWRlckltcGwuamF2YQ==) | `86.84% <86.84%> (ø)` | |
   | [...che/gobblin/metastore/DatabaseJobHistoryStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL0RhdGFiYXNlSm9iSGlzdG9yeVN0b3JlLmphdmE=) | `77.77% <100.00%> (-0.49%)` | :arrow_down: |
   | [.../org/apache/gobblin/metastore/MysqlStateStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL015c3FsU3RhdGVTdG9yZS5qYXZh) | `8.16% <100.00%> (ø)` | |
   | [...ore/util/DatabaseJobHistoryStoreSchemaManager.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL3V0aWwvRGF0YWJhc2VKb2JIaXN0b3J5U3RvcmVTY2hlbWFNYW5hZ2VyLmphdmE=) | `29.31% <100.00%> (-2.36%)` | :arrow_down: |
   | [...g/apache/gobblin/runtime/troubleshooter/Issue.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSXNzdWUuamF2YQ==) | `90.90% <100.00%> (+0.90%)` | :arrow_up: |
   | ... and [16 more](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [1d7671a...fbbd9a5](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] codecov-commenter edited a comment on pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#issuecomment-873274428


   # [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#3327](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (fbbd9a5) into [master](https://codecov.io/gh/apache/gobblin/commit/1d7671a8dea8638c7bfeb314883c31dbe256e238?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (1d7671a) will **decrease** coverage by `3.39%`.
   > The diff coverage is `100.00%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/gobblin/pull/3327/graphs/tree.svg?width=650&height=150&src=pr&token=4MgURJ0bGc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3327      +/-   ##
   ============================================
   - Coverage     46.44%   43.04%   -3.40%     
   + Complexity    10122     1943    -8179     
   ============================================
     Files          2052      394    -1658     
     Lines         79677    16897   -62780     
     Branches       8895     2082    -6813     
   ============================================
   - Hits          37005     7274   -29731     
   + Misses        39232     8820   -30412     
   + Partials       3440      803    -2637     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...che/gobblin/metastore/DatabaseJobHistoryStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL0RhdGFiYXNlSm9iSGlzdG9yeVN0b3JlLmphdmE=) | `77.77% <100.00%> (-0.49%)` | :arrow_down: |
   | [.../org/apache/gobblin/metastore/MysqlStateStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL015c3FsU3RhdGVTdG9yZS5qYXZh) | `8.16% <100.00%> (ø)` | |
   | [...ore/util/DatabaseJobHistoryStoreSchemaManager.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL3V0aWwvRGF0YWJhc2VKb2JIaXN0b3J5U3RvcmVTY2hlbWFNYW5hZ2VyLmphdmE=) | `29.31% <100.00%> (-2.36%)` | :arrow_down: |
   | [...g/apache/gobblin/util/filters/RegexPathFilter.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi11dGlsaXR5L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3V0aWwvZmlsdGVycy9SZWdleFBhdGhGaWx0ZXIuamF2YQ==) | `72.72% <0.00%> (-16.17%)` | :arrow_down: |
   | [...lin/util/filesystem/FileSystemInstrumentation.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi11dGlsaXR5L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3V0aWwvZmlsZXN5c3RlbS9GaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmphdmE=) | `85.71% <0.00%> (-7.15%)` | :arrow_down: |
   | [...in/runtime/instance/hadoop/HadoopConfigLoader.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvaW5zdGFuY2UvaGFkb29wL0hhZG9vcENvbmZpZ0xvYWRlci5qYXZh) | | |
   | [.../apache/gobblin/rest/JobExecutionInfoResource.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1yZXN0LXNlcnZpY2UvZ29iYmxpbi1yZXN0LXNlcnZlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZ29iYmxpbi9yZXN0L0pvYkV4ZWN1dGlvbkluZm9SZXNvdXJjZS5qYXZh) | | |
   | [...pache/gobblin/data/management/trash/TestTrash.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1kYXRhLW1hbmFnZW1lbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vZGF0YS9tYW5hZ2VtZW50L3RyYXNoL1Rlc3RUcmFzaC5qYXZh) | | |
   | [.../org/apache/gobblin/kafka/serialize/MD5Digest.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4ta2Fma2EtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2thZmthL3NlcmlhbGl6ZS9NRDVEaWdlc3QuamF2YQ==) | | |
   | [...va/org/apache/gobblin/writer/SimpleDataWriter.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3dyaXRlci9TaW1wbGVEYXRhV3JpdGVyLmphdmE=) | | |
   | ... and [1646 more](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [1d7671a...fbbd9a5](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] jack-moseley commented on a change in pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
jack-moseley commented on a change in pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#discussion_r686338290



##########
File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/db/ServiceDatabaseProviderImpl.java
##########
@@ -0,0 +1,117 @@
+/*
+ * 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.gobblin.service.modules.db;
+
+import java.time.Duration;
+import java.util.Objects;
+
+import org.apache.commons.dbcp2.BasicDataSource;
+
+import com.typesafe.config.Config;
+
+import javax.inject.Inject;
+import javax.sql.DataSource;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import org.apache.gobblin.password.PasswordManager;
+import org.apache.gobblin.service.ServiceConfigKeys;
+import org.apache.gobblin.util.ConfigUtils;
+
+
+public class ServiceDatabaseProviderImpl implements ServiceDatabaseProvider {
+
+  private final Configuration configuration;
+  private BasicDataSource dataSource;
+
+  @Inject
+  public ServiceDatabaseProviderImpl(Configuration configuration) {
+    this.configuration = configuration;
+  }
+
+  public DataSource getDatasource() {
+    ensureDataSource();
+    return dataSource;
+  }
+
+  private synchronized void ensureDataSource() {

Review comment:
       Just noting, for other GaaS tables we separate them by using a config prefix like `gobblin.service.mysqlDagStateStore.state.store.db.table`. And we do also use `state.store.db.` prefixed configs even for the `MySqlSpecStore`, which is not an implementation of a state store. But yeah that's not really the best pattern, so I think it's fine to have this one separate. If anything maybe we should change the spec store to use this datasource instead at some point.




-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [gobblin] codecov-commenter edited a comment on pull request #3327: [GOBBLIN-1457] Add persistence for troubleshooter in Gobblin service

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #3327:
URL: https://github.com/apache/gobblin/pull/3327#issuecomment-873274428


   # [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#3327](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (fbbd9a5) into [master](https://codecov.io/gh/apache/gobblin/commit/1d7671a8dea8638c7bfeb314883c31dbe256e238?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (1d7671a) will **increase** coverage by `1.87%`.
   > The diff coverage is `50.00%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/gobblin/pull/3327/graphs/tree.svg?width=650&height=150&src=pr&token=4MgURJ0bGc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3327      +/-   ##
   ============================================
   + Coverage     46.44%   48.31%   +1.87%     
   + Complexity    10122     7513    -2609     
   ============================================
     Files          2052     1421     -631     
     Lines         79677    55919   -23758     
     Branches       8895     6444    -2451     
   ============================================
   - Hits          37005    27017    -9988     
   + Misses        39232    26370   -12862     
   + Partials       3440     2532     -908     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...n/runtime/troubleshooter/JobIssueEventHandler.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSm9iSXNzdWVFdmVudEhhbmRsZXIuamF2YQ==) | `70.27% <40.00%> (-1.96%)` | :arrow_down: |
   | [...leshooter/InMemoryMultiContextIssueRepository.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSW5NZW1vcnlNdWx0aUNvbnRleHRJc3N1ZVJlcG9zaXRvcnkuamF2YQ==) | `60.00% <43.47%> (-35.24%)` | :arrow_down: |
   | [...che/gobblin/metastore/DatabaseJobHistoryStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL0RhdGFiYXNlSm9iSGlzdG9yeVN0b3JlLmphdmE=) | `77.77% <100.00%> (-0.49%)` | :arrow_down: |
   | [.../org/apache/gobblin/metastore/MysqlStateStore.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL015c3FsU3RhdGVTdG9yZS5qYXZh) | `8.16% <100.00%> (ø)` | |
   | [...ore/util/DatabaseJobHistoryStoreSchemaManager.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRhc3RvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0YXN0b3JlL3V0aWwvRGF0YWJhc2VKb2JIaXN0b3J5U3RvcmVTY2hlbWFNYW5hZ2VyLmphdmE=) | `29.31% <100.00%> (-2.36%)` | :arrow_down: |
   | [...g/apache/gobblin/runtime/troubleshooter/Issue.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvdHJvdWJsZXNob290ZXIvSXNzdWUuamF2YQ==) | `90.90% <100.00%> (+0.90%)` | :arrow_up: |
   | [...g/apache/gobblin/util/filters/RegexPathFilter.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi11dGlsaXR5L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3V0aWwvZmlsdGVycy9SZWdleFBhdGhGaWx0ZXIuamF2YQ==) | `72.72% <0.00%> (-16.17%)` | :arrow_down: |
   | [.../org/apache/gobblin/metrics/RootMetricContext.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1tZXRyaWNzLWxpYnMvZ29iYmxpbi1tZXRyaWNzLWJhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vbWV0cmljcy9Sb290TWV0cmljQ29udGV4dC5qYXZh) | `71.87% <0.00%> (-7.82%)` | :arrow_down: |
   | [...lin/util/filesystem/FileSystemInstrumentation.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi11dGlsaXR5L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3V0aWwvZmlsZXN5c3RlbS9GaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmphdmE=) | `85.71% <0.00%> (-7.15%)` | :arrow_down: |
   | [.../apache/gobblin/runtime/api/JobExecutionState.java](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvYXBpL0pvYkV4ZWN1dGlvblN0YXRlLmphdmE=) | `79.43% <0.00%> (-0.94%)` | :arrow_down: |
   | ... and [631 more](https://codecov.io/gh/apache/gobblin/pull/3327/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [1d7671a...fbbd9a5](https://codecov.io/gh/apache/gobblin/pull/3327?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org