[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-05-11 Thread PBGraff
Github user PBGraff commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
No worries, thanks!


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-05-11 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
ok - i'll just close this then. if you change your mind, we can get it 
reopened and work it through. thanks!


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-05-11 Thread PBGraff
Github user PBGraff commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
@spmallette I'm not sure I'll come back to this exactly. I was thinking 
about it recently, actually, and I think just providing a `create()` which 
calls `create(null)` in the VertexProgramBuilder would be useful for Java 
users. This is a simpler change than making it varagrs and less likely to cause 
breaking changes and probably covers 99+% of use cases.


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-05-11 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
@PBGraff do you think you will come back to this PR to get it finished up? 
or is that unlikely given your schedule?


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-03-13 Thread PBGraff
Github user PBGraff commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
@spmallette Thanks for the heads-up, but I don't think I'll have a chance 
to get to it before then. It isn't so urgent it can't wait for the next release 
as it's code style as opposed to a bug.


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-01-24 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
Sorry - you really shouldnt have any commits from our repo in this PR - it 
should be all your work.  The problem is that if when we look at the diff to 
review, it contains changes that don't pertain to your work, which makes the 
changes impossible to evaluate by themselves. I imagine you must have merged 
tp32 into the branch in your fork or something.  You should have instead 
rebased your local changes onto our tp32 which would have re-wrote all of your 
commits on top of ours so that the git history made it look like you had all 
your changes on the head of tp32. Hope that makes sense. If you need some more 
git explanation, please let me know.


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-01-16 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
> My concern is that people may still override/implement the old method and 
not the new one, thus yielding programs that don't execute properly

Hmmas I look at the way it is now, you mention a valid concern. This 
change effectively breaks existing `VertexProgram` implementations, doesn't it? 
Meaning, nothing in TinkerPop calls the deprecated method anymore, so existing 
`VertexProgram` implementations will no longer have the old method called at 
runtime - it will call the empty default method instead here:


https://github.com/apache/tinkerpop/pull/772/files#diff-ca108f45ec7b5a288dfce8019f1a6813L72

Perhaps the right way to do this is to:

1. Make the new method call the deprecated one by default. In that way, 
existing `VertexProgram` implementations just work on upgrade. Leave the 
deprecated one empty.
2. Our `VertexProgram` implementations implement the new method, so they 
will all work without a problem. The old deprecated method should be 
implemented on these classes to call the new method. This way, if someone (for 
some weird reason) is relying on the behavior of the old method it will still 
work without change (you would need to add appropriate deprecation 
annotation/javadoc here.
3. People who write new `VertexProgram` implementations wouldn't bother 
with the old deprecated method - perhaps some stronger language in the javadoc 
would make that clear to them.
3. Write [upgrade 
docs](https://github.com/apache/tinkerpop/blob/tp32/docs/src/upgrade/release-3.2.x-incubating.asciidoc)
 to describe the new expectations around `VertexProgram` implementations and 
include a changelog entry - i can do that if you like on merge.

How does that sound? 

btw, sorry - this is turning into a complicated PR - thanks for continuing 
to work through this with us.



---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-01-14 Thread PBGraff
Github user PBGraff commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
I think all test problems have now been fixed. My concern is that people 
may still override/implement the old method and not the new one, thus yielding 
programs that don't execute properly. It will be indicated to them that they 
are using a deprecated method, however.


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-01-10 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
actually - i see that there is a whole other host of errors:

```text
[ERROR] Errors: 
[ERROR] 
org.apache.tinkerpop.gremlin.process.computer.GraphComputerTest.shouldFailWithImproperTraverserRequirements(org.apache.tinkerpop.gremlin.process.computer.GraphComputerTest)
[INFO]   Run 1: PASS
[ERROR]   Run 2: 
GraphComputerTest.shouldFailWithImproperTraverserRequirements:2448 » 
NullPointer
[ERROR]   Run 3: 
GraphComputerTest.shouldFailWithImproperTraverserRequirements:2448 » 
NullPointer
[INFO]   Run 4: PASS
[INFO]   Run 5: PASS
[INFO] 
[ERROR] 
org.apache.tinkerpop.gremlin.process.computer.GraphComputerTest.shouldSucceedWithProperTraverserRequirements(org.apache.tinkerpop.gremlin.process.computer.GraphComputerTest)
[INFO]   Run 1: PASS
[ERROR]   Run 2: 
GraphComputerTest.shouldSucceedWithProperTraverserRequirements:2426 » 
NullPointer
[ERROR]   Run 3: 
GraphComputerTest.shouldSucceedWithProperTraverserRequirements:2426 » 
NullPointer
[INFO]   Run 4: PASS
[INFO]   Run 5: PASS
[INFO] 
[ERROR]   
GroovyProgramTest$Traversals>ProgramTest.g_V_outXcreatedX_aggregateXxX_byXlangX_groupCount_programXTestProgramX_asXaX_selectXa_xX:117
 » IllegalState
[ERROR] 
org.apache.tinkerpop.gremlin.process.traversal.step.map.ProgramTest$Traversals.g_V_outXcreatedX_aggregateXxX_byXlangX_groupCount_programXTestProgramX_asXaX_selectXa_xX(org.apache.tinkerpop.gremlin.process.traversal.step.map.ProgramTest$Traversals)
[ERROR]   Run 1: 
ProgramTest$Traversals>ProgramTest.g_V_outXcreatedX_aggregateXxX_byXlangX_groupCount_programXTestProgramX_asXaX_selectXa_xX:117
 » IllegalState
[ERROR]   Run 2: 
ProgramTest$Traversals>ProgramTest.g_V_outXcreatedX_aggregateXxX_byXlangX_groupCount_programXTestProgramX_asXaX_selectXa_xX:117
 » IllegalState
[ERROR]   Run 3: 
ProgramTest$Traversals>ProgramTest.g_V_outXcreatedX_aggregateXxX_byXlangX_groupCount_programXTestProgramX_asXaX_selectXa_xX:117
 » IllegalState
[ERROR]   Run 4: 
ProgramTest$Traversals>ProgramTest.g_V_outXcreatedX_aggregateXxX_byXlangX_groupCount_programXTestProgramX_asXaX_selectXa_xX:117
 » IllegalState
[ERROR]   Run 5: 
ProgramTest$Traversals>ProgramTest.g_V_outXcreatedX_aggregateXxX_byXlangX_groupCount_programXTestProgramX_asXaX_selectXa_xX:117
 » IllegalState
```

Are you still looking into a resolution for these?


---


[GitHub] tinkerpop issue #772: TINKERPOP-1861 Modify VertexProgram Builder to take va...

2018-01-10 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/772
  
I add a bunch of comments - pretty minor changes mostly. The biggest thing 
I'm seeing right now comes from the failing Travis build:

```text
[ERROR] 
/home/travis/build/apache/tinkerpop/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/SparkInterceptorStrategy.java:[47,112]
 cannot find symbol
  symbol:   method getTraversal()
  location: interface 
org.apache.tinkerpop.gremlin.process.computer.VertexProgram
[ERROR] 
/home/travis/build/apache/tinkerpop/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/SparkSingleIterationStrategy.java:[64,112]
 cannot find symbol
  symbol:   method getTraversal()
  location: interface 
org.apache.tinkerpop.gremlin.process.computer.VertexProgram
```

Is that the problem you were alluding to in the PR description?


---