[ 
https://issues.apache.org/jira/browse/TINKERPOP-2927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17713972#comment-17713972
 ] 

ASF GitHub Bot commented on TINKERPOP-2927:
-------------------------------------------

codecov-commenter commented on PR #2027:
URL: https://github.com/apache/tinkerpop/pull/2027#issuecomment-1514335181

   ## 
[Codecov](https://codecov.io/gh/apache/tinkerpop/pull/2027?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 
[#2027](https://codecov.io/gh/apache/tinkerpop/pull/2027?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (173444a) into 
[3.6-dev](https://codecov.io/gh/apache/tinkerpop/commit/d0e02f1e48635316794593d71f4517c996825221?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (d0e02f1) will **decrease** coverage by `4.89%`.
   > The diff coverage is `n/a`.
   
   ```diff
   @@              Coverage Diff              @@
   ##             3.6-dev    #2027      +/-   ##
   =============================================
   - Coverage      69.39%   64.51%   -4.89%     
   =============================================
     Files            878       25     -853     
     Lines          42103     3793   -38310     
     Branches        5643        0    -5643     
   =============================================
   - Hits           29219     2447   -26772     
   + Misses         10891     1179    -9712     
   + Partials        1993      167    -1826     
   ```
   
   
   [see 853 files with indirect coverage 
changes](https://codecov.io/gh/apache/tinkerpop/pull/2027/indirect-changes?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)
   




> Make all Steps extensible and overridable 
> ------------------------------------------
>
>                 Key: TINKERPOP-2927
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2927
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: driver
>    Affects Versions: 3.6.2
>            Reporter: Oleksandr Porunov
>            Priority: Minor
>
> Related issue (fixed): https://issues.apache.org/jira/browse/TINKERPOP-2924
>  
> Working on optimization strategies sometimes require replacing steps with 
> extended version of those steps. At this moment not all steps can be extended 
> due to being `final` (like `ProjectStep`, `PropertyKeyStep`, 
> `PropertyValueStep`, `RangeLocalStep`, `SumLocalStep`, and many more). Thus, 
> it requires creating a similar step and duplicate some logic there instead of 
> simply extending a specific step.
>  
> For those steps which are non-final there are sometimes private fields 
> without any getter methods (for example `private CallbackRegistry<Event> 
> callbackRegistry` in `DropStep` is `private`. Thus, the caller needs to use 
> Reflaction API to retrieve it's value).
>  
> In JanusGraph we replace some steps with the extended version of those steps. 
> For example, we completely overwrite `flatMap` step of `PropertiesStep` which 
> is an anti-pattern, but in the case when it's hard to extend specific logic 
> parts such anti-pattern might be a a good solution I guess.
>  
> I think it would make sense to let Graph developers to extend any step and 
> has access to it's fields / utility methods.
> In such case we could do similar with `ProjectStep` and make it query data in 
> parallel (see issue: [https://github.com/JanusGraph/janusgraph/issues/3559] ).
>  
> I'm also good not doing it in case anyone can suggest other patterns to 
> follow for those optimizations instead of overwriting logic. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to