[jira] [Created] (TINKERPOP-3059) Prevent repeated option() calls to merge steps

2024-02-29 Thread Stephen Mallette (Jira)
Stephen Mallette created TINKERPOP-3059:
---

 Summary: Prevent repeated option() calls to merge steps
 Key: TINKERPOP-3059
 URL: https://issues.apache.org/jira/browse/TINKERPOP-3059
 Project: TinkerPop
  Issue Type: Improvement
  Components: language, process
Affects Versions: 3.7.1
Reporter: Stephen Mallette


Could avoid some confusion if we prevented:

{code}
mergeV(...).
  option(onCreate, ...).
  option(onCreate, ...).
  option(onCreate, ...)
{code}



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


Re: [DISCUSS] Replace WebSockets with HTTP 1.1

2024-02-29 Thread Ken Hu
Thanks for the responses so far.

I think we're still open to having multiple protocols as long as there is
some form of commitment to maintaining it and there is demand for it within
the community. This would mean that we could add grpc but someone would
have to be willing to step up to maintain it. Also, I view HTTP/1.1 as a
starting point for the transition from WebSockets to HTTP. The features you
mentioned that would be beneficial are part of HTTP/2 which, I think, is
where we probably want to head longer term.

>From an end user perspective, there should hopefully be little to no change
at all. The underlying protocol used to communicate with the server is
mostly transparent to them when they use the GLVs. The only real difference
is that they will probably have to adjust some of their connection options
which is something users have raised issues with before and this would
improve that situation. The users that potentially will get affected the
most are those that use a third party driver, they may have to continue
using 3.x unless those drivers are updated. For providers, this change
shouldn't affect them as long as they use the Gremlin Server (which from
what I can tell includes most providers). In the end, I believe this is a
change that may cause some minor differences for users, but will mostly
help with the continued maintenance of the project.

On Wed, Feb 28, 2024 at 4:38 PM Josh Perryman 
wrote:

> I understand the cost/complexity argument. But do we have any sense of the
> value / feature side of things? What's the implementation look like among
> providers? Is it exclusively HTTP or do some implement both, or just
> Websockets? From there, what about actual usage among users? Do the
> implementers see any preference on that side?
>
> I think this a reasonable ask, but the way it is presented is heavily
> biased toward developer preferences. Do we have any information on the user
> side?
>
> -Josh
>
> On Tue, Feb 27, 2024 at 4:29 PM Ken Hu  wrote:
>
> > Hi All,
> >
> > I would like to start the discussion of making HTTP the only protocol
> that
> > Apache TinkerPop supports starting with the next major version. There are
> > several reasons I'm suggesting this. First, we already support both
> > WebSockets and HTTP in Gremlin Server which causes a maintenance burden
> of
> > having to support both. Also, I ran some tests and a streaming version of
> > HTTP using chunked transfer encoding performs just as well as streaming
> via
> > WebSockets so there won't be a performance loss in terms of latency.
> > Second, HTTP is significantly more popular so it will be easier for other
> > third party clients to connect to. Third, this is an opportunity to
> rework
> > the remote Transaction API which in its current form causes unnecessary
> > complexity in the server. This will also serve as a good opportunity to
> > make the connection options more similar among all the GLVs.
> >
> > I've experimented with replacing WebSockets with HTTP (both 1.1 and 2)
> and
> > noticed similar performance in most cases. For HTTP/1.1, there was some
> > slowdown in cases where thousands of queries with few results were issued
> > per second as lots of HTTP connections needed to be opened, but I feel
> like
> > this isn't a practical use case. My recommendation for now is to go with
> > HTTP/1.1 as it has all the features we need and it has mostly been
> > implemented already on the server side.
> >
> > To ease the transition, I'm suggesting that we maintain WebSockets for
> the
> > foreseeable future in the 3.x line while the 4.x line is moved to use
> HTTP
> > exclusively. This will also give more time for us to build out support
> for
> > transactions over HTTP which is the only missing feature that is
> supported
> > when using WebSockets.
> >
> > I'd like to hear any thoughts regarding this.
> >
> > Thanks,
> > Ken
> >
>


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

2024-02-29 Thread Cole Greer (Jira)


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

Cole Greer closed TINKERPOP-3054.
-
Fix Version/s: 3.6.7
   3.7.2
 Assignee: Cole Greer
   Resolution: Fixed

> 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
>Assignee: Cole Greer
>Priority: Blocker
> Fix For: 3.6.7, 3.7.2
>
>
> `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&focusedCommentId=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&focusedCommentId=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] [Closed] (TINKERPOP-3020) Incorrect tests

2024-02-29 Thread Cole Greer (Jira)


 [ 
https://issues.apache.org/jira/browse/TINKERPOP-3020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cole Greer closed TINKERPOP-3020.
-
Fix Version/s: 3.7.2
 Assignee: Cole Greer
   Resolution: Fixed

Fixed in https://github.com/apache/tinkerpop/pull/2503

> Incorrect tests
> ---
>
> Key: TINKERPOP-3020
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3020
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: test-suite
>Affects Versions: 3.7.1
>Reporter: pieter martin
>Assignee: Cole Greer
>Priority: Blocker
> Fix For: 3.7.2
>
>
> The following tests are incorrectly specified.
> {code:java}
> OptOut...
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_bothE_weight",
>  "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_bothE_weight",
>  "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_bothE_dedup_weight",
>  "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_bothE_weight",
>  "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_both_name", 
> "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_both_name", 
> "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_both_dedup_name",
>  "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_both_name", 
> "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_out_name", 
> "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_in_name", 
> "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_out_name", 
> "int should be double"),
> Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_out_name", 
> "int should be double"),
> Map.entry("g_VX1X_formatXstrX_byXconstantXhelloXX_byXvaluesXnameXX", "id can 
> not be an int"),
> Map.entry("g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists",
>  "int should be double"),
> {code}



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


[jira] [Closed] (TINKERPOP-3026) checkAdjacentVertices is misconfigured for python in SubgraphStrategy

2024-02-29 Thread Cole Greer (Jira)


 [ 
https://issues.apache.org/jira/browse/TINKERPOP-3026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cole Greer closed TINKERPOP-3026.
-
Fix Version/s: 3.7.2
 Assignee: Cole Greer
   Resolution: Fixed

Fixed in https://github.com/apache/tinkerpop/pull/2502

> checkAdjacentVertices is misconfigured for python in SubgraphStrategy
> -
>
> Key: TINKERPOP-3026
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3026
> Project: TinkerPop
>  Issue Type: Bug
>  Components: python
>Affects Versions: 3.6.6
>Reporter: Stephen Mallette
>Assignee: Cole Greer
>Priority: Critical
> Fix For: 3.7.2
>
>
> The error is happening here: 
> https://github.com/apache/tinkerpop/blob/c28aa2ec8cce281d51e9323070610d3f71a6291e/gremlin-python/src/main/python/gremlin_python/process/strategies.py#L90
>  where the configuration string is not being set properly. But then that begs 
> the question as to why there is no tests failure - presumably we don't test 
> the {{true}} condition, so add a test to cover that



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