[jira] [Commented] (TINKERPOP-2243) Add user-agent to RequestOptions

2019-06-18 Thread Bryn Cooke (JIRA)


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

Bryn Cooke commented on TINKERPOP-2243:
---

BTW I do see the value in trying to generically expose the request headers to 
the client. Many of the existing Tokens should probably make their way there 
rather than residing in the payload. This will be a much larger refactor.

> Add user-agent to RequestOptions
> 
>
> Key: TINKERPOP-2243
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2243
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver, server
>Affects Versions: 3.4.2
>Reporter: Bryn Cooke
>Priority: Major
>
> It would be useful to know the 'user-agent' that is sending a request so that 
> the server can react in different ways. For instance:
>  * To log differently.
>  * To give different error messages.
> For instance, if the user is connecting via gremlin console then error 
> messages can include gremlin console specific help.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (TINKERPOP-2243) Add user-agent to RequestOptions

2019-06-18 Thread Bryn Cooke (JIRA)


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

Bryn Cooke commented on TINKERPOP-2243:
---

When sending a request there is already an arbitrary map that is populated from 
the RequestOptions and could be extended to allow custom fields, but is 
probably out of scope for this ticket.

I'd be keen on not having any of this auto-magically wired up based on the 
classpath. What happens if the user has two clients in the same process but 
want different fields? What if the fields that are sent with the request are 
not static?

> Add user-agent to RequestOptions
> 
>
> Key: TINKERPOP-2243
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2243
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver, server
>Affects Versions: 3.4.2
>Reporter: Bryn Cooke
>Priority: Major
>
> It would be useful to know the 'user-agent' that is sending a request so that 
> the server can react in different ways. For instance:
>  * To log differently.
>  * To give different error messages.
> For instance, if the user is connecting via gremlin console then error 
> messages can include gremlin console specific help.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (TINKERPOP-2243) Add user-agent to RequestOptions

2019-06-17 Thread Bryn Cooke (JIRA)


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

Bryn Cooke updated TINKERPOP-2243:
--
Description: 
It would be useful to know the 'user-agent' that is sending a request so that 
the server can react in different ways. For instance:
 * To log differently.
 * To give different error messages.

For instance, if the user is connecting via gremlin console then error messages 
can include gremlin console specific help.

  was:
It would be useful to know the 'user-agent' that is sending a request so that 
the server can react in different ways. For instance:
 * To log differently.
 * To give different error messages.

 


> Add user-agent to RequestOptions
> 
>
> Key: TINKERPOP-2243
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2243
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver, server
>Affects Versions: 3.4.2
>Reporter: Bryn Cooke
>Priority: Major
>
> It would be useful to know the 'user-agent' that is sending a request so that 
> the server can react in different ways. For instance:
>  * To log differently.
>  * To give different error messages.
> For instance, if the user is connecting via gremlin console then error 
> messages can include gremlin console specific help.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (TINKERPOP-2243) Add user-agent to RequestOptions

2019-06-17 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-2243:
-

 Summary: Add user-agent to RequestOptions
 Key: TINKERPOP-2243
 URL: https://issues.apache.org/jira/browse/TINKERPOP-2243
 Project: TinkerPop
  Issue Type: Improvement
  Components: driver, server
Affects Versions: 3.4.2
Reporter: Bryn Cooke


It would be useful to know the 'user-agent' that is sending a request so that 
the server can react in different ways. For instance:
 * To log differently.
 * To give different error messages.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (TINKERPOP-2183) InterpreterModeASTTransformation needs to be more specific about what it transforms

2019-03-21 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-2183:
-

 Summary: InterpreterModeASTTransformation needs to be more 
specific about what it transforms
 Key: TINKERPOP-2183
 URL: https://issues.apache.org/jira/browse/TINKERPOP-2183
 Project: TinkerPop
  Issue Type: Bug
  Components: server
Reporter: Bryn Cooke


Currently if you declare a class within a script it will get incorrectly 
processed by 

{{InterpreterModeASTTransformation}} usually resulting in an exception.

