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

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

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

   # 
[Codecov](https://codecov.io/gh/apache/tinkerpop/pull/1882?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 
[#1882](https://codecov.io/gh/apache/tinkerpop/pull/1882?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (504b16d) into 
[3.5-dev](https://codecov.io/gh/apache/tinkerpop/commit/69fc3393430ac9cb8f5b05f15f50d43b017bee53?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (69fc339) will **decrease** coverage by `5.84%`.
   > The diff coverage is `n/a`.
   
   ```diff
   @@              Coverage Diff              @@
   ##             3.5-dev    #1882      +/-   ##
   =============================================
   - Coverage      69.42%   63.58%   -5.85%     
   =============================================
     Files            861       23     -838     
     Lines          40868     3636   -37232     
     Branches        5388        0    -5388     
   =============================================
   - Hits           28374     2312   -26062     
   + Misses         10589     1145    -9444     
   + Partials        1905      179    -1726     
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/tinkerpop/pull/1882?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 | Coverage Δ | |
   |---|---|---|
   | 
[...va/org/apache/tinkerpop/gremlin/driver/Client.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1kcml2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2RyaXZlci9DbGllbnQuamF2YQ==)
 | | |
   | 
[...a/org/apache/tinkerpop/gremlin/driver/Cluster.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1kcml2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2RyaXZlci9DbHVzdGVyLmphdmE=)
 | | |
   | 
[...rg/apache/tinkerpop/gremlin/driver/Connection.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1kcml2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2RyaXZlci9Db25uZWN0aW9uLmphdmE=)
 | | |
   | 
[...pache/tinkerpop/gremlin/driver/ConnectionPool.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1kcml2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2RyaXZlci9Db25uZWN0aW9uUG9vbC5qYXZh)
 | | |
   | 
[...java/org/apache/tinkerpop/gremlin/driver/Host.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1kcml2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2RyaXZlci9Ib3N0LmphdmE=)
 | | |
   | 
[.../org/apache/tinkerpop/gremlin/driver/Settings.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1kcml2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2RyaXZlci9TZXR0aW5ncy5qYXZh)
 | | |
   | 
[...lin/driver/exception/NoHostAvailableException.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1kcml2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2RyaXZlci9leGNlcHRpb24vTm9Ib3N0QXZhaWxhYmxlRXhjZXB0aW9uLmphdmE=)
 | | |
   | 
[...p/gremlin/neo4j/structure/Neo4jGraphVariables.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-bmVvNGotZ3JlbWxpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvdGlua2VycG9wL2dyZW1saW4vbmVvNGovc3RydWN0dXJlL05lbzRqR3JhcGhWYXJpYWJsZXMuamF2YQ==)
 | | |
   | 
[...lin/structure/io/binary/types/GraphSerializer.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9zdHJ1Y3R1cmUvaW8vYmluYXJ5L3R5cGVzL0dyYXBoU2VyaWFsaXplci5qYXZh)
 | | |
   | 
[...ess/traversal/step/sideEffect/CypherStartStep.java](https://codecov.io/gh/apache/tinkerpop/pull/1882/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-bmVvNGotZ3JlbWxpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvdGlua2VycG9wL2dyZW1saW4vbmVvNGovcHJvY2Vzcy90cmF2ZXJzYWwvc3RlcC9zaWRlRWZmZWN0L0N5cGhlclN0YXJ0U3RlcC5qYXZh)
 | | |
   | ... and [828 
more](https://codecov.io/gh/apache/tinkerpop/pull/1882/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)
   




> Improve driver usability for cases where NoHostAvailableException is 
> currently thrown
> -------------------------------------------------------------------------------------
>
>                 Key: TINKERPOP-2813
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2813
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: driver
>    Affects Versions: 3.5.4
>            Reporter: Stephen Mallette
>            Assignee: Stephen Mallette
>            Priority: Blocker
>
> A {{NoHostAvailableException}} occurs in two cases:
> 1. where the {{Client}} is initialized and a failure occurs on all {{Host}} 
> instances configured
> 2. when the {{Client}} attempts to {{chooseConnection()}} to send a request 
> and all {{Host}} instances configured are marked unavailable.
> In the first case, you can get a cause for the failure which is helpful, but 
> the inadequacy is that you only get the failure of the first {{Host}} to 
> cause a problem. The second case is a bit worse because there you get no 
> cause in the exception and it's a "fast fail" in that as soon as the request 
> is sent there is no pause to see if the {{Host}} comes back online. Moreover, 
> a {{Host}} can be marked for failure for the infraction of just a single 
> {{Connection}} that may have just encountered a intermittent network issue, 
> thus quite quickly killing the entire {{ConnectionPool}} and turning 100s or 
> requests per second into 100s of {{NoHostAvailableException}} per second. 
> Note that you can also get an infraction for the pool just being overloaded 
> with requests which may signal that either the pool or server not being sized 
> right for the current workload - in either case, the 
> {{NoHostAvailableException}} is a bit of a harsh way to deal with that and in 
> any event doesn't quite give the user clues as to how to deal with it.
> All in all, this situation makes {{NoHostAvailableException}} hard to debug. 
> This ticket is meant to help smooth some of these problems. Initial thoughts 
> for improvements include better logging, ensuring that 
> {{NoHostAvailableException}} is not thrown without a cause, preferring more 
> specific exceptions in the fist place to {{NoHostAvailableException}}, 
> getting rid of "fast fails" in favor of longer pauses to see if a host can 
> recover and taking a softer stance on when a {{Host}} is actually considered 
> "unavailable".
> Expecting to implement this without breaking API changes, though exceptions 
> may shift around a bit, but will try to keep those to a minimum.
>  



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

Reply via email to