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

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

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

   # 
[Codecov](https://codecov.io/gh/apache/tinkerpop/pull/1915?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 
[#1915](https://codecov.io/gh/apache/tinkerpop/pull/1915?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (f8fa435) into 
[master](https://codecov.io/gh/apache/tinkerpop/commit/524cdfd616d2039fbe72a389bab8a9127a6e20dd?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (524cdfd) will **decrease** coverage by `4.11%`.
   > The diff coverage is `100.00%`.
   
   > :exclamation: Current head f8fa435 differs from pull request most recent 
head 52d777e. Consider uploading reports for the commit 52d777e to get more 
accurate results
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1915      +/-   ##
   ============================================
   - Coverage     68.56%   64.45%   -4.12%     
   ============================================
     Files           856       24     -832     
     Lines         41198     3716   -37482     
     Branches       5626        0    -5626     
   ============================================
   - Hits          28246     2395   -25851     
   + Misses        10963     1152    -9811     
   + Partials       1989      169    -1820     
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/tinkerpop/pull/1915?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 | Coverage Δ | |
   |---|---|---|
   | 
[gremlin-go/driver/request.go](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1nby9kcml2ZXIvcmVxdWVzdC5nbw==)
 | `85.32% <100.00%> (+0.55%)` | :arrow_up: |
   | 
[...raversal/step/sideEffect/LambdaSideEffectStep.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9wcm9jZXNzL3RyYXZlcnNhbC9zdGVwL3NpZGVFZmZlY3QvTGFtYmRhU2lkZUVmZmVjdFN0ZXAuamF2YQ==)
 | | |
   | 
[...in/process/traversal/step/sideEffect/FailStep.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9wcm9jZXNzL3RyYXZlcnNhbC9zdGVwL3NpZGVFZmZlY3QvRmFpbFN0ZXAuamF2YQ==)
 | | |
   | 
[.../strategy/optimization/MatchPredicateStrategy.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9wcm9jZXNzL3RyYXZlcnNhbC9zdHJhdGVneS9vcHRpbWl6YXRpb24vTWF0Y2hQcmVkaWNhdGVTdHJhdGVneS5qYXZh)
 | | |
   | 
[...in/structure/io/binary/TypeSerializerRegistry.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9zdHJ1Y3R1cmUvaW8vYmluYXJ5L1R5cGVTZXJpYWxpemVyUmVnaXN0cnkuamF2YQ==)
 | | |
   | 
[...in/server/handler/WsGremlinTextRequestDecoder.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1zZXJ2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL3NlcnZlci9oYW5kbGVyL1dzR3JlbWxpblRleHRSZXF1ZXN0RGVjb2Rlci5qYXZh)
 | | |
   | 
[...tinkerpop/gremlin/util/iterator/MultiIterator.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi91dGlsL2l0ZXJhdG9yL011bHRpSXRlcmF0b3IuamF2YQ==)
 | | |
   | 
[...rg/apache/tinkerpop/gremlin/structure/Element.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9zdHJ1Y3R1cmUvRWxlbWVudC5qYXZh)
 | | |
   | 
[.../tinkerpop/gremlin/process/traversal/Contains.java](https://codecov.io/gh/apache/tinkerpop/pull/1915/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9wcm9jZXNzL3RyYXZlcnNhbC9Db250YWlucy5qYXZh)
 | | |
   | ... and [826 
more](https://codecov.io/gh/apache/tinkerpop/pull/1915/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)
   




> Refactor SimpleSocketServer to be accessible to all GLV's
> ---------------------------------------------------------
>
>                 Key: TINKERPOP-2819
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2819
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: driver
>            Reporter: Cole Greer
>            Priority: Major
>
> Currently there is a large gap in the testing capabilities of the java driver 
> compared to the other GLV's. Part of this gap is the java driver has 
> SimpleSocketServer which provides a useful platform to write tests which 
> require specific response behaviour from the server. Having such a tool for 
> all of the GLV's would allow for testing of many more potential failure cases 
> as well as taking a step towards standardizing the testing approach for all 
> GLV's.
> This work can be divided into 2 main parts.
> Part One: Decoupling SimpleSocketServer from the java driver. This is the 
> most disruptive part of the proposed changes. This has already been discussed 
> [here|https://lists.apache.org/thread/vd7w43xjzvc5rr0135gql9mxhdlcltr9] on 
> the dev list but I will summarize. To avoid having all the GLV's depending on 
> the java driver, SimpleSocketServer and it's related classes should be 
> extracted to a new module gremlin-tools/gremlin-socket-server. Unfortunately 
> the socket server still relies on the following classes in gremlin driver:
> tinkerpop.gremlin.driver.message.*
> tinkerpop.gremlin.driver.ser.*
> tinkerpop.gremlin.driver.MessageSerializer
> tinkerpop.gremlin.driver.Tokens
> To avoid a cyclic dependency between gremlin-driver and 
> gremlin-socket-server. these classes should be moved to another new module 
> gremlin-util which will house any classes which are to be shared between the 
> driver and server. Moving these classes to a new module and package will 
> break import lines and will need to be left until 3.7.
> The full list of classes moved into gremlin-util is as follows:
>  
> ||Old Name/Location||New Name/Location||
> |org.apache.tinkerpop.gremlin.driver.MessageSerializer|org.apache.tinkerpop.gremlin.util.MessageSerializer|
> |org.apache.tinkerpop.gremlin.driver.Tokens|org.apache.tinkerpop.gremlin.util.Tokens|
> |org.apache.tinkerpop.gremlin.driver.message.RequestMessage|org.apache.tinkerpop.gremlin.util.message.RequestMessage|
> |org.apache.tinkerpop.gremlin.driver.message.ResponseMessage|org.apache.tinkerpop.gremlin.util.message.ResponseMessage|
> |org.apache.tinkerpop.gremlin.driver.message.ResponseResult|org.apache.tinkerpop.gremlin.util.message.ResponseResult|
> |org.apache.tinkerpop.gremlin.driver.message.ResponseStatus|org.apache.tinkerpop.gremlin.util.message.ResponseStatus|
> |org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode|org.apache.tinkerpop.gremlin.util.message.ResponseStatusCode|
> |org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV1d0|org.apache.tinkerpop.gremlin.util.ser.AbstractGraphSONMessageSerializerV1d0|
> |org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0|org.apache.tinkerpop.gremlin.util.ser.AbstractGraphSONMessageSerializerV2d0|
> |org.apache.tinkerpop.gremlin.driver.ser.AbstractMessageSerializer|org.apache.tinkerpop.gremlin.util.ser.AbstractMessageSerializer|
> |org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1|org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV1|
> |org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0|org.apache.tinkerpop.gremlin.util.ser.GraphSONMessageSerializerGremlinV1d0|
> |org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0|org.apache.tinkerpop.gremlin.util.ser.GraphSONMessageSerializerGremlinV2d0|
> |org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0|org.apache.tinkerpop.gremlin.util.ser.GraphSONMessageSerializerV1d0|
> |org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV2d0|org.apache.tinkerpop.gremlin.util.ser.GraphSONMessageSerializerV2d0|
> |org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0|org.apache.tinkerpop.gremlin.util.ser.GraphSONMessageSerializerV3d0|
> |org.apache.tinkerpop.gremlin.driver.ser.MessageTextSerializer|org.apache.tinkerpop.gremlin.util.ser.MessageTextSerializer|
> |org.apache.tinkerpop.gremlin.driver.ser.NettyBuffer|org.apache.tinkerpop.gremlin.util.ser.NettyBuffer|
> |org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory|org.apache.tinkerpop.gremlin.util.ser.NettyBufferFactory|
> |org.apache.tinkerpop.gremlin.driver.ser.RequestMessageGryoSerializer|org.apache.tinkerpop.gremlin.util.ser.RequestMessageGryoSerializer|
> |org.apache.tinkerpop.gremlin.driver.ser.ResponseMessageGryoSerializer|org.apache.tinkerpop.gremlin.util.ser.ResponseMessageGryoSerializer|
> |org.apache.tinkerpop.gremlin.driver.ser.SerTokens|org.apache.tinkerpop.gremlin.util.ser.SerTokens|
> |org.apache.tinkerpop.gremlin.driver.ser.SerializationException|org.apache.tinkerpop.gremlin.util.ser.SerializationException|
> |org.apache.tinkerpop.gremlin.driver.ser.Serializers|org.apache.tinkerpop.gremlin.util.ser.Serializers|
> |org.apache.tinkerpop.gremlin.driver.ser.binary.RequestMessageSerializer|org.apache.tinkerpop.gremlin.util.ser.binary.RequestMessageSerializer|
> |org.apache.tinkerpop.gremlin.driver.ser.binary.ResponseMessageSerializer|org.apache.tinkerpop.gremlin.util.ser.binary.ResponseMessageSerializer|
>  
>  
> The second part of this refactor is to reconfigure the newly extracted 
> gremlin-socket-server to be usable by all of the GLV's. This will be done by 
> dockerizing the socket server and have the container run during the testing 
> phase of the GLV's. There is still some consideration to be done as to how 
> the GLV's should best interact with this server. Currently Junit will start 
> and stop the server for each individual test, each test has direct access to 
> the server object and can control it as needed. The GLV's will not have the 
> same direct control over the server. Any control options or behaviour needed 
> will either need to be encoded in the server itself as custom behaviour 
> triggered by specific request ID's or control through some external wrapper 
> or interface around the server. There is still consideration needed as to how 
> this should be done. Any comments on desired functionality or behaviour would 
> be greatly appreciated.
> If at some point in time it is deemed desirable to bring 
> gremlin-socket-server to all GLV's in 3.5.x/3.6.x, a good starting point 
> would be to backport 
> [this|https://github.com/apache/tinkerpop/pull/1850/commits/f5b6abb89e5846768ffe702c1d3842e5d29abed5]
>  commit which creates the new modules and moves all of the classes without 
> changing package names.



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

Reply via email to