{{InterpreterModeASTTransformation#visit}} should check that it is being 
applied to a class that extends {{Script}}.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (TINKERPOP-2161) GraphBinary: Write serialization performance issue

2019-02-18 Thread Bryn Cooke (JIRA)


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

Bryn Cooke commented on TINKERPOP-2161:
---

Would it be possible to add Gryo serialization to this benchmark?

This would give us a better idea of if we will be able to move to using the new 
binary format.

> GraphBinary: Write serialization performance issue 
> ---
>
> Key: TINKERPOP-2161
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2161
> Project: TinkerPop
>  Issue Type: Bug
>  Components: io
>Affects Versions: 3.4.0
>Reporter: Jorge Bay
>Priority: Major
>
> There seems to be a performance issue regarding the write path in GraphBinary:
> {code}
> Benchmark  Mode  Cnt Score
>  Error  Units
> SerializationBenchmark.testReadMessage1Binary thrpt   20   4800832.981 ±  
> 430909.102  ops/s
> SerializationBenchmark.testReadMessage1GraphSON   thrpt   20 34109.669 ±  
>   5231.210  ops/s
> SerializationBenchmark.testReadMessage2Binary thrpt   20827266.707 ±  
>  78214.379  ops/s
> SerializationBenchmark.testReadMessage2GraphSON   thrpt   20 18462.919 ±  
>   2640.093  ops/s
> SerializationBenchmark.testWriteBytecodeBinarythrpt   20130486.109 ±  
>   5505.113  ops/s
> SerializationBenchmark.testWriteBytecodeGraphSON  thrpt   20592658.686 ±  
>  68063.966  ops/s
> SerializationBenchmark.testWriteResponseBinarythrpt   20290240.715 ±  
>  25620.656  ops/s
> SerializationBenchmark.testWriteResponseGraphSON  thrpt   20612832.036 ±  
>  48173.673  ops/s
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (TINKERPOP-1869) Profile step and iterate do not play nicely with each other

2018-01-12 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1869:
-

 Summary: Profile step and iterate do not play nicely with each 
other
 Key: TINKERPOP-1869
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1869
 Project: TinkerPop
  Issue Type: Bug
  Components: process
Affects Versions: 3.3.1
Reporter: Bryn Cooke


Profile step doesn't like it if there are any other steps after it. However if 
someone calls profile().iterate() they will get an error as iterate appends a 
NoneStep to the end of the traversal.
Even though this means that the results of the profile would never be returned 
I think that profile step should allow None step to follow it.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1833) DetachedEdge.Builder#setInV and setOutV doesn't return the builder

2017-11-14 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1833:
-

 Summary: DetachedEdge.Builder#setInV and setOutV doesn't return 
the builder
 Key: TINKERPOP-1833
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1833
 Project: TinkerPop
  Issue Type: Improvement
  Components: structure
Affects Versions: 3.2.6
Reporter: Bryn Cooke
Priority: Trivial


It seems strange that DetachedEdge.Builder#setInV and setOutV doesn't return 
the builder when the rest of the methods do. It wouldn't be a breaking change 
to fix this.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1828) AddPropertyStep doesn't attach vertex to DetachedElements for new properties

2017-11-08 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1828:
-

 Summary: AddPropertyStep doesn't attach vertex to DetachedElements 
for new properties
 Key: TINKERPOP-1828
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1828
 Project: TinkerPop
  Issue Type: Improvement
  Components: process
Affects Versions: 3.2.6
Reporter: Bryn Cooke


Here even though a detached vertex is created it is not passed in to the 
constructor of the DetachedVertexProperty or DetachedProperty. This makes 
things slightly more awkward when using the events later.

https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java#L99-L108





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TINKERPOP-1813) Subgraph step requires the graph API

2017-11-02 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1813:
---

Why not have the default implementation use nested traversals? I am wary of 
replacing existing steps as this has the high chance of creating some 
difference in behaviour.


> Subgraph step requires the graph API
> 
>
> Key: TINKERPOP-1813
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1813
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.6
>Reporter: Bryn Cooke
>Assignee: Marko A. Rodriguez
>Priority: Minor
>
> SubgraphStrategy uses the graph API to create elements in the subgraph. If a 
> graph does not fully support the graph/structure API this it won't work. 
> Ideally the graph mutations should use the traversal API.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1815) Graph io requires the graph API

2017-10-26 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1815:
-

 Summary: Graph io requires the graph API
 Key: TINKERPOP-1815
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1815
 Project: TinkerPop
  Issue Type: Improvement
  Components: io
Reporter: Bryn Cooke


Currently the io classes use the graph API to populate the graph. For graphs 
that do not fully support the graph API means that standard IO won't work.

It would be great if io could use the traversal API for constructing the graph.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1814) Some process tests require the graph API

2017-10-26 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1814:
-

 Summary: Some process tests require the graph API
 Key: TINKERPOP-1814
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1814
 Project: TinkerPop
  Issue Type: Test
  Components: process
Affects Versions: 3.2.6
Reporter: Bryn Cooke


This test uses the graph API:
https://github.com/apache/tinkerpop/blob/master/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java#L137-L142

This test assumes that the reference to the vertex will be updated. It should 
at least fetch the vertex again after it has been updated, but ideally use a 
traversal for verification.
https://github.com/apache/tinkerpop/blob/master/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategyProcessTest.java#L142-L143

These tests disable the strategies supplied by the implementing graph and 
therefore they will default to using the graph API under the hood.
https://github.com/apache/tinkerpop/blob/master/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/CoreTraversalTest.java#L222-L261



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1813) Subgraph strategy requires the graph API

2017-10-26 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1813:
-

 Summary: Subgraph strategy requires the graph API
 Key: TINKERPOP-1813
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1813
 Project: TinkerPop
  Issue Type: Improvement
  Components: process
Affects Versions: 3.2.6
Reporter: Bryn Cooke


SubgraphStrategy uses the graph API to create elements in the subgraph. If a 
graph does not fully support the graph/structure API this it won't work. 
Ideally the graph mutations should use the traversal API.





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1812) ProfileTest assumes that graph implementations will not add their own steps

2017-10-26 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1812:
-

 Summary: ProfileTest assumes that graph implementations will not 
add their own steps
 Key: TINKERPOP-1812
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1812
 Project: TinkerPop
  Issue Type: Test
  Components: process
Affects Versions: 3.2.6
Reporter: Bryn Cooke


The following two tests check the number of steps in the traversal:
g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profileXmetricsX
g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile

