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 2022/08/05 00:34:31 UTC

[GitHub] [gobblin] AndyJiang99 opened a new pull request, #3533: [ETL-13826] Add pagination for GaaS on server side

AndyJiang99 opened a new pull request, #3533:
URL: https://github.com/apache/gobblin/pull/3533

   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-XXX
   
   
   ### Description
   - [ ] Here are some details about my PR, including screenshots (if applicable):
   
   
   ### 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.

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

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


[GitHub] [gobblin] Will-Lo commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
Will-Lo commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r940514726


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/FlowSpecSearchObject.java:
##########
@@ -136,11 +147,11 @@ public String augmentBaseGetStatement(String baseStatement)
       }
     }
 
-    if (conditions.size() == 0) {
+    if (conditions.size() == 0 && (this.getGetAll() == null || !this.getGetAll())) {

Review Comment:
   Wouldn't an easier check be to check if limitAndOffset.size() == 0 ? I don't think you need an explicit boolean to determine when to get all in that case.



-- 
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] umustafi commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
umustafi commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r940664321


##########
gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-server/src/main/java/org/apache/gobblin/service/FlowConfigsV2Resource.java:
##########
@@ -125,9 +132,18 @@ public List<FlowConfig> getFilteredFlows(@Context PagingContext context,
       @Optional @QueryParam("isRunImmediately") Boolean isRunImmediately,
       @Optional @QueryParam("owningGroup") String owningGroup,
       @Optional @QueryParam("propertyFilter") String propertyFilter) {
-    FlowSpecSearchObject flowSpecSearchObject = new FlowSpecSearchObject(null, flowGroup, flowName,
-        templateUri, userToProxy, sourceIdentifier, destinationIdentifier, schedule, null,
-        isRunImmediately, owningGroup, propertyFilter);
+    FlowSpecSearchObject flowSpecSearchObject;
+    if (!context.hasCount() && !context.hasStart()){
+      flowSpecSearchObject = new FlowSpecSearchObject(null, flowGroup, flowName,
+          templateUri, userToProxy, sourceIdentifier, destinationIdentifier, schedule, null,
+          isRunImmediately, owningGroup, propertyFilter, -1, -1, null);
+    }
+    else {
+      flowSpecSearchObject = new FlowSpecSearchObject(null, flowGroup, flowName,
+          templateUri, userToProxy, sourceIdentifier, destinationIdentifier, schedule, null,
+          isRunImmediately, owningGroup, propertyFilter, context.getStart(), context.getCount(), null);

Review Comment:
   what do the start and count values represent? 



##########
gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreTest.java:
##########
@@ -240,6 +243,40 @@ public void testGetSpecWithTag() throws Exception {
     Assert.assertEquals(result.size(), 2);
   }
 
+  @Test (dependsOnMethods = "testGetSpec")
+  public void testGetFilterSpecPaginate() throws Exception {
+    FlowSpecSearchObject flowSpecSearchObject = FlowSpecSearchObject.builder().count(1).start(0).propertyFilter("filter.this.flow").build();
+    Collection<Spec> specs = this.specStore.getSpecs(flowSpecSearchObject);
+    Assert.assertEquals(specs.size(), 1);
+    Assert.assertTrue(specs.contains(this.flowSpec1));
+    Assert.assertFalse(specs.contains(this.flowSpec2));
+    Assert.assertFalse(specs.contains(this.flowSpec4));
+
+    flowSpecSearchObject = FlowSpecSearchObject.builder().count(1).start(1).propertyFilter("filter.this.flow").build();
+    specs = this.specStore.getSpecs(flowSpecSearchObject);
+    Assert.assertEquals(specs.size(), 1);
+    Assert.assertFalse(specs.contains(this.flowSpec1));
+    Assert.assertTrue(specs.contains(this.flowSpec2));
+    Assert.assertFalse(specs.contains(this.flowSpec4));
+
+    flowSpecSearchObject = FlowSpecSearchObject.builder().count(5).start(0).propertyFilter("filter.this.flow").build();
+    specs = this.specStore.getSpecs(flowSpecSearchObject);

Review Comment:
   its not very clear to me how the count and start values are changing the spec catalog size here. Is count the limit to number it adds? Is start the offset from the start of the flow catalog? It would be helpful to add a comment here to explain why a certain flow spec should not be contained here. ie: the start value appears to be changing which flow specs are added in the top two cases so you should make that clear. 



-- 
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] AndyJiang99 commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
AndyJiang99 commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r943038137


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/FlowSpecSearchObject.java:
##########
@@ -116,6 +119,13 @@ public String augmentBaseGetStatement(String baseStatement)
       conditions.add("owning_group = ?");
     }
 
+    if (this.getCount() > 0) {

Review Comment:
   I don't think restli guards against count == 0 or negative values
   `In order for the Rest.li framework to automatically construct Link objects, certain conditions must be met. For both previous and next links, the count in the request must be greater than 0. For links to the previous page, start must be greater than 0.` from the restli server documentation https://linkedin.github.io/rest.li/user_guide/restli_server
   
   We are guarding against it on the Gobblin side by doing the check for inserting the `LIMIT` and `OFFSET` only when the count and start inputted by the user is > 0



-- 
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] Will-Lo commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
Will-Lo commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r940514917


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStore.java:
##########
@@ -138,7 +139,9 @@ protected SqlStatements createSqlStatements() {
   /** Support search, unlike base class (presumably via a {@link org.apache.gobblin.runtime.api.FlowSpecSearchObject}). */
   @Override
   public Collection<Spec> getSpecsImpl(SpecSearchObject specSearchObject) throws IOException {
-    return withPreparedStatement(specSearchObject.augmentBaseGetStatement(this.sqlStatements.getStatementBase), statement -> {
+    Boolean ifGetAll = ((FlowSpecSearchObject)specSearchObject).getGetAll();

Review Comment:
   Is this necessary if we just trust that null (-1) start and count values wouldn't add themselves to the statement, so we wouldn't have to do this check since it would just be a sql statement without the OFFSET and LIMIT?



-- 
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] Will-Lo commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
Will-Lo commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r940503943


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/FlowSpecSearchObject.java:
##########
@@ -136,11 +147,11 @@ public String augmentBaseGetStatement(String baseStatement)
       }
     }
 
-    if (conditions.size() == 0) {

Review Comment:
   Wouldn't an easier check be to check if limitAndOffset.size() == 0 ? I don't think you need an explicit boolean to determine when to get all in that case.



##########
gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-server/src/main/java/org/apache/gobblin/service/FlowConfigsV2Resource.java:
##########
@@ -125,9 +132,18 @@ public List<FlowConfig> getFilteredFlows(@Context PagingContext context,
       @Optional @QueryParam("isRunImmediately") Boolean isRunImmediately,
       @Optional @QueryParam("owningGroup") String owningGroup,
       @Optional @QueryParam("propertyFilter") String propertyFilter) {
-    FlowSpecSearchObject flowSpecSearchObject = new FlowSpecSearchObject(null, flowGroup, flowName,
-        templateUri, userToProxy, sourceIdentifier, destinationIdentifier, schedule, null,

Review Comment:
   Good to add a comment to specify what this check is doing. Also define the behavior if the user specifies one and not the other



##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStore.java:
##########
@@ -138,7 +139,9 @@ protected SqlStatements createSqlStatements() {
   /** Support search, unlike base class (presumably via a {@link org.apache.gobblin.runtime.api.FlowSpecSearchObject}). */
   @Override
   public Collection<Spec> getSpecsImpl(SpecSearchObject specSearchObject) throws IOException {
-    return withPreparedStatement(specSearchObject.augmentBaseGetStatement(this.sqlStatements.getStatementBase), statement -> {

Review Comment:
   Is this necessary if we just trust that null (-1) start and count values wouldn't add themselves to the statement, so we wouldn't have to do this check since it would just be a sql statement without the OFFSET and LIMIT?



##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/FlowSpecSearchObject.java:
##########
@@ -191,5 +202,12 @@ public void completePreparedStatement(PreparedStatement statement)
     if (this.getOwningGroup() != null) {
       statement.setString(++i, this.getOwningGroup());
     }
+
+    if (this.getCount() != 0) {

Review Comment:
   If you define the null value here to be -1 which I see above, your boolean check should represent that value. 



-- 
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] AndyJiang99 commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
AndyJiang99 commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r940551812


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStore.java:
##########
@@ -138,7 +139,9 @@ protected SqlStatements createSqlStatements() {
   /** Support search, unlike base class (presumably via a {@link org.apache.gobblin.runtime.api.FlowSpecSearchObject}). */
   @Override
   public Collection<Spec> getSpecsImpl(SpecSearchObject specSearchObject) throws IOException {
-    return withPreparedStatement(specSearchObject.augmentBaseGetStatement(this.sqlStatements.getStatementBase), statement -> {
+    Boolean ifGetAll = ((FlowSpecSearchObject)specSearchObject).getGetAll();

Review Comment:
   I think we may need to keep this logic because the ```GET_STATEMENT_BASE``` has an additional WHERE portion in the MySQL statement compared to the ```GET_ALL_STATEMENT```. If we just use ```this.sqlStatements.getStatementBase``` then the MySQL statement will be incorrect because it has a hanging WHERE portion



-- 
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] AndyJiang99 commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
AndyJiang99 commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r940551812


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStore.java:
##########
@@ -138,7 +139,9 @@ protected SqlStatements createSqlStatements() {
   /** Support search, unlike base class (presumably via a {@link org.apache.gobblin.runtime.api.FlowSpecSearchObject}). */
   @Override
   public Collection<Spec> getSpecsImpl(SpecSearchObject specSearchObject) throws IOException {
-    return withPreparedStatement(specSearchObject.augmentBaseGetStatement(this.sqlStatements.getStatementBase), statement -> {
+    Boolean ifGetAll = ((FlowSpecSearchObject)specSearchObject).getGetAll();

Review Comment:
   I think we may need to keep this logic because the GET_STATEMENT_BASE has an additional WHERE portion in the MySQL statement compared to the GET_ALL_STATEMENT. If we just use ```this.sqlStatements.getStatementBase``` then the MySQL statement will be incorrect because it has a hanging WHERE portion



-- 
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] Will-Lo commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
Will-Lo commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r942896185


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/FlowSpecSearchObject.java:
##########
@@ -116,6 +119,13 @@ public String augmentBaseGetStatement(String baseStatement)
       conditions.add("owning_group = ?");
     }
 
+    if (this.getCount() > 0) {

Review Comment:
   Out of curiosity, do we/restli guard against count == 0 or negative values?



-- 
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] Will-Lo commented on a diff in pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
Will-Lo commented on code in PR #3533:
URL: https://github.com/apache/gobblin/pull/3533#discussion_r947145973


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/spec_catalog/FlowCatalog.java:
##########
@@ -312,6 +312,14 @@ public Collection<Spec> getAllSpecs() {
     }
   }
 
+  public Collection<Spec> getAllSpecs(int start, int count) {

Review Comment:
   Add javadocs



##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/spec_catalog/FlowCatalog.java:
##########
@@ -312,6 +312,14 @@ public Collection<Spec> getAllSpecs() {
     }
   }
 
+  public Collection<Spec> getAllSpecs(int start, int count) {
+    try {
+      return specStore.getSpecs(start, count);
+    } catch (IOException e) {
+      throw new RuntimeException("Cannot retrieve all specs from Spec stores", e);

Review Comment:
   technicaly the exception here would be, cannot retrieve specs from <start> to <start + count> from Spec stores



##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/FlowSpecSearchObject.java:
##########
@@ -181,7 +190,7 @@ public void completePreparedStatement(PreparedStatement statement)
     }
 
     if (this.getSchedule() != null) {
-      statement.setString(++i, this.getModifiedTimestamp());
+      statement.setString(++i, this.getSchedule());

Review Comment:
   Good catch :) 



##########
gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-client/src/main/java/org/apache/gobblin/service/FlowConfigV2Client.java:
##########
@@ -224,6 +237,25 @@ public Collection<FlowConfig> getFlowConfigs(String flowGroup, String flowName,
     return response.getEntity().getElements();
   }
 
+  /**
+   * Get all {@link FlowConfig}s that matches the provided parameters. All the parameters are optional.
+   * If a parameter is null, it is ignored. {@see FlowConfigV2Resource#getFilteredFlows}
+   */
+  public Collection<FlowConfig> getFlowConfigs(String flowGroup, String flowName, String templateUri, String userToProxy,
+      String sourceIdentifier, String destinationIdentifier, String schedule, Boolean isRunImmediately, String owningGroup,
+      String propertyFilter, int start, int count) throws RemoteInvocationException {
+    LOG.debug("getFilteredFlows pagination called");

Review Comment:
   Same thing here



##########
gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-client/src/main/java/org/apache/gobblin/service/FlowConfigV2Client.java:
##########
@@ -205,6 +205,19 @@ public Collection<FlowConfig> getAllFlowConfigs() throws RemoteInvocationExcepti
     return response.getEntity().getElements();
   }
 
+  /**
+   * Get all {@link FlowConfig}s
+   * @return all {@link FlowConfig}s within the range of start + count - 1, inclusive
+   * @throws RemoteInvocationException
+   */
+  public Collection<FlowConfig> getAllFlowConfigs(int start, int count) throws RemoteInvocationException {
+    LOG.debug("getAllFlowConfigs with pagination called");

Review Comment:
   I know it's just a debug log but it's good to get into the habit of adding context into your logs, for example the flowName, flowGroup, start, count. This is useful when we need to grep and provides us information to debug off of.



-- 
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 #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

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

   # [Codecov](https://codecov.io/gh/apache/gobblin/pull/3533?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 [#3533](https://codecov.io/gh/apache/gobblin/pull/3533?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (29d8178) into [master](https://codecov.io/gh/apache/gobblin/commit/9ce1e65aa36674742877b5aa2083412d85b5764f?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9ce1e65) will **decrease** coverage by `3.28%`.
   > The diff coverage is `n/a`.
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3533      +/-   ##
   ============================================
   - Coverage     46.69%   43.40%   -3.29%     
   + Complexity    10432     2040    -8392     
   ============================================
     Files          2083      406    -1677     
     Lines         81516    17526   -63990     
     Branches       9100     2141    -6959     
   ============================================
   - Hits          38061     7608   -30453     
   + Misses        39944     9069   -30875     
   + Partials       3511      849    -2662     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/gobblin/pull/3533?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...a/org/apache/gobblin/cluster/GobblinHelixTask.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1jbHVzdGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL2NsdXN0ZXIvR29iYmxpbkhlbGl4VGFzay5qYXZh) | `60.21% <0.00%> (-2.16%)` | :arrow_down: |
   | [...org/apache/gobblin/service/FlowConfigV2Client.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1yZXN0bGkvZ29iYmxpbi1mbG93LWNvbmZpZy1zZXJ2aWNlL2dvYmJsaW4tZmxvdy1jb25maWctc2VydmljZS1jbGllbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vc2VydmljZS9GbG93Q29uZmlnVjJDbGllbnQuamF2YQ==) | | |
   | [...obblin/service/FlowConfigResourceLocalHandler.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1yZXN0bGkvZ29iYmxpbi1mbG93LWNvbmZpZy1zZXJ2aWNlL2dvYmJsaW4tZmxvdy1jb25maWctc2VydmljZS1zZXJ2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vc2VydmljZS9GbG93Q29uZmlnUmVzb3VyY2VMb2NhbEhhbmRsZXIuamF2YQ==) | | |
   | [.../apache/gobblin/service/FlowConfigsV2Resource.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1yZXN0bGkvZ29iYmxpbi1mbG93LWNvbmZpZy1zZXJ2aWNlL2dvYmJsaW4tZmxvdy1jb25maWctc2VydmljZS1zZXJ2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2dvYmJsaW4vc2VydmljZS9GbG93Q29uZmlnc1YyUmVzb3VyY2UuamF2YQ==) | | |
   | [...ache/gobblin/runtime/api/FlowSpecSearchObject.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvYXBpL0Zsb3dTcGVjU2VhcmNoT2JqZWN0LmphdmE=) | | |
   | [...che/gobblin/runtime/api/InstrumentedSpecStore.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvYXBpL0luc3RydW1lbnRlZFNwZWNTdG9yZS5qYXZh) | | |
   | [...ache/gobblin/runtime/spec\_catalog/FlowCatalog.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvc3BlY19jYXRhbG9nL0Zsb3dDYXRhbG9nLmphdmE=) | | |
   | [...apache/gobblin/runtime/spec\_store/FSSpecStore.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvc3BlY19zdG9yZS9GU1NwZWNTdG9yZS5qYXZh) | | |
   | [...gobblin/runtime/spec\_store/MysqlBaseSpecStore.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1ydW50aW1lL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3J1bnRpbWUvc3BlY19zdG9yZS9NeXNxbEJhc2VTcGVjU3RvcmUuamF2YQ==) | | |
   | [...estli/GobblinServiceFlowConfigResourceHandler.java](https://codecov.io/gh/apache/gobblin/pull/3533/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-Z29iYmxpbi1zZXJ2aWNlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9nb2JibGluL3NlcnZpY2UvbW9kdWxlcy9yZXN0bGkvR29iYmxpblNlcnZpY2VGbG93Q29uZmlnUmVzb3VyY2VIYW5kbGVyLmphdmE=) | | |
   | ... and [1673 more](https://codecov.io/gh/apache/gobblin/pull/3533/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) | |
   
   :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?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] ZihanLi58 merged pull request #3533: [GOBBLIN-1675] Add pagination for GaaS on server side

Posted by GitBox <gi...@apache.org>.
ZihanLi58 merged PR #3533:
URL: https://github.com/apache/gobblin/pull/3533


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