[jira] [Commented] (TINKERPOP-3079) The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` is not idempotent, as it passes in the first run and fails in repeated runs in the same

2024-05-17 Thread ASF GitHub Bot (Jira)


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

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

spmallette closed pull request #2608: TINKERPOP-3079 Fixed non-idempotent unit 
test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache`
URL: https://github.com/apache/tinkerpop/pull/2608




> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is not idempotent, as it passes in the first run and fails in repeated runs 
> in the same environment. 
> -
>
> Key: TINKERPOP-3079
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3079
> Project: TinkerPop
>  Issue Type: Bug
> Environment: Ubuntu 22.04, Java 17
>Reporter: Kaiyao Ke
>Priority: Major
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> ### Brief Description of the Bug
> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is non-idempotent, as it passes in the first run but fails in the second run 
> in the same environment. The source of the problem is that the initial 
> strategies registration (`StrategyA`, `StrategyB` and `StrategyC`) for the 
> `TestGraph` and ` TestGraphComputer` classes are static (see 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L132
>  and 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L185).
>  These static blocks will only be called once during class loading. 
> In the first execution of the test 
> `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache`, 
> `StrategyA` is removed from global 
> strategies(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L82),
>  and the test does not restore it after execution. 
> Therefore, in the second execution of the test, `StrategyA` is not present in 
> the global strategies, so assertions like 
> `assertTrue(strategies.getStrategy(StrategyA.class).isPresent())` would 
> fail(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L77).
> A fix is necessary since unit tests shall be self-contained. Idempotent tests 
> help maintain this isolation by ensuring that the state of the system under 
> test is consistent at the beginning of each test, regardless of previous test 
> runs. For example, fixing non-idempotent tests can help proactively avoid 
> state pollution that results in test order dependency (which could hurt 
> regression testing with the use of test selection / prioritization / 
> parallelism.
> ### Failure Message in the 2nd Test Run:
> ```
> java.lang.AssertionError:
>   at org.junit.Assert.fail(Assert.java:87)
>   at org.junit.Assert.assertTrue(Assert.java:42)
>   at org.junit.Assert.assertTrue(Assert.java:53)
>   at 
> org.apache.tinkerpop.gremlin.process.TraversalStrategiesTest.shouldAllowUserManipulationOfGlobalCache(TraversalStrategiesTest.java:77)
> ```
> ### Reproduce
> Use the `NIOInspector` plugin that supports rerunning individual tests in the 
> same environment:
> ```
> cd gremlin-core
> mvn edu.illinois:NIOInspector:rerun 
> -Dtest=org.apache.tinkerpop.gremlin.process.TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache
> ```
> ### Proposed Fix
> Handle initial strategies registration in a `setup()` method rather than in 
> static blocks of  test classes.



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


[jira] [Commented] (TINKERPOP-3079) The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` is not idempotent, as it passes in the first run and fails in repeated runs in the same

2024-05-17 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on PR #2608:
URL: https://github.com/apache/tinkerpop/pull/2608#issuecomment-2117619969

   merged to 3.6-dev with 399741e7f4d628f6b72be3dca9cbb1c4fbd3f7fa - thanks!




> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is not idempotent, as it passes in the first run and fails in repeated runs 
> in the same environment. 
> -
>
> Key: TINKERPOP-3079
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3079
> Project: TinkerPop
>  Issue Type: Bug
> Environment: Ubuntu 22.04, Java 17
>Reporter: Kaiyao Ke
>Priority: Major
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> ### Brief Description of the Bug
> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is non-idempotent, as it passes in the first run but fails in the second run 
> in the same environment. The source of the problem is that the initial 
> strategies registration (`StrategyA`, `StrategyB` and `StrategyC`) for the 
> `TestGraph` and ` TestGraphComputer` classes are static (see 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L132
>  and 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L185).
>  These static blocks will only be called once during class loading. 
> In the first execution of the test 
> `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache`, 
> `StrategyA` is removed from global 
> strategies(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L82),
>  and the test does not restore it after execution. 
> Therefore, in the second execution of the test, `StrategyA` is not present in 
> the global strategies, so assertions like 
> `assertTrue(strategies.getStrategy(StrategyA.class).isPresent())` would 
> fail(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L77).
> A fix is necessary since unit tests shall be self-contained. Idempotent tests 
> help maintain this isolation by ensuring that the state of the system under 
> test is consistent at the beginning of each test, regardless of previous test 
> runs. For example, fixing non-idempotent tests can help proactively avoid 
> state pollution that results in test order dependency (which could hurt 
> regression testing with the use of test selection / prioritization / 
> parallelism.
> ### Failure Message in the 2nd Test Run:
> ```
> java.lang.AssertionError:
>   at org.junit.Assert.fail(Assert.java:87)
>   at org.junit.Assert.assertTrue(Assert.java:42)
>   at org.junit.Assert.assertTrue(Assert.java:53)
>   at 
> org.apache.tinkerpop.gremlin.process.TraversalStrategiesTest.shouldAllowUserManipulationOfGlobalCache(TraversalStrategiesTest.java:77)
> ```
> ### Reproduce
> Use the `NIOInspector` plugin that supports rerunning individual tests in the 
> same environment:
> ```
> cd gremlin-core
> mvn edu.illinois:NIOInspector:rerun 
> -Dtest=org.apache.tinkerpop.gremlin.process.TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache
> ```
> ### Proposed Fix
> Handle initial strategies registration in a `setup()` method rather than in 
> static blocks of  test classes.



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


[jira] [Commented] (TINKERPOP-3079) The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` is not idempotent, as it passes in the first run and fails in repeated runs in the same

2024-05-17 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2608?dropdown=coverage=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Project coverage is 80.44%. Comparing base 
[(`2d32517`)](https://app.codecov.io/gh/apache/tinkerpop/commit/2d32517b3bca1b00d716b3205c2abdbcd6ed3352?dropdown=coverage=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 to head 
[(`ffd57f5`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2608?dropdown=coverage=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   > Report is 130 commits behind head on master.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@ Coverage Diff  @@
   ## master#2608  +/-   ##
   
   + Coverage 76.16%   80.44%   +4.28% 
   
 Files  1085   27-1058 
 Lines 65189 5002   -60187 
 Branches   72890-7289 
   
   - Hits  49651 4024   -45627 
   + Misses12830  776   -12054 
   + Partials   2708  202-2506 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2608?dropdown=coverage=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is not idempotent, as it passes in the first run and fails in repeated runs 
> in the same environment. 
> -
>
> Key: TINKERPOP-3079
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3079
> Project: TinkerPop
>  Issue Type: Bug
> Environment: Ubuntu 22.04, Java 17
>Reporter: Kaiyao Ke
>Priority: Major
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> ### Brief Description of the Bug
> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is non-idempotent, as it passes in the first run but fails in the second run 
> in the same environment. The source of the problem is that the initial 
> strategies registration (`StrategyA`, `StrategyB` and `StrategyC`) for the 
> `TestGraph` and ` TestGraphComputer` classes are static (see 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L132
>  and 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L185).
>  These static blocks will only be called once during class loading. 
> In the first execution of the test 
> `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache`, 
> `StrategyA` is removed from global 
> strategies(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L82),
>  and the test does not restore it after execution. 
> Therefore, in the second execution of the test, `StrategyA` is not present in 
> the global strategies, so assertions like 
> `assertTrue(strategies.getStrategy(StrategyA.class).isPresent())` would 
> fail(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L77).
> A fix is necessary since unit tests shall be self-contained. Idempotent tests 
> help maintain this isolation by ensuring that the state of the system under 
> test is consistent at the beginning of each test, regardless of previous test 
> runs. For example, fixing non-idempotent tests can help proactively avo

[jira] [Commented] (TINKERPOP-3079) The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` is not idempotent, as it passes in the first run and fails in repeated runs in the same

2024-05-17 Thread ASF GitHub Bot (Jira)


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

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

kaiyaok2 opened a new pull request, #2608:
URL: https://github.com/apache/tinkerpop/pull/2608

   Fixes https://issues.apache.org/jira/browse/TINKERPOP-3079
   
   ### Brief Description of the Bug
   
   The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
is non-idempotent, as it passes in the first run but fails in the second run in 
the same environment. The source of the problem is that the initial strategies 
registration (`StrategyA`, `StrategyB` and `StrategyC`) for the `TestGraph` and 
` TestGraphComputer` classes are static (see 
https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L132
 and 
https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L185).
 These static blocks will only be called once during class loading. 
   In the first execution of the test 
`TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache`, `StrategyA` 
is removed from global 
strategies(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L82),
 and the test does not restore it after execution. 
   Therefore, in the second execution of the test, `StrategyA` is not present 
in the global strategies, so assertions like 
`assertTrue(strategies.getStrategy(StrategyA.class).isPresent())` would 
fail(https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L77).
   
   A fix is necessary since unit tests shall be self-contained. Idempotent 
tests help maintain this isolation by ensuring that the state of the system 
under test is consistent at the beginning of each test, regardless of previous 
test runs. For example, fixing non-idempotent tests can help proactively avoid 
state pollution that results in test order dependency (which could hurt 
regression testing with the use of test selection / prioritization / 
parallelism.
   
   ### Failure Message in the 2nd Test Run:
   ```
   java.lang.AssertionError:
at org.junit.Assert.fail(Assert.java:87)
at org.junit.Assert.assertTrue(Assert.java:42)
at org.junit.Assert.assertTrue(Assert.java:53)
at 
org.apache.tinkerpop.gremlin.process.TraversalStrategiesTest.shouldAllowUserManipulationOfGlobalCache(TraversalStrategiesTest.java:77)
   ```
   
   ### Reproduce
   
   Use the `NIOInspector` plugin that supports rerunning individual tests in 
the same environment:
   ```
   cd gremlin-core
   mvn edu.illinois:NIOInspector:rerun 
-Dtest=org.apache.tinkerpop.gremlin.process.TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache
   ```
   
   ### Proposed Fix
   Handle initial strategies registration in a `setup()` method rather than in 
static blocks of test classes.
   
   ### Verify the Change
   After the patch, all tests pass idempotently.




> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is not idempotent, as it passes in the first run and fails in repeated runs 
> in the same environment. 
> -
>
> Key: TINKERPOP-3079
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3079
> Project: TinkerPop
>  Issue Type: Bug
> Environment: Ubuntu 22.04, Java 17
>Reporter: Kaiyao Ke
>Priority: Major
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> ### Brief Description of the Bug
> The test `TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache` 
> is non-idempotent, as it passes in the first run but fails in the second run 
> in the same environment. The source of the problem is that the initial 
> strategies registration (`StrategyA`, `StrategyB` and `StrategyC`) for the 
> `TestGraph` and ` TestGraphComputer` classes are static (see 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L132
>  and 
> https://github.com/apache/tinkerpop/blob/66e5a47ffd3976d29bc7797c399b8e11c5ba810e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/TraversalStrategiesTest.java#L185).
>  These s

[jira] [Commented] (TINKERPOP-3035) Add explicit property(IDictionary) for .NET

2024-05-08 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann merged PR #2565:
URL: https://github.com/apache/tinkerpop/pull/2565




> Add explicit property(IDictionary) for .NET
> ---
>
> Key: TINKERPOP-3035
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3035
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> There is no {{property(IDictionary)}} method for .NET to 
> accompany the {{property(Map)}} step. It works because it probably piggybacks 
> on {{property(object?, object?, objects[]?)}} which has all nullable 
> arguments. The explicit overload with the {{IDictionary}} should be added.



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


[jira] [Commented] (TINKERPOP-2617) Refactor Java Driver to have one method for connection selection

2024-05-01 Thread ASF GitHub Bot (Jira)


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

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

lyndonbauto commented on PR #1709:
URL: https://github.com/apache/tinkerpop/pull/1709#issuecomment-2089121052

   @DKZed Where are you at with these changes?




> Refactor Java Driver to have one method for connection selection
> 
>
> Key: TINKERPOP-2617
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2617
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.4.12
>Reporter: Stephen Mallette
>Priority: Minor
>
> To make a decision on whether a connection should be borrowed or not, a Java 
> client today does two logic which are different from each other. They should 
> both be same. One bit of logic to do so is at:
> {code}
>  if (borrowed >= maxSimultaneousUsagePerConnection && 
> leastUsedConn.availableInProcess() == 0) {
> {code}
> and another is:
> {code}
> final int inFlight = leastUsed.borrowed.get();
> final int availableInProcess = 
> leastUsed.availableInProcess();
> if (inFlight >= availableInProcess) {
> logger.debug("Least used {} on {} has requests 
> borrowed [{}] >= availableInProcess [{}] - may timeout waiting for 
> connection",
> leastUsed, host, inFlight, 
> availableInProcess);
> break;
> }
> if (leastUsed.borrowed.compareAndSet(inFlight, inFlight + 
> 1)) {
> if (logger.isDebugEnabled())
> logger.debug("Return least used {} on {} after 
> waiting", leastUsed.getConnectionInfo(), host);
> return leastUsed;
> }
> {code}



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


[jira] [Commented] (TINKERPOP-3035) Add explicit property(IDictionary) for .NET

2024-04-26 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2565:
URL: https://github.com/apache/tinkerpop/pull/2565#issuecomment-2079624005

   VOTE +1




> Add explicit property(IDictionary) for .NET
> ---
>
> Key: TINKERPOP-3035
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3035
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> There is no {{property(IDictionary)}} method for .NET to 
> accompany the {{property(Map)}} step. It works because it probably piggybacks 
> on {{property(object?, object?, objects[]?)}} which has all nullable 
> arguments. The explicit overload with the {{IDictionary}} should be added.



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


[jira] [Commented] (TINKERPOP-3035) Add explicit property(IDictionary) for .NET

2024-04-26 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on PR #2565:
URL: https://github.com/apache/tinkerpop/pull/2565#issuecomment-2079581200

   The problem is however that the Gherkin tests already include this step but 
they already passed before my change here as @spmallette noted in the issue 
description.
   This got me curious however as I was wondering how this could actually work 
without an overload taking a dictionary in C# since I couldn't get it to work 
in C# without my change here. (I did write a test case when I implemented this. 
I only deleted it before committing to not impact other tests.)
   
   Stephens assumption was:
   
   > It works because it probably piggybacks on property(object?, object?, 
objects[]?) which has all nullable arguments.
   
   Turns out that this is not the case. The `DotNetTranslator` produces a C# 
traversal with individual `Property` steps for each map entry: 
https://github.com/apache/tinkerpop/blob/e3ced38b2108f3edb29f11fbfa4f6950427bcbd9/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs#L539
   
   So, as a next attempt I wanted to change the translator to instead produce a 
C# traversal using the new `Dictionary` overload.
   But then I learned that that's now even possible since Gremlin-Java already 
produces Bytecode without this overload:
   
https://github.com/apache/tinkerpop/blob/e3ced38b2108f3edb29f11fbfa4f6950427bcbd9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java#L3221-L3234
   
   and the translator only gets the Bytecode produced from the traversal.
   
   So I don't see any elegant way to test this using Gherkin tests without 
changing the Gremlin-Java overload (which is a bigger change than what makes 
sense here in my opinion). We could add a hard-coded translation for one 
feature test to ensure that the traversal in C# will use the new overload, but 
I don't really like maintaining such hard-coded translations.
   
   However, this got me to the idea to instead use the translation from C# to 
Groovy for a test. I just pushed an updated commit with such a test. The test 
does not compile without the added overload and the translation also includes 
the successful construction of Bytecode from the traversal as the translator 
also uses the Bytecode.
   
   




> Add explicit property(IDictionary) for .NET
> ---
>
> Key: TINKERPOP-3035
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3035
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> There is no {{property(IDictionary)}} method for .NET to 
> accompany the {{property(Map)}} step. It works because it probably piggybacks 
> on {{property(object?, object?, objects[]?)}} which has all nullable 
> arguments. The explicit overload with the {{IDictionary}} should be added.



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


[jira] [Commented] (TINKERPOP-3035) Add explicit property(IDictionary) for .NET

2024-04-24 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2565:
URL: https://github.com/apache/tinkerpop/pull/2565#issuecomment-2075810348

   I believe for Gherkin tests we have the empty graph that can be modified, 
since it gets reset for each test. This does mean adding a Feature test that 
will run for all GLVs.




> Add explicit property(IDictionary) for .NET
> ---
>
> Key: TINKERPOP-3035
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3035
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> There is no {{property(IDictionary)}} method for .NET to 
> accompany the {{property(Map)}} step. It works because it probably piggybacks 
> on {{property(object?, object?, objects[]?)}} which has all nullable 
> arguments. The explicit overload with the {{IDictionary}} should be added.



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


[jira] [Commented] (TINKERPOP-3035) Add explicit property(IDictionary) for .NET

2024-04-24 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on PR #2565:
URL: https://github.com/apache/tinkerpop/pull/2565#issuecomment-2074375930

   > nit: no test coverage
   
   Yes, I wanted to add a test for this, but the problem is that it's 
manipulating data in the graph. I don't know how to test this with our current 
test setup without impacting other tests. If we could start a container with 
Gremlin Server for just this test, then we could easily test it. But our 
current setup uses the same container for all tests with the same graph. If we 
write to this graph in one test, then it will impact other tests.
   Another option would be to write a unit test which only checks the generated 
Bytecode, but I think such tests have little value, especially when we want to 
get rid of Bytecode altogether in a future release.




> Add explicit property(IDictionary) for .NET
> ---
>
> Key: TINKERPOP-3035
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3035
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> There is no {{property(IDictionary)}} method for .NET to 
> accompany the {{property(Map)}} step. It works because it probably piggybacks 
> on {{property(object?, object?, objects[]?)}} which has all nullable 
> arguments. The explicit overload with the {{IDictionary}} should be added.



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


[jira] [Commented] (TINKERPOP-3035) Add explicit property(IDictionary) for .NET

2024-04-23 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2565:
URL: https://github.com/apache/tinkerpop/pull/2565#issuecomment-2073301294

   nit: no test coverage




> Add explicit property(IDictionary) for .NET
> ---
>
> Key: TINKERPOP-3035
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3035
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> There is no {{property(IDictionary)}} method for .NET to 
> accompany the {{property(Map)}} step. It works because it probably piggybacks 
> on {{property(object?, object?, objects[]?)}} which has all nullable 
> arguments. The explicit overload with the {{IDictionary}} should be added.



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


[jira] [Commented] (TINKERPOP-3035) Add explicit property(IDictionary) for .NET

2024-04-17 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann opened a new pull request, #2565:
URL: https://github.com/apache/tinkerpop/pull/2565

   https://issues.apache.org/jira/browse/TINKERPOP-3035
   
   VOTE +1




> Add explicit property(IDictionary) for .NET
> ---
>
> Key: TINKERPOP-3035
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3035
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> There is no {{property(IDictionary)}} method for .NET to 
> accompany the {{property(Map)}} step. It works because it probably piggybacks 
> on {{property(object?, object?, objects[]?)}} which has all nullable 
> arguments. The explicit overload with the {{IDictionary}} should be added.



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


[jira] [Commented] (TINKERPOP-3060) Dependency inconsistency between modules.

2024-04-09 Thread ASF GitHub Bot (Jira)


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

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

HappyHacker123 commented on PR #2546:
URL: https://github.com/apache/tinkerpop/pull/2546#issuecomment-2045162964

   Thanks for your response :) @xiazcy . 
   > Note that we are in the middle of a release so we'll hold off on any 
merging and I'll revisit this PR once the release is done.
   Sure, I'm fully supportive of holding off the pr until after the release is 
completed :).
   > I do want to take a closer look into other pom files that might be able to 
take advantage of this.
   Actually i ran a check on the whole Tinkerpop project and found many other 
situation like this. If you need it, i'm happy to provide the whole list :).




> Dependency inconsistency between modules.
> -
>
> Key: TINKERPOP-3060
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3060
> Project: TinkerPop
>  Issue Type: Improvement
>Reporter: Wei Zhao
>Priority: Major
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> h3. Problem Desciption
> Currently some modules of Tinkerpop are using the same dependency. However, 
> some of these dependencies' versions are not centrally managed and therefore 
> cause discrepancy.
> I found the following dependencies with different versions in different 
> modules.
> {code:java}
> Dependency org.xerial.snappy:snappy-java:jar has inconsistent versions.
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.4}
> /spark-gremlin
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.2}
> /hadoop-gremlin
> -
> Dependency com.fasterxml.jackson.core:jackson-databind:jar has inconsistent 
> versions.
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.15.2}
> /gremlin-shaded
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.13.5}
> /spark-gremlin
> /hadoop-gremlin
> -
> {code}
> h3. Possible Outcome:
> This increases the maintenance workload and may lead to dependency conflict 
> for downstream projects. So it's better to align the versions of the 
> dependencies if the discrepancy is not intentional.
> h3. Possible Solution
> Align the versions of the dependencies to ensure consistency and avoid 
> possible conflicts. And if it's possible, manage the versions of the 
> dependencies centrally.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

tien commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2044019322

   @xiazcy nah I just got back today, thanks for making this available in the 
next release 




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript, server
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Assignee: Yang Xia
>Priority: Major
> Fix For: 3.7.2
>
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2044008086

   Closing this PR as all changes are merged via 22db8cf for the release. 
Please feel free to re-open if you find additional improvements and/or updates 
needed. Thanks!




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

xiazcy closed pull request #2525: [TINKERPOP-3061] fix: failing authentication 
when multiple initially requests are executed concurrently
URL: https://github.com/apache/tinkerpop/pull/2525




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2043756862

   > Sorry, I'm away this week and don't have access to my work laptop. Will 
take a look at all the pending comments & resolve them next week 
   
   No worries, thank you for all the contributions! 
   
   Just a quick note. Not sure if you have gotten a chance to start looking at 
the comments, as we'd like to release this with 3.7.2 this week, we will likely 
be cherry-picking your changes into another PR for the release branch today. If 
we do proceed with that we'll be closing this PR, and you shouldn't need to do 
any further work.
   
   Now there might still be functionality improvements we miss, so please feel 
free to add additional changes once the branches re-open.  




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3060) Dependency inconsistency between modules.

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2546:
URL: https://github.com/apache/tinkerpop/pull/2546#issuecomment-2043393487

   Thanks for the PR @HappyHacker123! I like the improvement for the dependency 
version management. I do want to take a closer look into other pom files that 
might be able to take advantage of this. Note that we are in the middle of a 
release so we'll hold off on any merging and I'll revisit once this PR the 
release is done. 




> Dependency inconsistency between modules.
> -
>
> Key: TINKERPOP-3060
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3060
> Project: TinkerPop
>  Issue Type: Improvement
>Reporter: Wei Zhao
>Priority: Major
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> h3. Problem Desciption
> Currently some modules of Tinkerpop are using the same dependency. However, 
> some of these dependencies' versions are not centrally managed and therefore 
> cause discrepancy.
> I found the following dependencies with different versions in different 
> modules.
> {code:java}
> Dependency org.xerial.snappy:snappy-java:jar has inconsistent versions.
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.4}
> /spark-gremlin
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.2}
> /hadoop-gremlin
> -
> Dependency com.fasterxml.jackson.core:jackson-databind:jar has inconsistent 
> versions.
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.15.2}
> /gremlin-shaded
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.13.5}
> /spark-gremlin
> /hadoop-gremlin
> -
> {code}
> h3. Possible Outcome:
> This increases the maintenance workload and may lead to dependency conflict 
> for downstream projects. So it's better to align the versions of the 
> dependencies if the discrepancy is not intentional.
> h3. Possible Solution
> Align the versions of the dependencies to ensure consistency and avoid 
> possible conflicts. And if it's possible, manage the versions of the 
> dependencies centrally.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-3060) Dependency inconsistency between modules.

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2546?dropdown=coverage=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Project coverage is 76.49%. Comparing base 
[(`9b46b67`)](https://app.codecov.io/gh/apache/tinkerpop/commit/9b46b6777d2fa250e41daacf2fa4554605aff53a?dropdown=coverage=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 to head 
[(`8b1e8bd`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2546?dropdown=coverage=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   > Report is 54 commits behind head on 3.7-dev.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@  Coverage Diff  @@
   ## 3.7-dev#2546  +/-   ##
   =
   + Coverage  76.14%   76.49%   +0.34% 
   - Complexity 1315213174  +22 
   =
 Files   1084 1059  -25 
 Lines  6516061282-3878 
 Branches7285 7297  +12 
   =
   - Hits   4961646876-2740 
   + Misses 1283911892 -947 
   + Partials2705 2514 -191 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2546?dropdown=coverage=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> Dependency inconsistency between modules.
> -
>
> Key: TINKERPOP-3060
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3060
> Project: TinkerPop
>  Issue Type: Improvement
>Reporter: Wei Zhao
>Priority: Major
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> h3. Problem Desciption
> Currently some modules of Tinkerpop are using the same dependency. However, 
> some of these dependencies' versions are not centrally managed and therefore 
> cause discrepancy.
> I found the following dependencies with different versions in different 
> modules.
> {code:java}
> Dependency org.xerial.snappy:snappy-java:jar has inconsistent versions.
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.4}
> /spark-gremlin
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.2}
> /hadoop-gremlin
> -
> Dependency com.fasterxml.jackson.core:jackson-databind:jar has inconsistent 
> versions.
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.15.2}
> /gremlin-shaded
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.13.5}
> /spark-gremlin
> /hadoop-gremlin
> -
> {code}
> h3. Possible Outcome:
> This increases the maintenance workload and may lead to dependency conflict 
> for downstream projects. So it's better to align the versions of the 
> dependencies if the discrepancy is not intentional.
> h3. Possible Solution
> Align the versions of the dependencies to ensure consistency and avoid 
> possible conflicts. And if it's possible, manage the versions of the 
> dependencies centrally.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-3060) Dependency inconsistency between modules.

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

HappyHacker123 commented on PR #2546:
URL: https://github.com/apache/tinkerpop/pull/2546#issuecomment-2042543921

   @xiazcy @Cole-Greer Could you please help me review this pr? Many thanks :)




> Dependency inconsistency between modules.
> -
>
> Key: TINKERPOP-3060
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3060
> Project: TinkerPop
>  Issue Type: Improvement
>Reporter: Wei Zhao
>Priority: Major
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> h3. Problem Desciption
> Currently some modules of Tinkerpop are using the same dependency. However, 
> some of these dependencies' versions are not centrally managed and therefore 
> cause discrepancy.
> I found the following dependencies with different versions in different 
> modules.
> {code:java}
> Dependency org.xerial.snappy:snappy-java:jar has inconsistent versions.
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.4}
> /spark-gremlin
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.2}
> /hadoop-gremlin
> -
> Dependency com.fasterxml.jackson.core:jackson-databind:jar has inconsistent 
> versions.
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.15.2}
> /gremlin-shaded
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.13.5}
> /spark-gremlin
> /hadoop-gremlin
> -
> {code}
> h3. Possible Outcome:
> This increases the maintenance workload and may lead to dependency conflict 
> for downstream projects. So it's better to align the versions of the 
> dependencies if the discrepancy is not intentional.
> h3. Possible Solution
> Align the versions of the dependencies to ensure consistency and avoid 
> possible conflicts. And if it's possible, manage the versions of the 
> dependencies centrally.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-3060) Dependency inconsistency between modules.

2024-04-08 Thread ASF GitHub Bot (Jira)


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

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

HappyHacker123 opened a new pull request, #2546:
URL: https://github.com/apache/tinkerpop/pull/2546

   Currently some modules of Tinkerpop are using the same dependency. However, 
some of these dependencies' versions are not centrally managed and therefore 
cause discrepancy. This pr defines version in parent pom.xml centrally to avoid 
version conflict.




> Dependency inconsistency between modules.
> -
>
> Key: TINKERPOP-3060
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3060
> Project: TinkerPop
>  Issue Type: Improvement
>Reporter: Wei Zhao
>Priority: Major
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> h3. Problem Desciption
> Currently some modules of Tinkerpop are using the same dependency. However, 
> some of these dependencies' versions are not centrally managed and therefore 
> cause discrepancy.
> I found the following dependencies with different versions in different 
> modules.
> {code:java}
> Dependency org.xerial.snappy:snappy-java:jar has inconsistent versions.
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.4}
> /spark-gremlin
> Dependency {groupId=org.xerial.snappy, artifactId=snappy-java, 
> version=1.1.8.2}
> /hadoop-gremlin
> -
> Dependency com.fasterxml.jackson.core:jackson-databind:jar has inconsistent 
> versions.
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.15.2}
> /gremlin-shaded
> Dependency {groupId=com.fasterxml.jackson.core, 
> artifactId=jackson-databind, version=2.13.5}
> /spark-gremlin
> /hadoop-gremlin
> -
> {code}
> h3. Possible Outcome:
> This increases the maintenance workload and may lead to dependency conflict 
> for downstream projects. So it's better to align the versions of the 
> dependencies if the discrepancy is not intentional.
> h3. Possible Solution
> Align the versions of the dependencies to ensure consistency and avoid 
> possible conflicts. And if it's possible, manage the versions of the 
> dependencies centrally.
>  
>  
>  



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


[jira] [Commented] (TINKERPOP-3068) Make serviceName and mergedParams public for provider usage in CallStep

2024-04-05 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2544:
URL: https://github.com/apache/tinkerpop/pull/2544#issuecomment-2040520494

   Cherry-picked to d9da293 as CTR.




> Make serviceName and mergedParams public for provider usage in CallStep
> ---
>
> Key: TINKERPOP-3068
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3068
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Reporter: Saikiran Boga
>Priority: Major
>
> When using CallStep, providers require access to the serviceName and the 
> merged params from CallStep for implementation.
>  
> service name is currently private 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L63]
>  and merged params getter is protected 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L195]



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


[jira] [Commented] (TINKERPOP-3068) Make serviceName and mergedParams public for provider usage in CallStep

2024-04-05 Thread ASF GitHub Bot (Jira)


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

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

xiazcy closed pull request #2544: [TINKERPOP-3068] Make serviceName and 
mergedParams public for provide…
URL: https://github.com/apache/tinkerpop/pull/2544




> Make serviceName and mergedParams public for provider usage in CallStep
> ---
>
> Key: TINKERPOP-3068
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3068
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Reporter: Saikiran Boga
>Priority: Major
>
> When using CallStep, providers require access to the serviceName and the 
> merged params from CallStep for implementation.
>  
> service name is currently private 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L63]
>  and merged params getter is protected 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L195]



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


[jira] [Commented] (TINKERPOP-3068) Make serviceName and mergedParams public for provider usage in CallStep

2024-04-05 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2544:
URL: https://github.com/apache/tinkerpop/pull/2544#issuecomment-2040480466

   VOTE +1




> Make serviceName and mergedParams public for provider usage in CallStep
> ---
>
> Key: TINKERPOP-3068
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3068
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Reporter: Saikiran Boga
>Priority: Major
>
> When using CallStep, providers require access to the serviceName and the 
> merged params from CallStep for implementation.
>  
> service name is currently private 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L63]
>  and merged params getter is protected 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L195]



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


[jira] [Commented] (TINKERPOP-3068) Make serviceName and mergedParams public for provider usage in CallStep

2024-04-05 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2544:
URL: https://github.com/apache/tinkerpop/pull/2544#issuecomment-2040476522

   VOTE +1. I'll cherry pick the proper commit into the branch.




> Make serviceName and mergedParams public for provider usage in CallStep
> ---
>
> Key: TINKERPOP-3068
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3068
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Reporter: Saikiran Boga
>Priority: Major
>
> When using CallStep, providers require access to the serviceName and the 
> merged params from CallStep for implementation.
>  
> service name is currently private 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L63]
>  and merged params getter is protected 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L195]



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


[jira] [Commented] (TINKERPOP-3068) Make serviceName and mergedParams public for provider usage in CallStep

2024-04-05 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?dropdown=coverage=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   Attention: Patch coverage is `66.36637%` with `224 lines` in your changes 
are missing coverage. Please review.
   > Project coverage is 76.50%. Comparing base 
[(`d9e34fb`)](https://app.codecov.io/gh/apache/tinkerpop/commit/d9e34fb4678c29ffa167066de45a9fa7329a319a?dropdown=coverage=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 to head 
[(`1d671f3`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?dropdown=coverage=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   > Report is 31 commits behind head on 3.6-dev.
   
   | 
[Files](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?dropdown=coverage=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...in/language/grammar/DefaultGremlinBaseVisitor.java](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree=gremlin-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Ftinkerpop%2Fgremlin%2Flanguage%2Fgrammar%2FDefaultGremlinBaseVisitor.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9sYW5ndWFnZS9ncmFtbWFyL0RlZmF1bHRHcmVtbGluQmFzZVZpc2l0b3IuamF2YQ==)
 | 0.00% | [137 Missing :warning: 
](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...rpop/gremlin/language/grammar/ArgumentVisitor.java](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree=gremlin-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Ftinkerpop%2Fgremlin%2Flanguage%2Fgrammar%2FArgumentVisitor.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9sYW5ndWFnZS9ncmFtbWFyL0FyZ3VtZW50VmlzaXRvci5qYXZh)
 | 76.47% | [21 Missing and 7 partials :warning: 
](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...remlin/language/grammar/GenericLiteralVisitor.java](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree=gremlin-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Ftinkerpop%2Fgremlin%2Flanguage%2Fgrammar%2FGenericLiteralVisitor.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9sYW5ndWFnZS9ncmFtbWFyL0dlbmVyaWNMaXRlcmFsVmlzaXRvci5qYXZh)
 | 68.42% | [14 Missing and 4 partials :warning: 
](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...e/tinkerpop/gremlin/console/GremlinGroovysh.groovy](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree=gremlin-console%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Ftinkerpop%2Fgremlin%2Fconsole%2FGremlinGroovysh.groovy_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-Z3JlbWxpbi1jb25zb2xlL3NyYy9tYWluL2dyb292eS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL2NvbnNvbGUvR3JlbWxpbkdyb292eXNoLmdyb292eQ==)
 | 52.94% | [6 Missing and 10 partials :warning: 
](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...emlin/language/grammar/TraversalMethodVisitor.java](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree=gremlin-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Ftinkerpop%2Fgremlin%2Flanguage%2Fgrammar%2FTraversalMethodVisitor.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-Z3JlbWxpbi1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS90aW5rZXJwb3AvZ3JlbWxpbi9sYW5ndWFnZS9ncmFtbWFyL1RyYXZlcnNhbE1ldGhvZFZpc2l0b3IuamF2YQ==)
 | 95.39% | [10 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...pache/tinkerpop/gremlin/jsr223/JavaTranslator.java](https://app.codecov.io/gh/apache/tinkerpop/pull/2544?src=pr=tree=gremlin-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Ftinkerpop%2Fgremlin%2Fjsr223%2FJavaTranslator.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apach

[jira] [Commented] (TINKERPOP-3068) Make serviceName and mergedParams public for provider usage in CallStep

2024-04-05 Thread ASF GitHub Bot (Jira)


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

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

saikiranboga opened a new pull request, #2544:
URL: https://github.com/apache/tinkerpop/pull/2544

   …r usage in CallStep




> Make serviceName and mergedParams public for provider usage in CallStep
> ---
>
> Key: TINKERPOP-3068
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3068
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Reporter: Saikiran Boga
>Priority: Major
>
> When using CallStep, providers require access to the serviceName and the 
> merged params from CallStep for implementation.
>  
> service name is currently private 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L63]
>  and merged params getter is protected 
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java#L195]



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-04-03 Thread ASF GitHub Bot (Jira)


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

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

tien commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2035957546

   Sorry, I'm away this week and don't have access to my work laptop. Will take 
a look at all the pending comments & resolve them next week 




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-28 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on code in PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#discussion_r1542632956


##
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAuthenticationHandler.java:
##
@@ -75,106 +79,159 @@ public SaslAuthenticationHandler(final Authenticator 
authenticator, final Author
 
 @Override
 public void channelRead(final ChannelHandlerContext ctx, final Object msg) 
throws Exception {
-if (msg instanceof RequestMessage){
-final RequestMessage requestMessage = (RequestMessage) msg;
-
-final Attribute negotiator = 
((AttributeMap) ctx).attr(StateKey.NEGOTIATOR);
-final Attribute request = ((AttributeMap) 
ctx).attr(StateKey.REQUEST_MESSAGE);
-if (negotiator.get() == null) {
-try {
-// First time through so save the request and send an 
AUTHENTICATE challenge with no data
-
negotiator.set(authenticator.newSaslNegotiator(getRemoteInetAddress(ctx)));
-request.set(requestMessage);
-final ResponseMessage authenticate = 
ResponseMessage.build(requestMessage)
-.code(ResponseStatusCode.AUTHENTICATE).create();
-ctx.writeAndFlush(authenticate);
-} catch (Exception ex) {
-// newSaslNegotiator can cause troubles - if we don't 
catch and respond nicely the driver seems
-// to hang until timeout which isn't so nice. treating 
this like a server error as it means that
-// the Authenticator isn't really ready to deal with 
requests for some reason.
-logger.error(String.format("%s is not ready to handle 
requests - check its configuration or related services",
-authenticator.getClass().getSimpleName()), ex);
-
-final ResponseMessage error = 
ResponseMessage.build(requestMessage)
-.statusMessage("Authenticator is not ready to 
handle requests")
-.code(ResponseStatusCode.SERVER_ERROR).create();
-ctx.writeAndFlush(error);
-}
-} else {
-if (requestMessage.getOp().equals(Tokens.OPS_AUTHENTICATION) 
&& requestMessage.getArgs().containsKey(Tokens.ARGS_SASL)) {
-
-final Object saslObject = 
requestMessage.getArgs().get(Tokens.ARGS_SASL);
-final byte[] saslResponse;
-
-if(saslObject instanceof String) {
-saslResponse = BASE64_DECODER.decode((String) 
saslObject);
-} else {
-final ResponseMessage error = 
ResponseMessage.build(request.get())
-.statusMessage("Incorrect type for : " + 
Tokens.ARGS_SASL + " - base64 encoded String is expected")
-
.code(ResponseStatusCode.REQUEST_ERROR_MALFORMED_REQUEST).create();
-ctx.writeAndFlush(error);
-return;
-}
-
-try {
-final byte[] saslMessage = 
negotiator.get().evaluateResponse(saslResponse);
-if (negotiator.get().isComplete()) {
-final AuthenticatedUser user = 
negotiator.get().getAuthenticatedUser();
-
ctx.channel().attr(StateKey.AUTHENTICATED_USER).set(user);
-// User name logged with the remote socket address 
and authenticator classname for audit logging
-if (settings.enableAuditLog) {
-String address = 
ctx.channel().remoteAddress().toString();
-if (address.startsWith("/") && 
address.length() > 1) address = address.substring(1);
-final String[] authClassParts = 
authenticator.getClass().toString().split("[.]");
-auditLogger.info("User {} with address {} 
authenticated by {}",
-user.getName(), address, 
authClassParts[authClassParts.length - 1]);
-}
-// If we have got here we are authenticated so 
remove the handler and pass
-// the original message down the pipeline for 
processing
-ctx.pipeline().remove(this);
-final RequestMe

[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-27 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on code in PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#discussion_r1542198439


##
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthIntegrateTest.java:
##
@@ -163,6 +171,46 @@ public void 
shouldFailAuthenticateWithPlainTextBadUsername() throws Exception {
 }
 }
 
+@Test
+public void 
shouldFailAuthenticateWithUnAuthenticatedRequestAfterMaxDeferrableDuration() 
throws Exception {

Review Comment:
   Hi Tien, I want to be absolutely certain that we aren’t going to lose any of 
these deferred requests in the case of errors. If the server fails to send a 
response the drivers will just be left hanging indefinitely. If I’m 
understanding this test right, the first 3 requests are all expected to 
succeed, and then after a delay the final request is submitted and fails. Would 
it also be possible to setup a test such that there are multiple pending 
requests in the server’s deferred requests queue at the time that auth fails, 
and then we can verify that the correct error message gets sent to all 
currently pending requests?





> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-27 Thread ASF GitHub Bot (Jira)


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

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

tien commented on code in PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#discussion_r1541269520


##
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAuthenticationHandler.java:
##
@@ -75,106 +79,159 @@ public SaslAuthenticationHandler(final Authenticator 
authenticator, final Author
 
 @Override
 public void channelRead(final ChannelHandlerContext ctx, final Object msg) 
throws Exception {
-if (msg instanceof RequestMessage){
-final RequestMessage requestMessage = (RequestMessage) msg;
-
-final Attribute negotiator = 
((AttributeMap) ctx).attr(StateKey.NEGOTIATOR);
-final Attribute request = ((AttributeMap) 
ctx).attr(StateKey.REQUEST_MESSAGE);
-if (negotiator.get() == null) {
-try {
-// First time through so save the request and send an 
AUTHENTICATE challenge with no data
-
negotiator.set(authenticator.newSaslNegotiator(getRemoteInetAddress(ctx)));
-request.set(requestMessage);
-final ResponseMessage authenticate = 
ResponseMessage.build(requestMessage)
-.code(ResponseStatusCode.AUTHENTICATE).create();
-ctx.writeAndFlush(authenticate);
-} catch (Exception ex) {
-// newSaslNegotiator can cause troubles - if we don't 
catch and respond nicely the driver seems
-// to hang until timeout which isn't so nice. treating 
this like a server error as it means that
-// the Authenticator isn't really ready to deal with 
requests for some reason.
-logger.error(String.format("%s is not ready to handle 
requests - check its configuration or related services",
-authenticator.getClass().getSimpleName()), ex);
-
-final ResponseMessage error = 
ResponseMessage.build(requestMessage)
-.statusMessage("Authenticator is not ready to 
handle requests")
-.code(ResponseStatusCode.SERVER_ERROR).create();
-ctx.writeAndFlush(error);
-}
-} else {
-if (requestMessage.getOp().equals(Tokens.OPS_AUTHENTICATION) 
&& requestMessage.getArgs().containsKey(Tokens.ARGS_SASL)) {
-
-final Object saslObject = 
requestMessage.getArgs().get(Tokens.ARGS_SASL);
-final byte[] saslResponse;
-
-if(saslObject instanceof String) {
-saslResponse = BASE64_DECODER.decode((String) 
saslObject);
-} else {
-final ResponseMessage error = 
ResponseMessage.build(request.get())
-.statusMessage("Incorrect type for : " + 
Tokens.ARGS_SASL + " - base64 encoded String is expected")
-
.code(ResponseStatusCode.REQUEST_ERROR_MALFORMED_REQUEST).create();
-ctx.writeAndFlush(error);
-return;
-}
-
-try {
-final byte[] saslMessage = 
negotiator.get().evaluateResponse(saslResponse);
-if (negotiator.get().isComplete()) {
-final AuthenticatedUser user = 
negotiator.get().getAuthenticatedUser();
-
ctx.channel().attr(StateKey.AUTHENTICATED_USER).set(user);
-// User name logged with the remote socket address 
and authenticator classname for audit logging
-if (settings.enableAuditLog) {
-String address = 
ctx.channel().remoteAddress().toString();
-if (address.startsWith("/") && 
address.length() > 1) address = address.substring(1);
-final String[] authClassParts = 
authenticator.getClass().toString().split("[.]");
-auditLogger.info("User {} with address {} 
authenticated by {}",
-user.getName(), address, 
authClassParts[authClassParts.length - 1]);
-}
-// If we have got here we are authenticated so 
remove the handler and pass
-// the original message down the pipeline for 
processing
-ctx.pipeline().remove(this);
-final RequestMe

[jira] [Commented] (TINKERPOP-3063) Concurrent queries will break authentication on .NET driver

2024-03-27 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann closed pull request #2522: TINKERPOP-3063 Fix bug in 
Gremlin.Net authentication for parallel requests
URL: https://github.com/apache/tinkerpop/pull/2522




> Concurrent queries will break authentication on .NET driver
> ---
>
> Key: TINKERPOP-3063
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3063
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Major
>
> Executing multiple queries in parallel can lead to authentication failures if 
> {{MaxInProcessPerConnection}} is set to a value higher than {{1}} as the 
> second request can then be send to the server while the server is still 
> waiting for the authentication challenge response from the driver for the 
> first query.
> A simple workaround is to set {{MaxInProcessPerConnection=1}} but this means 
> of course that connection pooling will be less efficient.
> This issue also exists for other drivers:
> * Java: TINKERPOP-2132
> * JS: TINKERPOP-3061
> (I don't know about the Python and Go drivers.)



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


[jira] [Commented] (TINKERPOP-3063) Concurrent queries will break authentication on .NET driver

2024-03-27 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on PR #2522:
URL: https://github.com/apache/tinkerpop/pull/2522#issuecomment-2022583104

   Closing this as it was superseded by #2525 which fixes the problem on the 
server side so the workaround I implemented here for the .NET driver isn't 
needed any more.




> Concurrent queries will break authentication on .NET driver
> ---
>
> Key: TINKERPOP-3063
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3063
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Major
>
> Executing multiple queries in parallel can lead to authentication failures if 
> {{MaxInProcessPerConnection}} is set to a value higher than {{1}} as the 
> second request can then be send to the server while the server is still 
> waiting for the authentication challenge response from the driver for the 
> first query.
> A simple workaround is to set {{MaxInProcessPerConnection=1}} but this means 
> of course that connection pooling will be less efficient.
> This issue also exists for other drivers:
> * Java: TINKERPOP-2132
> * JS: TINKERPOP-3061
> (I don't know about the Python and Go drivers.)



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-27 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on code in PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#discussion_r1540816027


##
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/simple/AbstractClient.java:
##
@@ -27,8 +27,7 @@
 import org.apache.tinkerpop.gremlin.util.message.ResponseMessage;
 import org.apache.tinkerpop.gremlin.util.message.ResponseStatusCode;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;

Review Comment:
   Please revert this change. [Our dev docs explicitly mention that TinkerPop 
doesn't use wildcard 
imports](https://tinkerpop.apache.org/docs/current/dev/developer/#_code_style).



##
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthIntegrateTest.java:
##
@@ -218,9 +266,19 @@ public void 
shouldAuthenticateAndWorkWithVariablesOverGraphSONV1Serialization()
 
 private static void assertConnection(final Cluster cluster, final Client 
client) throws InterruptedException, ExecutionException {

Review Comment:
   This method is used in 4 different tests, such as 
`shouldAuthenticateWithPlainText`. These 4 tests will now fail if submitting 
multiple requests initially in parallel isn't working.
   I think it would be good if we could keep these tests as simple as possible 
so they don't include parallelization of initial requests. A test like 
`shouldAuthenticateWithPlainText` should really only fail if _authenticate with 
plain text_ isn't working, not if submitting multiple requests in parallel 
isn't working.
   
   Long story short, I think it would be good if you could revert the changes 
to this method and instead write a new test specifically for the 
parallelization issue.



##
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAuthenticationHandler.java:
##
@@ -75,106 +79,159 @@ public SaslAuthenticationHandler(final Authenticator 
authenticator, final Author
 
 @Override
 public void channelRead(final ChannelHandlerContext ctx, final Object msg) 
throws Exception {
-if (msg instanceof RequestMessage){
-final RequestMessage requestMessage = (RequestMessage) msg;
-
-final Attribute negotiator = 
((AttributeMap) ctx).attr(StateKey.NEGOTIATOR);
-final Attribute request = ((AttributeMap) 
ctx).attr(StateKey.REQUEST_MESSAGE);
-if (negotiator.get() == null) {
-try {
-// First time through so save the request and send an 
AUTHENTICATE challenge with no data
-
negotiator.set(authenticator.newSaslNegotiator(getRemoteInetAddress(ctx)));
-request.set(requestMessage);
-final ResponseMessage authenticate = 
ResponseMessage.build(requestMessage)
-.code(ResponseStatusCode.AUTHENTICATE).create();
-ctx.writeAndFlush(authenticate);
-} catch (Exception ex) {
-// newSaslNegotiator can cause troubles - if we don't 
catch and respond nicely the driver seems
-// to hang until timeout which isn't so nice. treating 
this like a server error as it means that
-// the Authenticator isn't really ready to deal with 
requests for some reason.
-logger.error(String.format("%s is not ready to handle 
requests - check its configuration or related services",
-authenticator.getClass().getSimpleName()), ex);
-
-final ResponseMessage error = 
ResponseMessage.build(requestMessage)
-.statusMessage("Authenticator is not ready to 
handle requests")
-.code(ResponseStatusCode.SERVER_ERROR).create();
-ctx.writeAndFlush(error);
-}
-} else {
-if (requestMessage.getOp().equals(Tokens.OPS_AUTHENTICATION) 
&& requestMessage.getArgs().containsKey(Tokens.ARGS_SASL)) {
-
-final Object saslObject = 
requestMessage.getArgs().get(Tokens.ARGS_SASL);
-final byte[] saslResponse;
-
-if(saslObject instanceof String) {
-saslResponse = BASE64_DECODER.decode((String) 
saslObject);
-} else {
-final ResponseMessage error = 
ResponseMessage.build(request.get())
-.statusMessage("Incorrect type for : " + 
Tokens.ARGS_SASL + " - base64 encoded String is expected")
-
.code(ResponseSt

[jira] [Commented] (TINKERPOP-3063) Concurrent queries will break authentication on .NET driver

2024-03-27 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on PR #2522:
URL: https://github.com/apache/tinkerpop/pull/2522#issuecomment-2022386126

   > Do you have any thoughts on the server side solution by @tien in 
https://github.com/apache/tinkerpop/pull/2525? If the server fix fully 
addresses the issue, then it should make the changes here as well as equivalent 
GLV changes unnecessary.
   
   I'm just back from vacation which is why I couldn't review the PR yet.
   But I agree in general that a server fix is definitely better in general 
than implementing workarounds in all GLV drivers. I'll try to review #2525 
today.
   If it fixes the issue, then we of course don't need this PR any more. 




> Concurrent queries will break authentication on .NET driver
> ---
>
> Key: TINKERPOP-3063
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3063
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Major
>
> Executing multiple queries in parallel can lead to authentication failures if 
> {{MaxInProcessPerConnection}} is set to a value higher than {{1}} as the 
> second request can then be send to the server while the server is still 
> waiting for the authentication challenge response from the driver for the 
> first query.
> A simple workaround is to set {{MaxInProcessPerConnection=1}} but this means 
> of course that connection pooling will be less efficient.
> This issue also exists for other drivers:
> * Java: TINKERPOP-2132
> * JS: TINKERPOP-3061
> (I don't know about the Python and Go drivers.)



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-26 Thread ASF GitHub Bot (Jira)


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

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

tien commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2020601411

   I've added one test for the unhappy path.




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3063) Concurrent queries will break authentication on .NET driver

2024-03-25 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2522:
URL: https://github.com/apache/tinkerpop/pull/2522#issuecomment-2019172365

   @FlorianHockmann Do you have any thoughts on the server side solution by 
@tien in https://github.com/apache/tinkerpop/pull/2525? If the server fix fully 
addresses the issue, then it should make the changes here as well as equivalent 
GLV changes unnecessary.




> Concurrent queries will break authentication on .NET driver
> ---
>
> Key: TINKERPOP-3063
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3063
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Major
>
> Executing multiple queries in parallel can lead to authentication failures if 
> {{MaxInProcessPerConnection}} is set to a value higher than {{1}} as the 
> second request can then be send to the server while the server is still 
> waiting for the authentication challenge response from the driver for the 
> first query.
> A simple workaround is to set {{MaxInProcessPerConnection=1}} but this means 
> of course that connection pooling will be less efficient.
> This issue also exists for other drivers:
> * Java: TINKERPOP-2132
> * JS: TINKERPOP-3061
> (I don't know about the Python and Go drivers.)



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-25 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2019163528

   I agree with @kenhuuu that an additional test is warranted here to ensure 
that the server will always send a response to every request. We are now 
entering code freeze week in preparation for the 3.6.7 and 3.7.2 releases. I 
believe it is fair to grant an exception for a few days to give some time for 
such a test to be implemented and to ensure this PR can be included in the 
release.




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-25 Thread ASF GitHub Bot (Jira)


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

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

kenhuuu commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2018983365

   Could you also add a test where the authentication fails and you check that 
all requests get the proper exception in that case?




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-25 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2018796622

   Thanks @tien, looks great. VOTE +1




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-20 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2010797352

   > Have added 1 changelog entry & a test to the JS driver 
   
   Thank you @tien!
   
   VOTE +1




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-20 Thread ASF GitHub Bot (Jira)


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

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

tien commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2010727589

   Have added 1 changelog entry & a test to the JS driver 




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-18 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2525:
URL: https://github.com/apache/tinkerpop/pull/2525#issuecomment-2005644096

   I think this is a good solution for concurrent auth issue.
   
   Good to have test for js driver to be 100% sure.
   Also missing `changelog` entry




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-16 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2525?dropdown=coverage=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   Attention: Patch coverage is `36.90476%` with `53 lines` in your changes are 
missing coverage. Please review.
   > Project coverage is 76.46%. Comparing base 
[(`9b46b67`)](https://app.codecov.io/gh/apache/tinkerpop/commit/9b46b6777d2fa250e41daacf2fa4554605aff53a?dropdown=coverage=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 to head 
[(`b65004e`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2525?dropdown=coverage=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   > Report is 42 commits behind head on 3.7-dev.
   
   | 
[Files](https://app.codecov.io/gh/apache/tinkerpop/pull/2525?dropdown=coverage=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...mlin/server/handler/SaslAuthenticationHandler.java](https://app.codecov.io/gh/apache/tinkerpop/pull/2525?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-Z3JlbWxpbi1zZXJ2ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3RpbmtlcnBvcC9ncmVtbGluL3NlcnZlci9oYW5kbGVyL1Nhc2xBdXRoZW50aWNhdGlvbkhhbmRsZXIuamF2YQ==)
 | 36.14% | [45 Missing and 8 partials :warning: 
](https://app.codecov.io/gh/apache/tinkerpop/pull/2525?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   
   Additional details and impacted files
   
   
   ```diff
   @@  Coverage Diff  @@
   ## 3.7-dev#2525  +/-   ##
   =
   + Coverage  76.14%   76.46%   +0.32% 
   - Complexity 1315213167  +15 
   =
 Files   1084 1059  -25 
 Lines  6516061292-3868 
 Branches7285 7298  +13 
   =
   - Hits   4961646868-2748 
   + Misses 1283911906 -933 
   + Partials2705 2518 -187 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2525?dropdown=coverage=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3061) Concurrent queries will break authentication on javascript driver

2024-03-16 Thread ASF GitHub Bot (Jira)


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

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

tien opened a new pull request, #2525:
URL: https://github.com/apache/tinkerpop/pull/2525

   This solution try to resolve the concurrent initial unauthenticated requests 
problem described in 
[TINKERPOP-3063](https://issues.apache.org/jira/browse/TINKERPOP-3063), 
[TINKERPOP-2132](https://issues.apache.org/jira/browse/TINKERPOP-2132) & 
[TINKERPOP-3061](https://issues.apache.org/jira/browse/TINKERPOP-3061) by 
batching them for later processing when authentication handshake is in progress.




> Concurrent queries will break authentication on javascript driver
> -
>
> Key: TINKERPOP-3061
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3061
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Yang Xia
>Priority: Major
>
> Reported by tien on Discord:
> {code:java}
> import gremlin from "gremlin";
> const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(
>   new gremlin.driver.DriverRemoteConnection("ws://localhost:8182/gremlin", {
>     authenticator: new gremlin.driver.auth.PlainTextSaslAuthenticator(
>       "admin",
>       "administrator"
>     ),
>   })
> );
> // This will throws: Failed to authenticate (401)
> await Promise.all([g.V().toList(), g.V().toList()]);
> // This works as expected
> await g.V().toList();
> await g.V().toList(); {code}



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


[jira] [Commented] (TINKERPOP-3063) Concurrent queries will break authentication on .NET driver

2024-03-14 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann opened a new pull request, #2522:
URL: https://github.com/apache/tinkerpop/pull/2522

   https://issues.apache.org/jira/browse/TINKERPOP-3063
   
   Executing multiple queries in parallel could lead to authentication failures 
if `MaxInProcessPerConnection` is set to a value higher than `1` as the second 
request could then be sent to the server while the server was still waiting for 
the authentication challenge response from the driver for the first query.
   
   This made it necessary to set `MaxInProcessPerConnection=1` as a workaround 
for such scenarios which of course means that connection pooling is less 
efficient.
   
   Simply sending a validation request on each connection right after 
establishing the connection and therefore before it can be used to submit 
queries from the user should fix this issue. The downside of this is of course 
that connection establishment takes slightly longer. I think this is an 
acceptable trade-off even for scenarios where authentication is not used since 
this also validates the connection irrespective of authentication and also 
because this delay only occurs once right at the start of an application.
   
   VOTE +1




> Concurrent queries will break authentication on .NET driver
> ---
>
> Key: TINKERPOP-3063
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3063
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Major
>
> Executing multiple queries in parallel can lead to authentication failures if 
> {{MaxInProcessPerConnection}} is set to a value higher than {{1}} as the 
> second request can then be send to the server while the server is still 
> waiting for the authentication challenge response from the driver for the 
> first query.
> A simple workaround is to set {{MaxInProcessPerConnection=1}} but this means 
> of course that connection pooling will be less efficient.
> This issue also exists for other drivers:
> * Java: TINKERPOP-2132
> * JS: TINKERPOP-3061
> (I don't know about the Python and Go drivers.)



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


[jira] [Commented] (TINKERPOP-3054) RequestId serialization broken in Python GLV

2024-02-29 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer merged PR #2494:
URL: https://github.com/apache/tinkerpop/pull/2494




> RequestId serialization broken in Python GLV
> 
>
> Key: TINKERPOP-3054
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3054
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Valentyn Kahamlyk
>Priority: Blocker
>
> `g.with_('requestId', uuid.uuid1()).V().count().toList()`
> failed with error `AttributeError: 'UUID' object has no attribute 'replace'`
> in line 
> `uuid.UUID(request_id) # Checks for proper UUID or else server will return an 
> error.`



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


[jira] [Commented] (TINKERPOP-3054) RequestId serialization broken in Python GLV

2024-02-29 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2494:
URL: https://github.com/apache/tinkerpop/pull/2494#issuecomment-1971562226

   VOTE +1




> RequestId serialization broken in Python GLV
> 
>
> Key: TINKERPOP-3054
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3054
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Valentyn Kahamlyk
>Priority: Blocker
>
> `g.with_('requestId', uuid.uuid1()).V().count().toList()`
> failed with error `AttributeError: 'UUID' object has no attribute 'replace'`
> in line 
> `uuid.UUID(request_id) # Checks for proper UUID or else server will return an 
> error.`



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


[jira] [Commented] (TINKERPOP-3054) RequestId serialization broken in Python GLV

2024-02-23 Thread ASF GitHub Bot (Jira)


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

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

kenhuuu commented on PR #2494:
URL: https://github.com/apache/tinkerpop/pull/2494#issuecomment-1962184812

   VOTE +1




> RequestId serialization broken in Python GLV
> 
>
> Key: TINKERPOP-3054
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3054
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Valentyn Kahamlyk
>Priority: Blocker
>
> `g.with_('requestId', uuid.uuid1()).V().count().toList()`
> failed with error `AttributeError: 'UUID' object has no attribute 'replace'`
> in line 
> `uuid.UUID(request_id) # Checks for proper UUID or else server will return an 
> error.`



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-02-21 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann merged PR #2468:
URL: https://github.com/apache/tinkerpop/pull/2468




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Blocker
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-16 Thread ASF GitHub Bot (Jira)


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

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

spmallette merged PR #2483:
URL: https://github.com/apache/tinkerpop/pull/2483




> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()

2024-02-16 Thread ASF GitHub Bot (Jira)


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

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

spmallette merged PR #2488:
URL: https://github.com/apache/tinkerpop/pull/2488




> Bad translation for g.tx()
> --
>
> Key: TINKERPOP-3031
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3031
> Project: TinkerPop
>  Issue Type: Bug
>  Components: translator
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Not sure if other translators are affected but {{GroovyTranslator}} doesn't 
> translate {{tx()}} properly:
> {code}
> gremlin> 
> GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script
> ==>g.tx("rollback")
> {code}



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


[jira] [Commented] (TINKERPOP-3054) RequestId serialization broken in Python GLV

2024-02-14 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2494?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Comparison is base 
[(`c7f3d24`)](https://app.codecov.io/gh/apache/tinkerpop/commit/c7f3d2454a654cea57c2a99077d859b115fec4c3?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.15% compared to head 
[(`e6be164`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2494?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.39%.
   > Report is 8 commits behind head on 3.6-dev.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@  Coverage Diff  @@
   ## 3.6-dev#2494  +/-   ##
   =
   + Coverage  75.15%   75.39%   +0.23% 
   + Complexity 1235112346   -5 
   =
 Files   1058 1033  -25 
 Lines  6361059838-3772 
 Branches6962 6962  
   =
   - Hits   4780645113-2693 
   + Misses 1322412329 -895 
   + Partials2580 2396 -184 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2494?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> RequestId serialization broken in Python GLV
> 
>
> Key: TINKERPOP-3054
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3054
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Valentyn Kahamlyk
>Priority: Blocker
>
> `g.with_('requestId', uuid.uuid1()).V().count().toList()`
> failed with error `AttributeError: 'UUID' object has no attribute 'replace'`
> in line 
> `uuid.UUID(request_id) # Checks for proper UUID or else server will return an 
> error.`



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


[jira] [Commented] (TINKERPOP-3054) RequestId serialization broken in Python GLV

2024-02-14 Thread ASF GitHub Bot (Jira)


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

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

ryn5 opened a new pull request, #2494:
URL: https://github.com/apache/tinkerpop/pull/2494

   https://issues.apache.org/jira/browse/TINKERPOP-3054
   Error was being caused by uuid constructor/validator receiving `request_id` 
from message as UUID instead of string.  Added str() guard to uuid validation 
and removed the type conversion on deserialization to keep `request_id` 
consistently of type UUID.




> RequestId serialization broken in Python GLV
> 
>
> Key: TINKERPOP-3054
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3054
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6, 3.7.1
>Reporter: Valentyn Kahamlyk
>Priority: Blocker
>
> `g.with_('requestId', uuid.uuid1()).V().count().toList()`
> failed with error `AttributeError: 'UUID' object has no attribute 'replace'`
> in line 
> `uuid.UUID(request_id) # Checks for proper UUID or else server will return an 
> error.`



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


[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()

2024-02-14 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2488:
URL: https://github.com/apache/tinkerpop/pull/2488#issuecomment-1944399941

   VOTE +1




> Bad translation for g.tx()
> --
>
> Key: TINKERPOP-3031
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3031
> Project: TinkerPop
>  Issue Type: Bug
>  Components: translator
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Not sure if other translators are affected but {{GroovyTranslator}} doesn't 
> translate {{tx()}} properly:
> {code}
> gremlin> 
> GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script
> ==>g.tx("rollback")
> {code}



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


[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()

2024-02-14 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2488:
URL: https://github.com/apache/tinkerpop/pull/2488#issuecomment-1944396448

   VOTE +1




> Bad translation for g.tx()
> --
>
> Key: TINKERPOP-3031
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3031
> Project: TinkerPop
>  Issue Type: Bug
>  Components: translator
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Not sure if other translators are affected but {{GroovyTranslator}} doesn't 
> translate {{tx()}} properly:
> {code}
> gremlin> 
> GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script
> ==>g.tx("rollback")
> {code}



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


[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()

2024-02-14 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2488:
URL: https://github.com/apache/tinkerpop/pull/2488#issuecomment-1944391281

   VOTE +1




> Bad translation for g.tx()
> --
>
> Key: TINKERPOP-3031
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3031
> Project: TinkerPop
>  Issue Type: Bug
>  Components: translator
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Not sure if other translators are affected but {{GroovyTranslator}} doesn't 
> translate {{tx()}} properly:
> {code}
> gremlin> 
> GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script
> ==>g.tx("rollback")
> {code}



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-02-14 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on PR #2468:
URL: https://github.com/apache/tinkerpop/pull/2468#issuecomment-1943802015

   > In general I like the idea of testing both .NET 6 and .NET 8 in GHA 
similar to how Java is currently setup (I don't see a need for contributors to 
run both locally)
   
   I agree in general. I would also like to just execute the tests in GHA for 
.NET 6 and 8 without requiring contributors to have both installed, but I can't 
find a solution for this which doesn't require ugly workarounds.
   We can't just configure this for GHA unfortunately. Instead, we need to add 
both versions as `TargetFrameworks` to the `csproj` config files of the test 
projects like this to let the tests run on both versions:
   
   ```xml
   net6.0;net8.0
   ```
   
   But if we do that, then you also need to have both installed in order to 
execute the tests. If you only have .NET 8 installed, then you'll get an error:
   
   ```
   Testhost process for source(s) 
'[...]/tinkerpop/gremlin-dotnet/test/Gremlin.Net.UnitTest/bin/Debug/net6.0/Gremlin.Net.UnitTest.dll'
 exited with error: You must install or update .NET to run this application.
   App: 
[...]/tinkerpop/gremlin-dotnet/test/Gremlin.Net.UnitTest/bin/Debug/net6.0/testhost.dll
   Architecture: x64
   Framework: 'Microsoft.NETCore.App', version '6.0.0' (x64)
   ```
   
   So, if we want to execute the tests for both versions in GHA, then we also 
need to test them like this locally which means that all contributors need to 
have both versions installed.
   
   But since you already cast your vote and the PR has been open for 2 weeks 
already (longer than our 7 day cool down time), I'll wait a few more days in 
case any one else has any insights on this and merge the PR if not.




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Blocker
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

spmallette merged PR #2487:
URL: https://github.com/apache/tinkerpop/pull/2487




> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2488?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Comparison is base 
[(`4e8a8f9`)](https://app.codecov.io/gh/apache/tinkerpop/commit/4e8a8f95fa5237bca98de9b7b65a3a056ee44067?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.14% compared to head 
[(`d4892ad`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2488?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.14%.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@Coverage Diff @@
   ## 3.6-dev#2488   +/-   ##
   ==
 Coverage  75.14%   75.14%   
   - Complexity 1234412345+1 
   ==
 Files   1058 1058   
 Lines  6361063628   +18 
 Branches6962 6967+5 
   ==
   + Hits   4779847815   +17 
   - Misses 1322613231+5 
   + Partials2586 2582-4 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2488?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> Bad translation for g.tx()
> --
>
> Key: TINKERPOP-3031
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3031
> Project: TinkerPop
>  Issue Type: Bug
>  Components: translator
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Not sure if other translators are affected but {{GroovyTranslator}} doesn't 
> translate {{tx()}} properly:
> {code}
> gremlin> 
> GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script
> ==>g.tx("rollback")
> {code}



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


[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

spmallette opened a new pull request, #2488:
URL: https://github.com/apache/tinkerpop/pull/2488

   https://issues.apache.org/jira/browse/TINKERPOP-3031
   
   VOTE +1




> Bad translation for g.tx()
> --
>
> Key: TINKERPOP-3031
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3031
> Project: TinkerPop
>  Issue Type: Bug
>  Components: translator
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Not sure if other translators are affected but {{GroovyTranslator}} doesn't 
> translate {{tx()}} properly:
> {code}
> gremlin> 
> GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script
> ==>g.tx("rollback")
> {code}



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2483:
URL: https://github.com/apache/tinkerpop/pull/2483#issuecomment-1942128603

   LGTM VOTE +1




> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2487:
URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942116756

   LGTM VOTE +1




> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

xiazcy commented on PR #2487:
URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942092498

   VOTE +1




> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2487:
URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942076338

   VOTE +1
   
   not exactly related to the current ticket, but is there same issue for 
`MergeV`?
   
   




> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on code in PR #2487:
URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488293645


##
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature:
##
@@ -841,3 +841,45 @@ Feature: Step - mergeE()
   """
 When iterated to list
 Then the traversal will raise an error with message containing text of 
"Property key can not be a hidden key: ~label"
+
+  Scenario: 
g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX
+Given the empty graph
+And the graph initializer of
+  """
+  g.addV("person").property("name", "marko").as("a").
+addV("person").property("name", "vadas").as("b").
+addE("knows").property("weight", 1).from("a").to("b")
+  """
+And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", 
\"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]"
+And the traversal of
+  """
+  g.V().mergeE(xx1).
+  option(Merge.onMatch, __.sideEffect(__.property("weight", 
0)).constant([:]))
+  """
+When iterated to list
+Then the result should have a count of 2
+And the graph should return 2 for count of "g.V()"
+And the graph should return 0 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",1)"
+And the graph should return 1 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",0)"
+And the graph should return 0 for count of 
"g.V().hasLabel(\"knows\").has(\"weight\")"

Review Comment:
   bad cut/paste - fixed both - thanks.





> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2483:
URL: https://github.com/apache/tinkerpop/pull/2483#issuecomment-1941971681

   VOTE +1




> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on code in PR #2487:
URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488216500


##
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature:
##
@@ -841,3 +841,45 @@ Feature: Step - mergeE()
   """
 When iterated to list
 Then the traversal will raise an error with message containing text of 
"Property key can not be a hidden key: ~label"
+
+  Scenario: 
g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX
+Given the empty graph
+And the graph initializer of
+  """
+  g.addV("person").property("name", "marko").as("a").
+addV("person").property("name", "vadas").as("b").
+addE("knows").property("weight", 1).from("a").to("b")
+  """
+And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", 
\"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]"
+And the traversal of
+  """
+  g.V().mergeE(xx1).
+  option(Merge.onMatch, __.sideEffect(__.property("weight", 
0)).constant([:]))
+  """
+When iterated to list
+Then the result should have a count of 2
+And the graph should return 2 for count of "g.V()"
+And the graph should return 0 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",1)"
+And the graph should return 1 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",0)"
+And the graph should return 0 for count of 
"g.V().hasLabel(\"knows\").has(\"weight\")"
+
+  Scenario: 
g_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX
+Given the empty graph
+And the graph initializer of
+  """
+  g.addV("person").property("name", "marko").as("a").
+addV("person").property("name", "vadas").as("b").
+addE("knows").property("weight", 1).from("a").to("b")
+  """
+And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", 
\"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]"
+And the traversal of
+  """
+  g.mergeE(xx1).
+  option(Merge.onMatch, __.sideEffect(__.property("weight", 
0)).constant([:]))
+  """
+When iterated to list
+Then the result should have a count of 1
+And the graph should return 2 for count of "g.V()"
+And the graph should return 0 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",1)"
+And the graph should return 1 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",0)"
+And the graph should return 0 for count of 
"g.V().hasLabel(\"knows\").has(\"weight\")"

Review Comment:
   ```suggestion
   And the graph should return 0 for count of "g.V().has(\"weight\")"
   ```





> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on code in PR #2487:
URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488215072


##
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature:
##
@@ -841,3 +841,45 @@ Feature: Step - mergeE()
   """
 When iterated to list
 Then the traversal will raise an error with message containing text of 
"Property key can not be a hidden key: ~label"
+
+  Scenario: 
g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX
+Given the empty graph
+And the graph initializer of
+  """
+  g.addV("person").property("name", "marko").as("a").
+addV("person").property("name", "vadas").as("b").
+addE("knows").property("weight", 1).from("a").to("b")
+  """
+And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", 
\"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]"
+And the traversal of
+  """
+  g.V().mergeE(xx1).
+  option(Merge.onMatch, __.sideEffect(__.property("weight", 
0)).constant([:]))
+  """
+When iterated to list
+Then the result should have a count of 2
+And the graph should return 2 for count of "g.V()"
+And the graph should return 0 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",1)"
+And the graph should return 1 for count of 
"g.E().hasLabel(\"knows\").has(\"weight\",0)"
+And the graph should return 0 for count of 
"g.V().hasLabel(\"knows\").has(\"weight\")"

Review Comment:
   ```suggestion
   And the graph should return 0 for count of "g.V().has(\"weight\")"
   ```





> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Comparison is base 
[(`c7f3d24`)](https://app.codecov.io/gh/apache/tinkerpop/commit/c7f3d2454a654cea57c2a99077d859b115fec4c3?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.15% compared to head 
[(`7c99643`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.16%.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@Coverage Diff @@
   ## 3.6-dev#2487   +/-   ##
   ==
 Coverage  75.15%   75.16%   
   - Complexity 1235112352+1 
   ==
 Files   1058 1058   
 Lines  6361063610   
 Branches6962 6962   
   ==
   + Hits   4780647812+6 
   + Misses 1322413217-7 
   - Partials2580 2581+1 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

spmallette opened a new pull request, #2487:
URL: https://github.com/apache/tinkerpop/pull/2487

   https://issues.apache.org/jira/browse/TINKERPOP-3056
   
   Since the current traverser was only being updated onMatch when it was used 
as a start step doing mutations in a sideEffect() would update whatever the 
current traverser was. This code may have been leftover from a time when the 
merge steps operated more readily on the current traverser as an argument to 
the step.
   
   VOTE +1




> mergeE is updating vertices in certain conditions
> -
>
> Key: TINKERPOP-3056
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3056
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Blocker
>
> {code}
> gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 
> 1).as('a').
> ..1>   addV('mytestlabel').property(id, 'testA2').property('timestamp', 
> 1).as('a2').
> ..2>   addE('mytestlabel').from('a').to('a2').property('timestamp', 
> 2).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', 
> (Direction.to):'testA2']).
> ..1> option(onMatch, sideEffect(property(single, 'timestamp', 
> 4).property(single, 'edgelabel', 'exists')).
> ..2> constant([:])).valueMap(true)
> ==>[id:2,label:mytestlabel,timestamp:2]
> ==>[id:2,label:mytestlabel,timestamp:2]
> gremlin> g.V().valueMap(true)
> ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]]
> {code}



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-13 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on code in PR #2483:
URL: https://github.com/apache/tinkerpop/pull/2483#discussion_r1487827851


##
docs/src/upgrade/release-4.x.x.asciidoc:
##
@@ -75,10 +75,43 @@ See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-3017[TINKERPOP-3017]
 Starting from this version, `gremlin-javascript` will deserialize `Set` data 
into a ECMAScript 2015 Set. Previously,
 these were deserialized into arrays.
 
+ Gremlin Grammar Changes
+
+A number of changes have been introduce to the Gremlin grammar to help make it 
be more consistent and easier to use.
+
+*`new` keyword is now optional*
+
+The `new` keyword is now optional in all cases where it was previously used. 
Both of the following examples are now
+valid syntax with the second being the preferred form going forward:
+
+[source,groovy]
+
+g.V().withStrategies(new SubgraphStrategy(vertices: __.hasLabel('person')))
+
+g.V().withStrategies(SubgraphStrategy(vertices: __.hasLabel('person')))
+
+
+In a future version, it is likely that the `new` keyword will be removed 
entirely from the grammar.
+
+*Supports withoutStrategies()*
+
+The `withoutStrategies()` configuration step is now supported syntax for the 
grammar. While this option is not commonly
+used it is still a part of the Gremlin language and there are times where it 
is helpful to have this fine grained
+control over how a traversal works.
+
+[source,groovy]
+
+g.V().withoutStrategies(CountStrategy)

Review Comment:
   It doesn't need a String. The grammar should accept any `Identifier` there. 
If it matches a registered strategy from a provider, it will work as valid 
syntax. 
   
   
https://github.com/apache/tinkerpop/pull/2483/files#diff-39ed59720093773649512a14aeba8c3da9e6d21ce016c7f0cdf7a1242e3a76a1R72
   
   I suppose it will be up to each programming language to decide what to do 
with that. For Java, you could have reference to the actual class file from the 
provider and could use that. Since it matches on the simple name of the class a 
dummy class could also be used. Alternatively, Java (and other languages) could 
be changed to allow a `String` I suppose, but I wasn't ready to make that 
choice. I mostly wanted to focus in on the grammar and getting that working 
right for standard TinkerPop strategies. Created: 
https://issues.apache.org/jira/browse/TINKERPOP-3055 to track.





> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-02-12 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2468:
URL: https://github.com/apache/tinkerpop/pull/2468#issuecomment-1939207359

   In general I like the idea of testing both .NET 6 and .NET 8 in GHA similar 
to how Java is currently setup (I don't see a need for contributors to run both 
locally). In my mind testing both runtimes gives the strongest guarantee 
against issues which only appear for specific versions. .NET compatibility is 
not something I know very well however so I will defer to @FlorianHockmann and 
@vkagamlyk to determine what level of testing is required.
   
   VOTE +0




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Minor
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-02-12 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on PR #2468:
URL: https://github.com/apache/tinkerpop/pull/2468#issuecomment-1938856875

   > did you leave src\Gremlin.Net\Gremlin.Net.csproj unchanged on purpose?
   
   Yes, we still only target .NET Standard 2.0 and .NET 6. .NET 6 is there also 
only because we're using Websocket compression which wasn't present in .NET 
Standard, but was only added in .NET 6.
   Users on .NET 7 or 8 can of course still use Gremlin.Net. They should get 
the version built for .NET 6 in that case.
   
   We could of course add another target for .NET 7 and/or .NET 8, but I think 
that doesn't add any benefit if we're not using any APIs specific for these 
versions.




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Minor
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-09 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on code in PR #2483:
URL: https://github.com/apache/tinkerpop/pull/2483#discussion_r1484898149


##
docs/src/upgrade/release-4.x.x.asciidoc:
##
@@ -75,10 +75,43 @@ See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-3017[TINKERPOP-3017]
 Starting from this version, `gremlin-javascript` will deserialize `Set` data 
into a ECMAScript 2015 Set. Previously,
 these were deserialized into arrays.
 
+ Gremlin Grammar Changes
+
+A number of changes have been introduce to the Gremlin grammar to help make it 
be more consistent and easier to use.
+
+*`new` keyword is now optional*
+
+The `new` keyword is now optional in all cases where it was previously used. 
Both of the following examples are now
+valid syntax with the second being the preferred form going forward:
+
+[source,groovy]
+
+g.V().withStrategies(new SubgraphStrategy(vertices: __.hasLabel('person')))
+
+g.V().withStrategies(SubgraphStrategy(vertices: __.hasLabel('person')))
+
+
+In a future version, it is likely that the `new` keyword will be removed 
entirely from the grammar.
+
+*Supports withoutStrategies()*
+
+The `withoutStrategies()` configuration step is now supported syntax for the 
grammar. While this option is not commonly
+used it is still a part of the Gremlin language and there are times where it 
is helpful to have this fine grained
+control over how a traversal works.
+
+[source,groovy]
+
+g.V().withoutStrategies(CountStrategy)

Review Comment:
   also for providers



##
docs/src/upgrade/release-4.x.x.asciidoc:
##
@@ -75,10 +75,43 @@ See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-3017[TINKERPOP-3017]
 Starting from this version, `gremlin-javascript` will deserialize `Set` data 
into a ECMAScript 2015 Set. Previously,
 these were deserialized into arrays.
 
+ Gremlin Grammar Changes
+
+A number of changes have been introduce to the Gremlin grammar to help make it 
be more consistent and easier to use.
+
+*`new` keyword is now optional*
+
+The `new` keyword is now optional in all cases where it was previously used. 
Both of the following examples are now
+valid syntax with the second being the preferred form going forward:
+
+[source,groovy]
+
+g.V().withStrategies(new SubgraphStrategy(vertices: __.hasLabel('person')))
+
+g.V().withStrategies(SubgraphStrategy(vertices: __.hasLabel('person')))
+
+
+In a future version, it is likely that the `new` keyword will be removed 
entirely from the grammar.
+
+*Supports withoutStrategies()*
+
+The `withoutStrategies()` configuration step is now supported syntax for the 
grammar. While this option is not commonly
+used it is still a part of the Gremlin language and there are times where it 
is helpful to have this fine grained
+control over how a traversal works.
+
+[source,groovy]
+
+g.V().withoutStrategies(CountStrategy)

Review Comment:
   also for providers





> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-09 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on code in PR #2483:
URL: https://github.com/apache/tinkerpop/pull/2483#discussion_r1484897917


##
docs/src/upgrade/release-4.x.x.asciidoc:
##
@@ -75,10 +75,43 @@ See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-3017[TINKERPOP-3017]
 Starting from this version, `gremlin-javascript` will deserialize `Set` data 
into a ECMAScript 2015 Set. Previously,
 these were deserialized into arrays.
 
+ Gremlin Grammar Changes
+
+A number of changes have been introduce to the Gremlin grammar to help make it 
be more consistent and easier to use.
+
+*`new` keyword is now optional*
+
+The `new` keyword is now optional in all cases where it was previously used. 
Both of the following examples are now
+valid syntax with the second being the preferred form going forward:
+
+[source,groovy]
+
+g.V().withStrategies(new SubgraphStrategy(vertices: __.hasLabel('person')))
+
+g.V().withStrategies(SubgraphStrategy(vertices: __.hasLabel('person')))
+
+
+In a future version, it is likely that the `new` keyword will be removed 
entirely from the grammar.
+
+*Supports withoutStrategies()*
+
+The `withoutStrategies()` configuration step is now supported syntax for the 
grammar. While this option is not commonly
+used it is still a part of the Gremlin language and there are times where it 
is helpful to have this fine grained
+control over how a traversal works.
+
+[source,groovy]
+
+g.V().withoutStrategies(CountStrategy)

Review Comment:
   does it make sense to add an overload that accepts string as argument? Might 
be useful for GLV's, like
   `withoutStrategies(SubgraphStrategy.class)` vs 
`withoutStrategies("SubgraphStrategy")`. Also for providers





> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-09 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on code in PR #2483:
URL: https://github.com/apache/tinkerpop/pull/2483#discussion_r1484897917


##
docs/src/upgrade/release-4.x.x.asciidoc:
##
@@ -75,10 +75,43 @@ See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-3017[TINKERPOP-3017]
 Starting from this version, `gremlin-javascript` will deserialize `Set` data 
into a ECMAScript 2015 Set. Previously,
 these were deserialized into arrays.
 
+ Gremlin Grammar Changes
+
+A number of changes have been introduce to the Gremlin grammar to help make it 
be more consistent and easier to use.
+
+*`new` keyword is now optional*
+
+The `new` keyword is now optional in all cases where it was previously used. 
Both of the following examples are now
+valid syntax with the second being the preferred form going forward:
+
+[source,groovy]
+
+g.V().withStrategies(new SubgraphStrategy(vertices: __.hasLabel('person')))
+
+g.V().withStrategies(SubgraphStrategy(vertices: __.hasLabel('person')))
+
+
+In a future version, it is likely that the `new` keyword will be removed 
entirely from the grammar.
+
+*Supports withoutStrategies()*
+
+The `withoutStrategies()` configuration step is now supported syntax for the 
grammar. While this option is not commonly
+used it is still a part of the Gremlin language and there are times where it 
is helpful to have this fine grained
+control over how a traversal works.
+
+[source,groovy]
+
+g.V().withoutStrategies(CountStrategy)

Review Comment:
   does it make sense to add an overload that accepts string as argument? Might 
be useful for GLV's, like
   `withoutStrategies(SubgraphStrategy.class)` vs 
`withoutStrategies("SubgraphStrategy")`





> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-02-09 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2468:
URL: https://github.com/apache/tinkerpop/pull/2468#issuecomment-1936730837

   @FlorianHockmann did you leave `src\Gremlin.Net\Gremlin.Net.csproj` 
unchanged on purpose?




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Minor
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-07 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2483?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Comparison is base 
[(`fae51e8`)](https://app.codecov.io/gh/apache/tinkerpop/commit/fae51e87e7362648e53e58c66206a3a0442caa99?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 76.16% compared to head 
[(`5a30307`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2483?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 71.08%.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@ Coverage Diff  @@
   ## master#2483  +/-   ##
   
   - Coverage 76.16%   71.08%   -5.09% 
   
 Files  1085   25-1060 
 Lines 65191 3949   -61242 
 Branches   72890-7289 
   
   - Hits  49654 2807   -46847 
   + Misses12836  951   -11885 
   + Partials   2701  191-2510 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2483?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies

2024-02-07 Thread ASF GitHub Bot (Jira)


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

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

spmallette opened a new pull request, #2483:
URL: https://github.com/apache/tinkerpop/pull/2483

   https://issues.apache.org/jira/browse/TINKERPOP-2862
   
   Made "new" keyword optional in grammar TINKERPOP-3046. Language variants 
still have trouble using withoutStrategies() because of TINKERPOP-3047 and 
TINKERPOP-3048 that will need to get completed before they will work properly.




> A grammar in TinkerPop should accept withoutStrategies
> --
>
> Key: TINKERPOP-2862
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2862
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: language
>Affects Versions: 3.6.1, 3.5.4
>Reporter: Norio Akagi
>Priority: Major
>
> In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}.
> [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65]
>  
> We should support so that a caller can disable a specific TinkerPop optimizer 
> at will. Note that graph providers can have their own Strategy, which may be 
> out of scope of {{withoutStrategies.}}



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-06 Thread ASF GitHub Bot (Jira)


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

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

spmallette merged PR #2475:
URL: https://github.com/apache/tinkerpop/pull/2475




> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Prashant
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-05 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on PR #2481:
URL: https://github.com/apache/tinkerpop/pull/2481#issuecomment-1928575168

   closing for #2475 which was updated to match what is here.




> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Prashant
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-05 Thread ASF GitHub Bot (Jira)


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

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

spmallette closed pull request #2481: TINKERPOP-3045: EarlyLimitStrategy is too 
aggresive to promote Limit …
URL: https://github.com/apache/tinkerpop/pull/2481




> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Prashant
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-05 Thread ASF GitHub Bot (Jira)


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

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

upadhyay-prashant opened a new pull request, #2481:
URL: https://github.com/apache/tinkerpop/pull/2481

   …and thus causing incorrect results
   
   https://issues.apache.org/jira/browse/TINKERPOP-3045
   
   EarlyLimitStrategy was too aggressive to promote limit before map steps. Not 
all the Map step can be displaced. Specifically if a Map step has capability to 
filter the results, then it should be displaced.
   
   This code change brings in a utility to statically determine the output 
arity of a step and accordingly allow EarlyLimitStrategy to make a decision 
whether a map step can be moved.
   
   Test is added in Range.feature which ensures that this bug is fixed. This 
test gives wrong result without this code change.




> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Prashant
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-05 Thread ASF GitHub Bot (Jira)


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

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

upadhyay-prashant commented on code in PR #2475:
URL: https://github.com/apache/tinkerpop/pull/2475#discussion_r1479052070


##
gremlin-core/pom.xml:
##
@@ -101,6 +101,16 @@ limitations under the License.
 hamcrest
 test
 
+

Review Comment:
   done 



##
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Range.feature:
##
@@ -280,4 +280,16 @@ Feature: Step - range()
 When iterated to list
 Then the result should be unordered
   | result |
-  | d[29].i |
\ No newline at end of file
+  | d[29].i |
+
+  Scenario: g_V_mapXinX_limitX2X_valuesXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().map(__.in()).limit(2).values('name')

Review Comment:
   done





> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
>Reporter: Prashant
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-02-02 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann commented on PR #2468:
URL: https://github.com/apache/tinkerpop/pull/2468#issuecomment-1924148227

   Just to clarify: This PR doesn't change which frameworks we support with 
Gremlin.Net. It's only about which frameworks we use to build and test it.
   Gremlin.Net mainly [targets .NET Standard 
2.0](https://github.com/apache/tinkerpop/blob/master/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj#L21)
 which is implemented by various .NET frameworks like .NET 5, .NET 6, .NET 7, 
and .NET 8. It has .NET 6 as an additional explicit target because we 
optionally use some APIs which were only introduced in .NET 6 to support 
Websocket compression. This can therefore only be used by users on .NET 6 and 
higher.
   
   Before this PR, we built and tested Gremlin.Net with .NET 6. With this PR, 
we're using .NET 8 instead. But users can still stay on .NET 6 (or 7 or 
whatever) and use newer versions of Gremlin.Net with it.
   
   Not sure if this was clear to you and you just wanted to propose that we 
**test** against .NET 6 **and** .NET 8. In that case, I agree with you in 
general that it would be good to test on both frameworks (or better to say 
runtimes in this case). The problem with that however is that all contributors 
then also need both runtimes installed. If you just have .NET 8 installed, then 
the tests will fail as you also need .NET 6 in that case.
   That's also why we always use the same version across all release branches.
   
   In the end, the question comes down to how many contributors are actually 
affected by this and how often do we expect to find version specific bugs 
because of it. I guess many contributors simply don't execute .NET tests on 
their machines and leave that up to GH Actions or they use the Docker based 
setup to execute the tests. So, this probably doesn't affect many contributors.
   
   On the other hand, 
[TINKERPOP-3029](https://issues.apache.org/jira/browse/TINKERPOP-3029) is also 
the only bug that comes to my mind which we could have catched by executing 
tests on different runtimes. Although I think it wouldn't have helped much as 
we still would have to be on .NET 8 in the first place to find it. So, the 
better question is how often a bug occurs that is specific to an **older** 
framework than the latest LTS version which we want to use by default.
   
   I don't have a strong opinion on this. If we are confident that this doesn't 
really affect contributors negatively, then I'm in favor of executing the tests 
on multiple runtimes. Otherwise, I'd stay with our current approach.




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Minor
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-02 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on PR #2475:
URL: https://github.com/apache/tinkerpop/pull/2475#issuecomment-1923659468

   for other committers, i will help backfill some extra tests on this one, 
deal with CHANGELOG, etc. on merge




> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
> Environment: ALL
>Reporter: Prashant
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-02 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on code in PR #2475:
URL: https://github.com/apache/tinkerpop/pull/2475#discussion_r1475959035


##
gremlin-core/pom.xml:
##
@@ -101,6 +101,16 @@ limitations under the License.
 hamcrest
 test
 
+

Review Comment:
   it looks like there is relatively minor usage of guava and lombok. could you 
please adjust the `StepOutputArityPredictor` to   not use these libraries so 
that we don't need to take the dependency?





> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
> Environment: ALL
>Reporter: Prashant
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-02 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on code in PR #2475:
URL: https://github.com/apache/tinkerpop/pull/2475#discussion_r1475959778


##
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Range.feature:
##
@@ -280,4 +280,16 @@ Feature: Step - range()
 When iterated to list
 Then the result should be unordered
   | result |
-  | d[29].i |
\ No newline at end of file
+  | d[29].i |
+
+  Scenario: g_V_mapXinX_limitX2X_valuesXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().map(__.in()).limit(2).values('name')

Review Comment:
   nit: we prefer double quotes for strings in our feature tests as a 
convention. 





> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
> Environment: ALL
>Reporter: Prashant
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3045) EarlyLimitStrategy is too aggresive to promote Limit and thus causing incorrect results

2024-02-01 Thread ASF GitHub Bot (Jira)


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

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

upadhyay-prashant opened a new pull request, #2475:
URL: https://github.com/apache/tinkerpop/pull/2475

   …and thus causing incorrect results
   
   https://issues.apache.org/jira/browse/TINKERPOP-3045
   
   EarlyLimitStrategy was too aggressive to promote limit before map steps. Not 
all the Map step can be displaced. Specifically if a Map step has capability to 
filter the results, then it should be displaced.
   
   This code change brings in a utility to statically determine the output 
arity of a step and accordingly allow EarlyLimitStrategy to make a decision 
whether a map step can be moved.
   
   Test is added in Range.feature which ensures that this bug is fixed. This 
test gives wrong result without this code change.




> EarlyLimitStrategy is too aggresive to promote Limit and thus causing 
> incorrect results
> ---
>
> Key: TINKERPOP-3045
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3045
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.6.6
> Environment: ALL
>Reporter: Prashant
>Priority: Major
>  Labels: easyfix
> Fix For: 3.6.7
>
>
> {code:java}
> gremlin>   g.V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko{code}
> {code:java}
> gremlin>   
> g.withoutStrategies(EarlyLimitStrategy).V().map(__.in().hasId('1')).limit(2).values('name')
> ==>marko
> ==>marko {code}
> Early Limit strategy pulls Limit in front of map steps. However not all map 
> steps allow the cardinality of the results flowing to be same. 
>  
> As is shown in example above.



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-02-01 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2468:
URL: https://github.com/apache/tinkerpop/pull/2468#issuecomment-1921859623

   I have some concerns over dropping the .NET 6 tests from 3.6-dev. .NET 6 
remains supported by Microsoft for another 9 months. We should continue to 
support it in 3.6.x until it reaches end of life. I think it makes sense to add 
.NET 8 tests but it should be parallel to, not replacing the .NET 6 tests.




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Minor
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-01-31 Thread ASF GitHub Bot (Jira)


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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2468?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Comparison is base 
[(`3ae5298`)](https://app.codecov.io/gh/apache/tinkerpop/commit/3ae529870bb6ad448e081fecd4ee095f667a5892?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.42% compared to head 
[(`2c0ce57`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2468?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 75.15%.
   > Report is 10 commits behind head on 3.6-dev.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@  Coverage Diff  @@
   ## 3.6-dev#2468  +/-   ##
   =
   - Coverage  75.42%   75.15%   -0.27% 
   + Complexity 1232112314   -7 
   =
 Files   1032 1057  +25 
 Lines  5969863470+3772 
 Branches6936 6936  
   =
   + Hits   4502947704+2675 
   - Misses 1228713193 +906 
   - Partials2382 2573 +191 
   ```
   
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2468?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Minor
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-3030) Update to .NET 8

2024-01-31 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann opened a new pull request, #2468:
URL: https://github.com/apache/tinkerpop/pull/2468

   https://issues.apache.org/jira/browse/TINKERPOP-3030
   
   I've also noticed that the examples used camel casing for some method names 
which I switched to pascal casing to stay idiomatic in C#.
   
   I had to update the Docker image to Ubuntu 20.04 because .NET 8 is not 
available for Ubuntu 18.04. Since 18.04 is out of support since June already, 
this update makes sense in general [1].
   I verified that the Docker build is still working with:
   ```sh
   ./docker/build.sh --dotnet
   ```
   
   VOTE +1
   
   [1]: https://wiki.ubuntu.com/Releases




> Update to .NET 8
> 
>
> Key: TINKERPOP-3030
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3030
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Minor
>
> .NET 8 is now the latest LTS release so we should update to it.
> We need to do that on all release branches so contributors only need to have 
> one version of .NET installed on their systems.
> This also means that we test by default with .NET 8 which would have shown 
> problems like the one described in TINKERPOP-3029.



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


[jira] [Commented] (TINKERPOP-3027) Pick.any should be any_()

2024-01-18 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk merged PR #2433:
URL: https://github.com/apache/tinkerpop/pull/2433




> Pick.any should be any_()
> -
>
> Key: TINKERPOP-3027
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3027
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Documentation shows {{any_()}} in the "Differences" section of the python 
> docs but it doesn't appear to be implemented. 



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


[jira] [Commented] (TINKERPOP-3027) Pick.any should be any_()

2024-01-17 Thread ASF GitHub Bot (Jira)


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

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

vkagamlyk commented on PR #2433:
URL: https://github.com/apache/tinkerpop/pull/2433#issuecomment-1896960030

   VOTE+1




> Pick.any should be any_()
> -
>
> Key: TINKERPOP-3027
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3027
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Documentation shows {{any_()}} in the "Differences" section of the python 
> docs but it doesn't appear to be implemented. 



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


[jira] [Commented] (TINKERPOP-3027) Pick.any should be any_()

2024-01-17 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer commented on PR #2433:
URL: https://github.com/apache/tinkerpop/pull/2433#issuecomment-1896773202

   Thanks Ryan, VOTE +1




> Pick.any should be any_()
> -
>
> Key: TINKERPOP-3027
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3027
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Documentation shows {{any_()}} in the "Differences" section of the python 
> docs but it doesn't appear to be implemented. 



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


[jira] [Commented] (TINKERPOP-3027) Pick.any should be any_()

2024-01-16 Thread ASF GitHub Bot (Jira)


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

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

kenhuuu commented on PR #2433:
URL: https://github.com/apache/tinkerpop/pull/2433#issuecomment-1894583332

   VOTE +1. Even though this is technically a breaking change, I'd argue it's 
just a bug fix since the documentation makes it sound like it should have been 
any_.




> Pick.any should be any_()
> -
>
> Key: TINKERPOP-3027
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3027
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Priority: Critical
>
> Documentation shows {{any_()}} in the "Differences" section of the python 
> docs but it doesn't appear to be implemented. 



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


[jira] [Commented] (TINKERPOP-3029) Gremlin.Net: Traversal enumeration fails on .NET 8

2024-01-15 Thread ASF GitHub Bot (Jira)


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

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

FlorianHockmann merged PR #2424:
URL: https://github.com/apache/tinkerpop/pull/2424




> Gremlin.Net: Traversal enumeration fails on .NET 8
> --
>
> Key: TINKERPOP-3029
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3029
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.5.8, 3.6.6, 3.7.1
>Reporter: Florian Hockmann
>Assignee: Florian Hockmann
>Priority: Critical
>
> This has been reported by Eric Sites on the dev mailing list: 
> [https://lists.apache.org/thread/snztwgk3s18h83mx8ql455hmx6ncl2r4]
> 
> I am having a lot of issues using the Gremlin.Net driver version 3.7.1 with 
> .Net 8.
> It is almost entirely unusable.
> Any request that uses an Iterator throws an exception ({{{}MoveNext{}}}, 
> {{{}Next{}}}, {{{}Iterate{}}}).
> {{{}System.InvalidOperationException: Enumeration has not started. Call 
> MoveNext{}}}.
> Tracked it down to a change in .Net 8 {{IEnumerable.Current}} behavior. 
> Here is an issue about this filed in dotnet runtime:
> [https://github.com/dotnet/runtime/issues/85243]
> New bad code:
> {code:java}
> var enumerator = saves.GetEnumerator();
> while (enumerator.Current == null) // <- Throws exception now
> {
>if (!enumerator.MoveNext())
>   return list;
> }
> {code}
> Should be changed to something like this:
> {code:java}
> while (enumerator.MoveNext())
> {
> var item = enumerator.Current;
> }
> {code}
> Here is an example of the issue in the Gremlin.Net code:
> [https://github.com/apache/tinkerpop/blob/e8b9532fc0ec811460e97ebf5e00b8b9ec9192ac/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs#L132]
> {code:java}
> private object? GetCurrent()
> {
> // Use dynamic to object to prevent runtime dynamic conversion evaluation
> return TraverserEnumerator.Current?.Object;
> }
> {code}



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


[jira] [Commented] (TINKERPOP-3025) l_trim() and r_trim() missing in python

2024-01-11 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer merged PR #2432:
URL: https://github.com/apache/tinkerpop/pull/2432




> l_trim() and r_trim() missing in python
> ---
>
> Key: TINKERPOP-3025
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3025
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.7.1
>Reporter: Stephen Mallette
>Priority: Critical
>
> The steps are present but only in the camel case form and not the proper 
> pythonic snake case form. Check for other missing snake case options. 
> Deprecate the old forms.



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


[jira] [Commented] (TINKERPOP-2872) Inconsistency in comparing Elements in JavaScript tests

2024-01-11 Thread ASF GitHub Bot (Jira)


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

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

Cole-Greer merged PR #2422:
URL: https://github.com/apache/tinkerpop/pull/2422




> Inconsistency in comparing Elements in JavaScript tests
> ---
>
> Key: TINKERPOP-2872
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2872
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: javascript
>Affects Versions: 3.7.0
>Reporter: Valentyn Kahamlyk
>Priority: Major
>
> In most GLV's we consider Elements the same when they have the same ID.
> In JavaScript tests used [member wise 
> comparison|https://github.com/apache/tinkerpop/blob/master/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js#L176]
> Make it work like the others GLV's, just compare ID.



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


  1   2   3   4   5   6   7   8   9   10   >