This assumes that graph implementations add no steps to the traversal. They 
should probably be checking the structure of the traversal rather than the 
total number of steps. For instance that each step is followed by a profile 
step and that the profile side effect step and cap step are the last steps.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (TINKERPOP-1808) Add ability to get the consumer in LambdaSideEffectStep

2017-10-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke updated TINKERPOP-1808:
--
Description: 
When lambda steps are used in a traversal it would be helpful to allow access 
to the contained lambda so that it can be wrapped without fundamentally 
changing the structure of the traversal.

Obtaining the lambda means that a strategy may wrap the lambda to provide extra 
security context, or event collection.

  was:
When lambdas are used in a traversal it would be helpful to allow access to the 
contained lambda so that it can be wrapped without fundamentally changing the 
structure of the traversal.

Obtaining the lambda means that a strategy may wrap the lambda to provide extra 
security context, or event collection.


> Add ability to get the consumer in LambdaSideEffectStep
> ---
>
> Key: TINKERPOP-1808
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1808
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Reporter: Bryn Cooke
>Priority: Minor
>
> When lambda steps are used in a traversal it would be helpful to allow access 
> to the contained lambda so that it can be wrapped without fundamentally 
> changing the structure of the traversal.
> Obtaining the lambda means that a strategy may wrap the lambda to provide 
> extra security context, or event collection.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1808) Add ability to get the consumer in LambdaSideEffectStep

2017-10-25 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1808:
-

 Summary: Add ability to get the consumer in LambdaSideEffectStep
 Key: TINKERPOP-1808
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1808
 Project: TinkerPop
  Issue Type: Improvement
  Components: process
Reporter: Bryn Cooke
Priority: Minor


When lambdas are used in a traversal it would be helpful to allow access to the 
contained lambda so that it can be wrapped without fundamentally changing the 
structure of the traversal.

Obtaining the lambda means that a strategy may wrap the lambda to provide extra 
security context, or event collection.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1798) MutationListener.vertexPropertyChanged oldValue should be a VertexProperty

2017-10-13 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1798:
-

 Summary: MutationListener.vertexPropertyChanged oldValue should be 
a VertexProperty
 Key: TINKERPOP-1798
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1798
 Project: TinkerPop
  Issue Type: Bug
  Components: process
Affects Versions: 3.2.6
Reporter: Bryn Cooke
Priority: Minor


Currently the signature looks like this:
{noformat}
public void vertexPropertyChanged(final Vertex element, final Property 
oldValue, final Object setValue, final Object... vertexPropertyKeyValues);
{noformat}
But should probably be:

{noformat}
public void vertexPropertyChanged(final Vertex element, final VertexProperty 
oldValue, final Object setValue, final Object... vertexPropertyKeyValues);
{noformat}




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (TINKERPOP-1703) Make EdgeOtherVertexStep non-final

2017-06-28 Thread Bryn Cooke (JIRA)

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

Bryn Cooke updated TINKERPOP-1703:
--
Summary: Make EdgeOtherVertexStep non-final  (was: Make 
DsegEdgeOtherVertexStep non-final)

> Make EdgeOtherVertexStep non-final
> --
>
> Key: TINKERPOP-1703
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1703
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Reporter: Bryn Cooke
>
> I missed this in TINKERPOP-1669.
> To recap, having element steps non final is helpful to implementations as 
> they can leave the majority of the traversal steps alone, and only replace 
> the element steps.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TINKERPOP-1703) Make DsegEdgeOtherVertexStep non-final

2017-06-28 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1703:
-

 Summary: Make DsegEdgeOtherVertexStep non-final
 Key: TINKERPOP-1703
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1703
 Project: TinkerPop
  Issue Type: Improvement
  Components: process
Reporter: Bryn Cooke


I missed this in TINKERPOP-1669.
To recap, having element steps non final is helpful to implementations as they 
can leave the majority of the traversal steps alone, and only replace the 
element steps.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Closed] (TINKERPOP-1569) Decompile lambdas in to regular gremlin

2017-06-16 Thread Bryn Cooke (JIRA)

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

Bryn Cooke closed TINKERPOP-1569.
-
Resolution: Won't Fix

> Decompile lambdas in to regular gremlin
> ---
>
> Key: TINKERPOP-1569
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1569
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.3
>Reporter: Bryn Cooke
>
> I've been experimenting recently with decompilation and come up with this 
> method for decompiling lambdas:
> https://github.com/BrynCooke/dice/blob/master/lambda/src/test/java/org/jglue/dice/lambda/TestDecompiler.java
> Perhaps this could be useful for converting lamdas to regular gremlin?
> It only works with serializable lambdas BTW.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TINKERPOP-1669) EdgeVertexStep should be designed for extension

2017-05-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1669:
---

I have recently embarked upon a review of how we are integrating our graph 
implementation with Tinkerpop. Previously we had significant traversal 
rewriting going on, and would add and remove steps. However, it turns out that 
maintaining correctness when doing this is actually quite hard. Instead I am 
taking a much less invasive approach by simply replacing the element steps with 
internal classes while leaving the rest of the traversal alone.
This has a couple of advantages:
1. It's much easier to reason about.
2. We can optimise for much more complicated traversals, correctly handling AND 
and OR. If our backend can't mimic the expressiveness of TP we can do as much 
as possible and allow the TP traversal to handle the rest.



