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