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 2020/10/16 05:45:16 UTC

[GitHub] [incubator-gobblin] autumnust opened a new pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

autumnust opened a new pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128


   Dear Gobblin maintainers,
   
   Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
   
   
   ### JIRA
   - [ ] My PR addresses the following [Gobblin JIRA](https://issues.apache.org/jira/browse/GOBBLIN/) issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"
       - https://issues.apache.org/jira/browse/GOBBLIN-1290
   
   ### Description
   - [ ] Here are some details about my PR, including screenshots (if applicable):
   Here is a brief intro for the memory consumption within the streaming ingestor: 
   
   Physical Memory (Usually 4G)
   - 50% for ORC writer (2G): This is not a hard cap, it is primarily used for scaling down the threshold for each writer registered in the memory manager. So it is possible to exceed this limit if the number of writers increases when, for example, it needs to deal with portions of late data. 
   During normal traffic (non catching up/backfilling mode), having 2~3 writers running in parallel is quite normal due to hourly-boundary interval and late data arrival.
   - Metrics objects and other Gobblin overhead : Usually around ~400MB, Typical consumer:
      - TaskExecutor
      - Kafka Extractor 
   Non heap memory overhead (600MB, configurable) 
   	
   	
   Given the approximate data points above, we should have no more than ~500MB raw buffer space for each writer. Given the default number of rows between memory check (5000), that means record size should be smaller than 100K. The record size we measured in the streaming pipeline comes from serialized key size plus serialized value size, when they are stored in TreeWriter, the value could be a bit more larger given the object overhead.  Therefore there's a scaling factor being used to indicate this. 
   
   The equation for the auto-tuning is: 
   #rowBetweenCheck = actualHeapSize * ratio (50%) / parallelsimOfWriters / (serializedRecordSize * scalingFactor) 
   
   Tested with several heavy topics internally and it works well. 
   
   Other than the major changes, also fix two small issues: 
   - build.gradle in gobblin-service module hits a problem and resolved by referring to: https://stackoverflow.com/questions/36079404/errorcannot-configure-the-publishing-extension-after-it-has-been-accessed 
   - update gitignore file
   
   ### Tests
   - [ ] My PR adds the following unit tests __OR__ does not need testing for this extremely good reason:
   
   
   ### Commits
   - [ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "[How to write a good git commit message](http://chris.beams.io/posts/git-commit/)":
       1. Subject is separated from body by a blank line
       2. Subject is limited to 50 characters
       3. Subject does not end with a period
       4. Subject uses the imperative mood ("add", not "adding")
       5. Body wraps at 72 characters
       6. Body explains "what" and "why", not "how"
   
   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [incubator-gobblin] autumnust closed pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

Posted by GitBox <gi...@apache.org>.
autumnust closed pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128


   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [incubator-gobblin] codecov-io commented on pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

Posted by GitBox <gi...@apache.org>.
codecov-io commented on pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128#issuecomment-730508776


   # [Codecov](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=h1) Report
   > Merging [#3128](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=desc) (013da4b) into [master](https://codecov.io/gh/apache/incubator-gobblin/commit/6702d391766a499968fbe1e7f70c8f83b37916b8?el=desc) (6702d39) will **decrease** coverage by `4.26%`.
   > The diff coverage is `85.71%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/graphs/tree.svg?width=650&height=150&src=pr&token=4MgURJ0bGc)](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=tree)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3128      +/-   ##
   ============================================
   - Coverage     45.97%   41.71%   -4.27%     
   + Complexity     9592     8749     -843     
   ============================================
     Files          1993     1993              
     Lines         75995    76013      +18     
     Branches       8462     8464       +2     
   ============================================
   - Hits          34940    31707    -3233     
   - Misses        37786    41300    +3514     
   + Partials       3269     3006     -263     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | [...pache/gobblin/configuration/ConfigurationKeys.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vY29uZmlndXJhdGlvbi9Db25maWd1cmF0aW9uS2V5cy5qYXZh) | `0.00% <ø> (ø)` | `0.00 <0.00> (ø)` | |
   | [...in/source/extractor/extract/kafka/KafkaSource.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4ta2Fma2EtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NvdXJjZS9leHRyYWN0b3IvZXh0cmFjdC9rYWZrYS9LYWZrYVNvdXJjZS5qYXZh) | `1.33% <ø> (ø)` | `1.00 <0.00> (ø)` | |
   | [...lin/source/extractor/extract/kafka/KafkaUtils.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4ta2Fma2EtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NvdXJjZS9leHRyYWN0b3IvZXh0cmFjdC9rYWZrYS9LYWZrYVV0aWxzLmphdmE=) | `21.56% <0.00%> (ø)` | `5.00 <0.00> (ø)` | |
   | [...va/org/apache/gobblin/writer/GobblinOrcWriter.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4tb3JjL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3dyaXRlci9Hb2JibGluT3JjV3JpdGVyLmphdmE=) | `62.03% <100.00%> (+8.70%)` | `21.00 <4.00> (+6.00)` | |
   | [.../org/apache/gobblin/util/filters/HiddenFilter.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi11dGlsaXR5L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3V0aWwvZmlsdGVycy9IaWRkZW5GaWx0ZXIuamF2YQ==) | `0.00% <0.00%> (-100.00%)` | `0.00% <0.00%> (-5.00%)` | |
   | [...g/apache/gobblin/cluster/HelixMessageSubTypes.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1jbHVzdGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2NsdXN0ZXIvSGVsaXhNZXNzYWdlU3ViVHlwZXMuamF2YQ==) | `0.00% <0.00%> (-100.00%)` | `0.00% <0.00%> (-1.00%)` | |
   | [...gobblin/runtime/mapreduce/GobblinOutputFormat.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvbWFwcmVkdWNlL0dvYmJsaW5PdXRwdXRGb3JtYXQuamF2YQ==) | `0.00% <0.00%> (-100.00%)` | `0.00% <0.00%> (-2.00%)` | |
   | [.../gobblin/compaction/suite/CompactionSuiteBase.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1jb21wYWN0aW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2NvbXBhY3Rpb24vc3VpdGUvQ29tcGFjdGlvblN1aXRlQmFzZS5qYXZh) | `0.00% <0.00%> (-100.00%)` | `0.00% <0.00%> (-10.00%)` | |
   | [...obblin/compaction/source/CompactionFailedTask.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1jb21wYWN0aW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2NvbXBhY3Rpb24vc291cmNlL0NvbXBhY3Rpb25GYWlsZWRUYXNrLmphdmE=) | `0.00% <0.00%> (-100.00%)` | `0.00% <0.00%> (-3.00%)` | |
   | [...n/cluster/event/ClusterManagerShutdownRequest.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1jbHVzdGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2NsdXN0ZXIvZXZlbnQvQ2x1c3Rlck1hbmFnZXJTaHV0ZG93blJlcXVlc3QuamF2YQ==) | `0.00% <0.00%> (-100.00%)` | `0.00% <0.00%> (-1.00%)` | |
   | ... and [154 more](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree-more) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=footer). Last update [6702d39...013da4b](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [incubator-gobblin] sv2000 commented on a change in pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

Posted by GitBox <gi...@apache.org>.
sv2000 commented on a change in pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128#discussion_r510266907



##########
File path: gobblin-modules/gobblin-orc/src/main/java/org/apache/gobblin/writer/GobblinOrcWriter.java
##########
@@ -59,6 +63,18 @@
   static final String ORC_WRITER_PREFIX = "orcWriter.";
   private static final String ORC_WRITER_BATCH_SIZE = ORC_WRITER_PREFIX + "batchSize";
   private static final int DEFAULT_ORC_WRITER_BATCH_SIZE = 1000;
+  @VisibleForTesting
+  static final String ORC_WRITER_AUTO_TUNE_ENABLED = ORC_WRITER_PREFIX + "autoTuneEnabled";
+  private static final boolean ORC_WRITER_AUTO_TUNE_DEFAULT = false;
+  private static final long EXEMPLIFIED_RECORD_SIZE_IN_BYTES = 1024;
+  private static final int PARALLELISM_WRITERS = 3;

Review comment:
       MAX_WRITER_PARALLELISM or ESTIMATED_WRITER_PARALLELISM? Also add a comment explaining what this config is?

##########
File path: gobblin-modules/gobblin-orc/src/main/java/org/apache/gobblin/writer/GobblinOrcWriter.java
##########
@@ -77,10 +93,61 @@
   private final int batchSize;
   private final Schema avroSchema;
 
+  /**
+   * There are couple of parameters in ORC writer that requires manual tuning based on record size given that executor
+   * for running these ORC writers has limited heap space. This helper function wrap them and has side effect for the
+   * argument {@param properties}.
+   *
+   * Assumption for current implementation:

Review comment:
       It would be good to not make any assumptions about the mode of operation inside the GobblinOrcWriter. I see the auto-tuning capability to be useful in other modes of operation too: such as MR, Gobblin-on-K8s, standalone etc. 

##########
File path: gobblin-modules/gobblin-orc/src/main/java/org/apache/gobblin/writer/GobblinOrcWriter.java
##########
@@ -59,6 +63,18 @@
   static final String ORC_WRITER_PREFIX = "orcWriter.";
   private static final String ORC_WRITER_BATCH_SIZE = ORC_WRITER_PREFIX + "batchSize";
   private static final int DEFAULT_ORC_WRITER_BATCH_SIZE = 1000;
+  @VisibleForTesting
+  static final String ORC_WRITER_AUTO_TUNE_ENABLED = ORC_WRITER_PREFIX + "autoTuneEnabled";
+  private static final boolean ORC_WRITER_AUTO_TUNE_DEFAULT = false;
+  private static final long EXEMPLIFIED_RECORD_SIZE_IN_BYTES = 1024;
+  private static final int PARALLELISM_WRITERS = 3;
+
+  // The serialized record size passed from AVG_RECORD_SIZE is smaller than the actual in-memory representation
+  // of a record. This is just the number represents how many times that the actual buffer storing record is larger
+  // than the serialized size passed down from upstream constructs.
+  @VisibleForTesting
+  static final String RECORD_SIZE_SCALE_FACTOR = "recordSize.scaleFactor";

Review comment:
       Will this config be schema-specific? Do we expect to see differences between wide rows vs narrow rows? Or is a single scale factor good enough to be widely applicable? 

##########
File path: gobblin-modules/gobblin-orc/src/main/java/org/apache/gobblin/writer/GobblinOrcWriter.java
##########
@@ -77,10 +93,61 @@
   private final int batchSize;
   private final Schema avroSchema;
 
+  /**
+   * There are couple of parameters in ORC writer that requires manual tuning based on record size given that executor
+   * for running these ORC writers has limited heap space. This helper function wrap them and has side effect for the
+   * argument {@param properties}.
+   *
+   * Assumption for current implementation:
+   * - Running in Gobblin-on-YARN mode to enable this feature as all the memory settings here are
+   * relevant to the resources requested from YARN.
+   * - Record size is provided by AVG_RECORD_SIZE which is a kafka related attribute. For other sources, upstream

Review comment:
       Rather than assume that it is a Kafka related attribute, we could have source/extractor set the AVG_RECORD_SIZE for the writer. I guess that is what you are saying in the second part of the comment, but it would be less confusing if we avoid mentioning that this is a Kafka-related attribute. 

##########
File path: gobblin-modules/gobblin-orc/src/main/java/org/apache/gobblin/writer/GobblinOrcWriter.java
##########
@@ -77,10 +93,61 @@
   private final int batchSize;
   private final Schema avroSchema;
 
+  /**
+   * There are couple of parameters in ORC writer that requires manual tuning based on record size given that executor
+   * for running these ORC writers has limited heap space. This helper function wrap them and has side effect for the
+   * argument {@param properties}.
+   *
+   * Assumption for current implementation:
+   * - Running in Gobblin-on-YARN mode to enable this feature as all the memory settings here are
+   * relevant to the resources requested from YARN.
+   * - Record size is provided by AVG_RECORD_SIZE which is a kafka related attribute. For other sources, upstream
+   * constructs should provide its representation of record size.
+   *
+   * One should overwrite the behavior if plugging into systems where assumptions above don't hold.
+   */
+  protected void autoTunedOrcWriterParams(State properties) {
+    double writerRatio = properties.getPropAsDouble(OrcConf.MEMORY_POOL.name(), (double) OrcConf.MEMORY_POOL.getDefaultValue());
+    long availableHeapPerWriter = Math.round(availableHeapSize(properties) * writerRatio / PARALLELISM_WRITERS);
+
+    // Upstream constructs will need to set this value properly
+    long estimatedRecordSize = getEstimatedRecordSize(properties);
+    long rowsBetweenCheck = availableHeapPerWriter * 1024 / estimatedRecordSize;
+    properties.setProp(OrcConf.ROWS_BETWEEN_CHECKS.name(),
+        Math.min(rowsBetweenCheck, (int) OrcConf.ROWS_BETWEEN_CHECKS.getDefaultValue()));
+    // Row batch size should be smaller than row_between_check, 4 is just a magic number picked here.
+    long batchSize = Math.min(rowsBetweenCheck / 4, DEFAULT_ORC_WRITER_BATCH_SIZE);
+    properties.setProp(ORC_WRITER_BATCH_SIZE, batchSize);
+    log.info("Tuned the parameter " + OrcConf.ROWS_BETWEEN_CHECKS.name() + " to be:" + rowsBetweenCheck + ","
+        + ORC_WRITER_BATCH_SIZE + " to be:" + batchSize);
+  }
+
+  /**
+   * Calculate the heap size in MB available for ORC writers.
+   */
+  protected long availableHeapSize(State Properties) {
+    // Calculate the recommended size as the threshold for memory check
+    long physicalMem = Math.round(Properties.getPropAsLong(CONTAINER_MEMORY_MBS_KEY, 4096)

Review comment:
       We should avoid referencing Yarn specific configurations directly here. One possible solution would be to add indirection here by introducing OrcWriter specific memory configs e.g. gobblin.orc.writer.jvm.memory.mbs. This config can then be set to the Yarn memory mbs config value in the pull file. Other modes can set the writer memory configs accordingly. This introduces additional configs, but we avoid making assumptions about the execution mode in the writer. 




----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [incubator-gobblin] sv2000 commented on pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

Posted by GitBox <gi...@apache.org>.
sv2000 commented on pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128#issuecomment-725052414


   @lesun check the travis failure.
   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [incubator-gobblin] autumnust closed pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

Posted by GitBox <gi...@apache.org>.
autumnust closed pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128


   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [incubator-gobblin] codecov-io edited a comment on pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

Posted by GitBox <gi...@apache.org>.
codecov-io edited a comment on pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128#issuecomment-730508776


   # [Codecov](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=h1) Report
   > Merging [#3128](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=desc) (013da4b) into [master](https://codecov.io/gh/apache/incubator-gobblin/commit/6702d391766a499968fbe1e7f70c8f83b37916b8?el=desc) (6702d39) will **increase** coverage by `0.01%`.
   > The diff coverage is `85.71%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/graphs/tree.svg?width=650&height=150&src=pr&token=4MgURJ0bGc)](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=tree)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3128      +/-   ##
   ============================================
   + Coverage     45.97%   45.99%   +0.01%     
   - Complexity     9592     9599       +7     
   ============================================
     Files          1993     1993              
     Lines         75995    76013      +18     
     Branches       8462     8464       +2     
   ============================================
   + Hits          34940    34959      +19     
     Misses        37786    37786              
   + Partials       3269     3268       -1     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | [...pache/gobblin/configuration/ConfigurationKeys.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vY29uZmlndXJhdGlvbi9Db25maWd1cmF0aW9uS2V5cy5qYXZh) | `0.00% <ø> (ø)` | `0.00 <0.00> (ø)` | |
   | [...in/source/extractor/extract/kafka/KafkaSource.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4ta2Fma2EtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NvdXJjZS9leHRyYWN0b3IvZXh0cmFjdC9rYWZrYS9LYWZrYVNvdXJjZS5qYXZh) | `1.33% <ø> (ø)` | `1.00 <0.00> (ø)` | |
   | [...lin/source/extractor/extract/kafka/KafkaUtils.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4ta2Fma2EtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NvdXJjZS9leHRyYWN0b3IvZXh0cmFjdC9rYWZrYS9LYWZrYVV0aWxzLmphdmE=) | `21.56% <0.00%> (ø)` | `5.00 <0.00> (ø)` | |
   | [...va/org/apache/gobblin/writer/GobblinOrcWriter.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1tb2R1bGVzL2dvYmJsaW4tb3JjL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3dyaXRlci9Hb2JibGluT3JjV3JpdGVyLmphdmE=) | `62.03% <100.00%> (+8.70%)` | `21.00 <4.00> (+6.00)` | |
   | [.../org/apache/gobblin/cluster/GobblinTaskRunner.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1jbHVzdGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2NsdXN0ZXIvR29iYmxpblRhc2tSdW5uZXIuamF2YQ==) | `63.46% <0.00%> (-0.33%)` | `35.00% <0.00%> (+1.00%)` | :arrow_down: |
   | [.../apache/gobblin/runtime/api/JobExecutionState.java](https://codecov.io/gh/apache/incubator-gobblin/pull/3128/diff?src=pr&el=tree#diff-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvYXBpL0pvYkV4ZWN1dGlvblN0YXRlLmphdmE=) | `80.37% <0.00%> (+0.93%)` | `24.00% <0.00%> (ø%)` | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=footer). Last update [6702d39...013da4b](https://codecov.io/gh/apache/incubator-gobblin/pull/3128?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


----------------------------------------------------------------
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:
users@infra.apache.org



[GitHub] [incubator-gobblin] asfgit closed pull request #3128: [GOBBLIN-1290] Auto-tune ORC writer parameters

Posted by GitBox <gi...@apache.org>.
asfgit closed pull request #3128:
URL: https://github.com/apache/incubator-gobblin/pull/3128


   


----------------------------------------------------------------
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:
users@infra.apache.org