> EdgeVertexStep should be designed for extension
> ---
>
> Key: TINKERPOP-1669
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1669
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process, structure
>Affects Versions: 3.2.4
>Reporter: Bryn Cooke
>
> GraphStep, VertexStep and PropertiesStep are all not final, so I was 
> surprised to find that I couldn't extend EdgeVertexStep. In the end I had to 
> duplicate the entire class
> If there are concerns about simply making this class non-final then it could 
> be designed for extension by making most of the methods final (except 
> toString), but the leaving the class non-final.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (TINKERPOP-1637) Expose metrics attributes in string output

2017-05-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1637:
---

Something like:
{noformat}
gremlin> g = 
EmptyGraph.instance().traversal().withRemote('conf/remote-graph.properties')
==>graphtraversalsource[emptygraph[empty], standard]
gremlin> g.V().out().out().profile().next().toString()
==>Traversal Metrics
Step   Count  
Traversers   Time (ms)% Dur
=
TinkerGraphStep(vertex,[]) 1
   1   0.05121.09
   key1=value1
   key2=value2
VertexStep(OUT,vertex)  
   0.06827.90
   key1=value1
   key3=value3
NoOpBarrierStep(2500)   
   0.03614.64
   key1=value1
VertexStep(OUT,vertex)  
   0.03815.63
   key1=value1
   key3=value3
NoOpBarrierStep(2500)   
   0.05120.74
>TOTAL -
   -   0.246-
{noformat}

> Expose metrics attributes in string output
> --
>
> Key: TINKERPOP-1637
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1637
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.4
>Reporter: Bryn Cooke
>
> Currently the profile step won't expose metrics attributes in the string 
> output. This means that useful information provided by graph implementations 
> is never output.
> It would be great if the attributes could be output indented under each 
> metric.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (TINKERPOP-1637) Expose metrics attributes in string output

2017-05-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1637:
---

It is the contents of ImmutableMetrics#annotations. This map is presumably 
there for TP implementors to add extra implementation specific information, but 
as it's not output to the console it's painful for the users to get at.

> Expose metrics attributes in string output
> --
>
> Key: TINKERPOP-1637
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1637
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.4
>Reporter: Bryn Cooke
>
> Currently the profile step won't expose metrics attributes in the string 
> output. This means that useful information provided by graph implementations 
> is never output.
> It would be great if the attributes could be output indented under each 
> metric.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (TINKERPOP-1637) Expose metrics attributes in string output

2017-04-27 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1637:
---

It's any client that tries to toString the output of the profile step.

> Expose metrics attributes in string output
> --
>
> Key: TINKERPOP-1637
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1637
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.4
>Reporter: Bryn Cooke
>
> Currently the profile step won't expose metrics attributes in the string 
> output. This means that useful information provided by graph implementations 
> is never output.
> It would be great if the attributes could be output indented under each 
> metric.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (TINKERPOP-1669) EdgeVertexStep should be designed for extension

2017-04-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke updated TINKERPOP-1669:
--
Description: 
GraphStep, VertexStep and PropertiesStep are all not final, so I was surprised 
to find that I couldn't extend EdgeVertexStep. In the end I had to duplicate 
the entire class

If there are concerns about simply making this class non-final then it could be 
designed for extension by making most of the methods final (except toString), 
but the leaving the class non-final.

  was:GraphStep, VertexStep and PropertiesStep are all not final, so I was 
surprised to find that I couldn't extend EdgeVertexStep. In the end I had to 
duplicate the entire class


> EdgeVertexStep should be designed for extension
> ---
>
> Key: TINKERPOP-1669
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1669
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process, structure
>Affects Versions: 3.2.4
>Reporter: Bryn Cooke
>
> GraphStep, VertexStep and PropertiesStep are all not final, so I was 
> surprised to find that I couldn't extend EdgeVertexStep. In the end I had to 
> duplicate the entire class
> If there are concerns about simply making this class non-final then it could 
> be designed for extension by making most of the methods final (except 
> toString), but the leaving the class non-final.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (TINKERPOP-1669) EdgeVertexStep should be designed for extension

2017-04-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke updated TINKERPOP-1669:
--
Summary: EdgeVertexStep should be designed for extension  (was: 
EdgeVertexStep should not be final)

> EdgeVertexStep should be designed for extension
> ---
>
> Key: TINKERPOP-1669
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1669
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process, structure
>Affects Versions: 3.2.4
>Reporter: Bryn Cooke
>
> GraphStep, VertexStep and PropertiesStep are all not final, so I was 
> surprised to find that I couldn't extend EdgeVertexStep. In the end I had to 
> duplicate the entire class



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (TINKERPOP-1669) EdgeVertexStep should not be final

2017-04-25 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1669:
-

 Summary: EdgeVertexStep should not be final
 Key: TINKERPOP-1669
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1669
 Project: TinkerPop
  Issue Type: Improvement
  Components: process, structure
Affects Versions: 3.2.4
Reporter: Bryn Cooke


GraphStep, VertexStep and PropertiesStep are all not final, so I was surprised 
to find that I couldn't extend EdgeVertexStep. In the end I had to duplicate 
the entire class



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (TINKERPOP-1664) StarVertexProperty#property should throw an NPE if the value is null

2017-04-03 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1664:
-

 Summary: StarVertexProperty#property should throw an NPE if the 
value is null
 Key: TINKERPOP-1664
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1664
 Project: TinkerPop
  Issue Type: Improvement
  Components: structure
Affects Versions: 3.2.4
Reporter: Bryn Cooke


Currently properties are checked for nullness but meta-properties arenot. This 
leads to NPEs further down the line.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (TINKERPOP-1658) Graphson2 map keys are serialised as strings

2017-03-26 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1658:
-

 Summary: Graphson2 map keys are serialised as strings
 Key: TINKERPOP-1658
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1658
 Project: TinkerPop
  Issue Type: Bug
  Components: driver
Affects Versions: 3.2.4
Reporter: Bryn Cooke


If you try to serialise a map using graphson2 then if you use a key such as 
T.label it gets converted to a string. The value is serialised correctly.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (TINKERPOP-1644) Improve script compilation syncronisation

2017-03-06 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1644:
-

 Summary: Improve script compilation syncronisation
 Key: TINKERPOP-1644
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1644
 Project: TinkerPop
  Issue Type: Improvement
Affects Versions: 3.2.4
Reporter: Bryn Cooke


Currently there is no synchronisation around script compilation. This means 
that if a particularly heavy script is in use, many threads may end up 
compiling the same script.

It would seem like a good idea to have some some sort of synchronisation to 
prevent ever getting to this stage.

In addition, there will be cases where users will repeatedly submit broken 
scripts to the server. In this case it is useful to log the error the first 
time the script compilation is attempted and then cache the error for 
subsequent runs.

Finally I have found some scripts take in excess of 30 seconds to compile. To 
aid performance debugging the script compilation times should be included in 
the logs.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (TINKERPOP-1637) Expose metrics attributes in string output

2017-02-22 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1637:
-

 Summary: Expose metrics attributes in string output
 Key: TINKERPOP-1637
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1637
 Project: TinkerPop
  Issue Type: Improvement
  Components: process
Affects Versions: 3.2.4
Reporter: Bryn Cooke


Currently the profile step won't expose metrics attributes in the string 
output. This means that useful information provided by graph implementations is 
never output.
It would be great if the attributes could be output indented under each metric.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (TINKERPOP-1569) Decompile lambdas in to regular gremlin

2016-11-24 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1569:
-

 Summary: Decompile lambdas in to regular gremlin
 Key: TINKERPOP-1569
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1569
 Project: TinkerPop
  Issue Type: Improvement
  Components: process
Reporter: Bryn Cooke


I've been experimenting recently with decompilation and come up with this 
method for decompiling lambdas:

https://github.com/BrynCooke/dice/blob/master/lambda/src/test/java/org/jglue/dice/lambda/TestDecompiler.java

Perhaps this could be useful for converting lamdas to regular gremlin?

It only works with serializable lambdas BTW.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TINKERPOP-887) FastNoSuchElementException hides stack trace in client code

2016-10-29 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-887:
--

OK. That makes sense. I had issues with an interaction with the other 
strategies that were painful to resolve. I can see that adding new strategies 
is last resort.

Taking a step back I have modified the PR so that strategies are not touched. 
It's much simpler. Please could you take another look?

I added a basic test that checks that a traversal will throw 
NoSuchElementException rather than FastNoSuchElementException. This 
demonstrates the benefit in non-gremlin server scenarios.
In future Gremlin Server can use this information to supply line precise error 
reporting, but that is outside the scope of this ticket.

If there are more tests that you would like adding please can you point me to 
the package where you would see them residing?


> FastNoSuchElementException hides stack trace in client code
> ---
>
> Key: TINKERPOP-887
> URL: https://issues.apache.org/jira/browse/TINKERPOP-887
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.0.2-incubating
>Reporter: Bryn Cooke
>Assignee: Marko A. Rodriguez
>Priority: Minor
>
> I wrote some code that incorrectly assumed that a Gremlin query would return 
> an element, but it didn't. The surprise was that I got no stack trace and 
> therefore had no idea where in *my* code I had introduced the error.
> I haven't looked in detail at the TP code, so what comes next is speculation:
> If FastNoSuchElementException is being used in truly exceptional 
> circumstances then why is a singleton is used over a normal exception with 
> stack trace? It could just as easily be converted to a normal exception.
> If FastNoSuchElementException is being used for control flow then probably it 
> shouldn't. Code should check hasNext rather than trying for next and dealing 
> with an exceptional result. I'm not sure what the current state of things are 
> in the JVM but at least in the past try catch blocks would inhibit 
> optimization even without stack traces so this type of code was considered an 
> antipattern.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TINKERPOP-887) FastNoSuchElementException hides stack trace in client code

2016-10-28 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-887:
--

Is this really going to make a difference to performance? The added step is 
basically a no-op, so unless there is definitely a performance degradation then 
it'd be better to avoid the extra complexity for users having to enable a 
special mode. Perhaps we can evaluate the perf impact before going down this 
route?

If we did have to have a special mode then how would this be activated? 
Say you have a 100 line gremlin script that you are submitting to gremlin 
server, you'd want to enable this mode for all traversals in the request. That 
way when the error occurs you can tell which line it occurred on. Perhaps 
[~spmallette] has some ideas? Ideally I would like to avoid having to put the 
entire server in to debug mode.



> FastNoSuchElementException hides stack trace in client code
> ---
>
> Key: TINKERPOP-887
> URL: https://issues.apache.org/jira/browse/TINKERPOP-887
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.0.2-incubating
>Reporter: Bryn Cooke
>Assignee: Marko A. Rodriguez
>Priority: Minor
>
> I wrote some code that incorrectly assumed that a Gremlin query would return 
> an element, but it didn't. The surprise was that I got no stack trace and 
> therefore had no idea where in *my* code I had introduced the error.
> I haven't looked in detail at the TP code, so what comes next is speculation:
> If FastNoSuchElementException is being used in truly exceptional 
> circumstances then why is a singleton is used over a normal exception with 
> stack trace? It could just as easily be converted to a normal exception.
> If FastNoSuchElementException is being used for control flow then probably it 
> shouldn't. Code should check hasNext rather than trying for next and dealing 
> with an exceptional result. I'm not sure what the current state of things are 
> in the JVM but at least in the past try catch blocks would inhibit 
> optimization even without stack traces so this type of code was considered an 
> antipattern.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Reopened] (TINKERPOP-887) FastNoSuchElementException hides stack trace in client code

2016-10-28 Thread Bryn Cooke (JIRA)

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

Bryn Cooke reopened TINKERPOP-887:
--

Please could you take a look at the PR and see if it has any potential?
It adds a new strategy that appends a final step to top level traversals that 
converts any FastNoSuchElementException in to a regular NoSuchElementException. 
It means that we don't get the stack trace in to the traversal, but clients do 
get information about where in their code the exception was thrown.

> FastNoSuchElementException hides stack trace in client code
> ---
>
> Key: TINKERPOP-887
> URL: https://issues.apache.org/jira/browse/TINKERPOP-887
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.0.2-incubating
>Reporter: Bryn Cooke
>Assignee: Marko A. Rodriguez
>Priority: Minor
>
> I wrote some code that incorrectly assumed that a Gremlin query would return 
> an element, but it didn't. The surprise was that I got no stack trace and 
> therefore had no idea where in *my* code I had introduced the error.
> I haven't looked in detail at the TP code, so what comes next is speculation:
> If FastNoSuchElementException is being used in truly exceptional 
> circumstances then why is a singleton is used over a normal exception with 
> stack trace? It could just as easily be converted to a normal exception.
> If FastNoSuchElementException is being used for control flow then probably it 
> shouldn't. Code should check hasNext rather than trying for next and dealing 
> with an exceptional result. I'm not sure what the current state of things are 
> in the JVM but at least in the past try catch blocks would inhibit 
> optimization even without stack traces so this type of code was considered an 
> antipattern.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TINKERPOP-1415) Vertex programs that rely on getting path parameters can't work

2016-08-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1415:
---

Closed, but just want to throw in the idea that PathRetractionStrategy could 
pick up the specific variables that are required rather than globally disabling 
path retraction. 

> Vertex programs that rely on getting path parameters can't work
> ---
>
> Key: TINKERPOP-1415
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1415
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.2.1
>Reporter: Bryn Cooke
>
> Recently some of our vertex programs have started failing.
> They rely of being able to retrieve an element out of the path.
> However, whereas this used to work now the path element isn't there anymore.
> The root cause is that path retraction doesn't know that the vertex program 
> is interested in the path and therefore culls out parameter.
> I can understand why it does this, but there seems to be no way of exposing 
> the vertex program path requirements such that PathRetractionStrategy can 
> pick them up and do the right thing.
> I tried hacking together a solution by making ProgramVertexProgramStep 
> implement Scoping. This did fix the issue, but I am not confident that this 
> is the way to go.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (TINKERPOP-1415) Vertex programs that rely on getting path parameters can't work

2016-08-25 Thread Bryn Cooke (JIRA)

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

Bryn Cooke resolved TINKERPOP-1415.
---
Resolution: Duplicate

> Vertex programs that rely on getting path parameters can't work
> ---
>
> Key: TINKERPOP-1415
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1415
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.2.1
>Reporter: Bryn Cooke
>
> Recently some of our vertex programs have started failing.
> They rely of being able to retrieve an element out of the path.
> However, whereas this used to work now the path element isn't there anymore.
> The root cause is that path retraction doesn't know that the vertex program 
> is interested in the path and therefore culls out parameter.
> I can understand why it does this, but there seems to be no way of exposing 
> the vertex program path requirements such that PathRetractionStrategy can 
> pick them up and do the right thing.
> I tried hacking together a solution by making ProgramVertexProgramStep 
> implement Scoping. This did fix the issue, but I am not confident that this 
> is the way to go.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TINKERPOP-1415) Vertex programs that rely on getting path parameters can't work

2016-08-24 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1415:
-

 Summary: Vertex programs that rely on getting path parameters 
can't work
 Key: TINKERPOP-1415
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1415
 Project: TinkerPop
  Issue Type: Bug
  Components: process
Affects Versions: 3.2.1
Reporter: Bryn Cooke


Recently some of our vertex programs have started failing.
They rely of being able to retrieve an element out of the path.
However, whereas this used to work now the path element isn't there anymore.

The root cause is that path retraction doesn't know that the vertex program is 
interested in the path and therefore culls out parameter.

I can understand why it does this, but there seems to be no way of exposing the 
vertex program path requirements such that PathRetractionStrategy can pick them 
up and do the right thing.

I tried hacking together a solution by making ProgramVertexProgramStep 
implement Scoping. This did fix the issue, but I am not confident that this is 
the way to go.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TINKERPOP-1413) PropertiesTest#g_V_hasXageX_propertiesXnameX assumes that ids are longs

2016-08-22 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1413:
---

I don't understand why the IDs need to be compared as longs. Why are the IDs 
not compared using equals?

> PropertiesTest#g_V_hasXageX_propertiesXnameX assumes that ids are longs
> ---
>
> Key: TINKERPOP-1413
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1413
> Project: TinkerPop
>  Issue Type: Test
>  Components: process
>Reporter: Bryn Cooke
>
> This assert assumes that Ids are longs.
> {noformat}
> assertEquals(Long.valueOf(convertToVertex(graph, 
> vertexProperty.value()).properties("name").next().id().toString()), 
> Long.valueOf(vertexProperty.id().toString()));
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (TINKERPOP-1402) Impossible for graph implementations to provide a class resolver for Gryo IO

2016-08-09 Thread Bryn Cooke (JIRA)

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

Bryn Cooke edited comment on TINKERPOP-1402 at 8/9/16 2:19 PM:
---

I like the onMapper idea and also agree the registry method is redundant.
Trying to unify the serialization apis would seem to be a pretty tall order, 
onMapper gives implementations the required flexibility. I think that the 
registry method should be deprecated.


was (Author: bryncooke):
I like the onMapper idea and also agree the registry method is redundant.
Trying to unify the serialization apis would seem to be a pretty tall order, 
onMapper gives implementations the required flexibility. I think that the 
registry should be deprecated.

> Impossible for graph implementations to provide a class resolver for Gryo IO
> 
>
> Key: TINKERPOP-1402
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1402
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: structure
>Affects Versions: 3.2.1
>Reporter: Bryn Cooke
>Priority: Critical
>
> As far as I can tell there is no way for a graph implementation to specify a 
> classresolver for the following code:
> {noformat}g.io(IoCore.gryo()).writer().create(){noformat}
> The problem is that inside the graph implementation we need to be able to do 
> this:
> {noformat}
> public  I io(final Io.Builder builder) {
>   Io io = 
> builder.graph(this).registry(MyRegistry.INSTANCE).classResolver(MyClassReolver.INSTANCE).create();
> {noformat}
> but only supplying a registry is supported.
> Other solutions could be to design GryoIo for extension so that it can be 
> wrapped or to change the signature of Graph#io to:
> {noformat}
> public default Io io(final Io.Builder builder)
> {noformat}
> I would probably go for the signature change, so the graph is responsible for 
> deciding the implementation that is returned.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TINKERPOP-1402) Impossible for graph implementations to provide a class resolver for Gryo IO

2016-08-09 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1402:
---

I like the onMapper idea and also agree the registry method is redundant.
Trying to unify the serialization apis would seem to be a pretty tall order, 
onMapper gives implementations the required flexibility. I think that the 
registry should be deprecated.

> Impossible for graph implementations to provide a class resolver for Gryo IO
> 
>
> Key: TINKERPOP-1402
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1402
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: structure
>Affects Versions: 3.2.1
>Reporter: Bryn Cooke
>Priority: Critical
>
> As far as I can tell there is no way for a graph implementation to specify a 
> classresolver for the following code:
> {noformat}g.io(IoCore.gryo()).writer().create(){noformat}
> The problem is that inside the graph implementation we need to be able to do 
> this:
> {noformat}
> public  I io(final Io.Builder builder) {
>   Io io = 
> builder.graph(this).registry(MyRegistry.INSTANCE).classResolver(MyClassReolver.INSTANCE).create();
> {noformat}
> but only supplying a registry is supported.
> Other solutions could be to design GryoIo for extension so that it can be 
> wrapped or to change the signature of Graph#io to:
> {noformat}
> public default Io io(final Io.Builder builder)
> {noformat}
> I would probably go for the signature change, so the graph is responsible for 
> deciding the implementation that is returned.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TINKERPOP-1402) Impossible for graph implementations to provide a class resolver for Gryo IO

2016-08-09 Thread Bryn Cooke (JIRA)

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

Bryn Cooke updated TINKERPOP-1402:
--
Summary: Impossible for graph implementations to provide a class resolver 
for Gryo IO  (was: Impossible for graph implementations to provide a class 
resolver for IO)

> Impossible for graph implementations to provide a class resolver for Gryo IO
> 
>
> Key: TINKERPOP-1402
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1402
> Project: TinkerPop
>  Issue Type: Bug
>  Components: structure
>Reporter: Bryn Cooke
>Priority: Critical
>
> As far as I can tell there is no way for a graph implementation to specify a 
> classresolver for the following code:
> {noformat}g.io(IoCore.gryo()).writer().create(){noformat}
> The problem is that inside the graph implementation we need to be able to do 
> this:
> {noformat}
> public  I io(final Io.Builder builder) {
>   Io io = 
> builder.graph(this).registry(MyRegistry.INSTANCE).classResolver(MyClassReolver.INSTANCE).create();
> {noformat}
> but only supplying a registry is supported.
> Other solutions could be to design GryoIo for extension so that it can be 
> wrapped or to change the signature of Graph#io to:
> {noformat}
> public default Io io(final Io.Builder builder)
> {noformat}
> I would probably go for the signature change, so the graph is responsible for 
> deciding the implementation that is returned.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TINKERPOP-1402) Impossible for graph implementations to provide a class resolver for IO

2016-08-09 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1402:
-

 Summary: Impossible for graph implementations to provide a class 
resolver for IO
 Key: TINKERPOP-1402
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1402
 Project: TinkerPop
  Issue Type: Bug
  Components: structure
Reporter: Bryn Cooke
Priority: Critical


As far as I can tell there is no way for a graph implementation to specify a 
classresolver for the following code:
{noformat}g.io(IoCore.gryo()).writer().create(){noformat}

The problem is that inside the graph implementation we need to be able to do 
this:
{noformat}
public  I io(final Io.Builder builder) {
  Io io = 
builder.graph(this).registry(MyRegistry.INSTANCE).classResolver(MyClassReolver.INSTANCE).create();
{noformat}
but only supplying a registry is supported.
Other solutions could be to design GryoIo for extension so that it can be 
wrapped or to change the signature of Graph#io to:
{noformat}
public default Io io(final Io.Builder builder)
{noformat}
I would probably go for the signature change, so the graph is responsible for 
deciding the implementation that is returned.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Issue Comment Deleted] (TINKERPOP-1355) Design HasContainer for extension

2016-07-04 Thread Bryn Cooke (JIRA)

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

Bryn Cooke updated TINKERPOP-1355:
--
Comment: was deleted

(was: https://github.com/apache/tinkerpop/pull/355)

> Design HasContainer for extension
> -
>
> Key: TINKERPOP-1355
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1355
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.0-incubating
>Reporter: Bryn Cooke
>Priority: Critical
>
> Currently HasContainer is final. This means that Graph implementations cannot 
> support their own type systems across the entire traversal.
> Given the traversal:
> g.V.has('foo', nonTinkerpopType).out('bar').has('foo', nonTinkerpopType)
> Say that the initial traversal g.V.has('foo', nonTinkerpopType) is dealt with 
> via strategy, the non-Tinkerpop type can be dealt with. However the rest of 
> the traversal is processed via the default Tinkerpop pipeline, and as such it 
> doesn't know how to deal with type conversions/comparisons etc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TINKERPOP-1355) Design HasContainer for extension

2016-07-04 Thread Bryn Cooke (JIRA)

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

Bryn Cooke commented on TINKERPOP-1355:
---

https://github.com/apache/tinkerpop/pull/355

> Design HasContainer for extension
> -
>
> Key: TINKERPOP-1355
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1355
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.0-incubating
>Reporter: Bryn Cooke
>Priority: Critical
>
> Currently HasContainer is final. This means that Graph implementations cannot 
> support their own type systems across the entire traversal.
> Given the traversal:
> g.V.has('foo', nonTinkerpopType).out('bar').has('foo', nonTinkerpopType)
> Say that the initial traversal g.V.has('foo', nonTinkerpopType) is dealt with 
> via strategy, the non-Tinkerpop type can be dealt with. However the rest of 
> the traversal is processed via the default Tinkerpop pipeline, and as such it 
> doesn't know how to deal with type conversions/comparisons etc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TINKERPOP-1355) Design HasContainer for extension

2016-07-04 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1355:
-

 Summary: Design HasContainer for extension
 Key: TINKERPOP-1355
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1355
 Project: TinkerPop
  Issue Type: Improvement
  Components: process
Affects Versions: 3.2.0-incubating
Reporter: Bryn Cooke
Priority: Critical


Currently HasContainer is final. This means that Graph implementations cannot 
support their own type systems across the entire traversal.

Given the traversal:
g.V.has('foo', nonTinkerpopType).out('bar').has('foo', nonTinkerpopType)

Say that the initial traversal g.V.has('foo', nonTinkerpopType) is dealt with 
via strategy, the non-Tinkerpop type can be dealt with. However the rest of the 
traversal is processed via the default Tinkerpop pipeline, and as such it 
doesn't know how to deal with type conversions/comparisons etc.






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TINKERPOP-1348) TraversalInterruptionTest success dependent on iteration order

2016-06-27 Thread Bryn Cooke (JIRA)

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

Bryn Cooke updated TINKERPOP-1348:
--
Affects Version/s: (was: 3.1.2-incubating)
   3.2.0-incubating

> TraversalInterruptionTest success dependent on iteration order
> --
>
> Key: TINKERPOP-1348
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1348
> Project: TinkerPop
>  Issue Type: Test
>  Components: test-suite
>Affects Versions: 3.2.0-incubating
>Reporter: Bryn Cooke
>Priority: Minor
>
> If the first element encountered does not fulfil the second part of the 
> iteration it will encounter the sleep before the iteration started check.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TINKERPOP-1348) TraversalInterruptionTest success dependent on iteration order

2016-06-27 Thread Bryn Cooke (JIRA)
Bryn Cooke created TINKERPOP-1348:
-

 Summary: TraversalInterruptionTest success dependent on iteration 
order
 Key: TINKERPOP-1348
 URL: https://issues.apache.org/jira/browse/TINKERPOP-1348
 Project: TinkerPop
  Issue Type: Test
  Components: test-suite
Affects Versions: 3.1.2-incubating
Reporter: Bryn Cooke
Priority: Minor


If the first element encountered does not fulfil the second part of the 
iteration it will encounter the sleep before the iteration started check.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)