[jira] [Commented] (TINKERPOP-1979) Several OLAP issues in MathStep

2018-06-08 Thread ASF GitHub Bot (JIRA)


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

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

Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/874
  
VOTE: +1


> Several OLAP issues in MathStep
> ---
>
> Key: TINKERPOP-1979
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1979
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Reporter: Daniel Kuppitz
>Priority: Major
>
> {{MathStep}} has a few issues when used in an OLAP query and I think the 
> worst thing is that both of them are silently ignored by our test suite.
> {noformat}
> gremlin> g = TinkerFactory.createModern().traversal().withComputer()
> ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], graphcomputer]
> gremlin> g.V().outE().math("0-_").by("weight")
> It is not possible to access more than a path element's id on GraphComputer: 
> MathStep(0-_,[value(weight)]) requires PROPERTIES
> Type ':help' or ':h' for help.
> Display stack trace? [yN]
> {noformat}
> This one is just wrong and I'm not sure why {{ComputerVerificationStrategy}} 
> assumes that the step is trying to leave the star graph. The next one works 
> for {{TinkerGraphComputer}} but fails in Spark with a serialization-related 
> exception:
> {noformat}
> g.V().values("age").math("_")
> // leads to the following (ignored) exception:
> java.lang.IllegalStateException: org.apache.spark.SparkException: Task not 
> serializable
>   at 
> org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep.processNextStart(VertexProgramStep.java:88)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50)
>   at 
> org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.ComputerResultStep.processNextStart(ComputerResultStep.java:68)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:200)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.Traversal.forEachRemaining(Traversal.java:265)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.map.MathTest.serializationTest(MathTest.java:63)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>   at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at 
> org.apache.tinkerpop.gremlin.process.GremlinProcessRunner.runChild(GremlinProcessRunner.java:53)
>   at 
> org.apache.tinkerpop.gremlin.process.GremlinProcessRunner.runChild(GremlinProcessRunner.java:37)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at org.junit.runners.Suite.runChild(Suite.java:128)
>   at 
> org.apache.tinkerpop.gremlin.AbstractGremlinSuite.runChild(AbstractGremlinSuite.java:213)
>   at 
> org.apache.tinkerpop.gremlin.AbstractGremlinSuite.runChild(AbstractGremlinSuite.java:51)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:2

[GitHub] tinkerpop issue #874: TINKERPOP-1979 Fix math() on OLAP/Spark

2018-06-08 Thread dkuppitz
Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/874
  
VOTE: +1


---


Repeated Travis .Failures on .NET

2018-06-08 Thread Stephen Mallette
A lot of PRs failing build because of .NET. The error I consistently see is:

127.43s$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg
--dearmor > microsoft.gpg
curl: (7) Failed to connect to packages.microsoft.com port 443: Connection
timed out
gpg: no valid OpenPGP data found.
The command "curl https://packages.microsoft.com/keys/microsoft.asc | gpg
--dearmor > microsoft.gpg" failed and exited with 2 during .

Anyone have an ideas as to what's going on there?


[jira] [Commented] (TINKERPOP-1518) Provide a way for providers to expose static Graph.Features to tests

2018-06-08 Thread ASF GitHub Bot (JIRA)


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

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

Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/873
  
Good point - updated to "Provide a way for providers to expose static 
Graph.Features to tests"


> Provide a way for providers to expose static Graph.Features to tests
> 
>
> Key: TINKERPOP-1518
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1518
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: test-suite
>Affects Versions: 3.2.2
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Major
> Fix For: 3.4.0
>
>
> Determine if there's a way to cache graph features to avoid having to load a 
> {{Graph}} instance for a test. That could save some test cycles for graphs 
> that dont' support a test.



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


[jira] [Updated] (TINKERPOP-1518) Provide a way for providers to expose static Graph.Features to tests

2018-06-08 Thread stephen mallette (JIRA)


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

stephen mallette updated TINKERPOP-1518:

Summary: Provide a way for providers to expose static Graph.Features to 
tests  (was: Cache Graph.Features)

> Provide a way for providers to expose static Graph.Features to tests
> 
>
> Key: TINKERPOP-1518
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1518
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: test-suite
>Affects Versions: 3.2.2
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Major
> Fix For: 3.4.0
>
>
> Determine if there's a way to cache graph features to avoid having to load a 
> {{Graph}} instance for a test. That could save some test cycles for graphs 
> that dont' support a test.



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


[GitHub] tinkerpop issue #873: TINKERPOP-1518 Cache Graph.Features for tests

2018-06-08 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/873
  
Good point - updated to "Provide a way for providers to expose static 
Graph.Features to tests"


---


[jira] [Commented] (TINKERPOP-1979) Several OLAP issues in MathStep

2018-06-08 Thread ASF GitHub Bot (JIRA)


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

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

GitHub user spmallette opened a pull request:

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

TINKERPOP-1979 Fix math() on OLAP/Spark

https://issues.apache.org/jira/browse/TINKERPOP-1979

Should be working now - just a serialization problem and fix to dealing 
with requirements for `PathProcessor` on `MathStep`. Note that you still can't 
access path labels with `math()` in OLAP after this fix or you will run afoul 
of standard behavior of `ComputerVerificationStrategy`. I think that's just a 
limitation of the overall design with OLAP and path.

All tests pass with `docker/build.sh -t -n -i`

VOTE +1

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1979

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/874.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #874


commit 9f8f3b61b8e69624b2ac7aac3c98dcace55a079f
Author: Stephen Mallette 
Date:   2018-06-08T16:50:00Z

TINKERPOP-1979 Fixed OLAP bug with math() step

math() can now execute in OLAP with by() modulators if the expression given 
to math() does not access path labels.

commit a6e0a2d55c6b5bb9a710a53b8dfc208696416fe2
Author: Stephen Mallette 
Date:   2018-06-08T20:53:30Z

TINKERPOP-1979 Get math() working on spark properly

The Expression class was not serializable and Spark was not happy. Wrapped 
it up in another class that was and now tests work on spark ok.




> Several OLAP issues in MathStep
> ---
>
> Key: TINKERPOP-1979
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1979
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Reporter: Daniel Kuppitz
>Priority: Major
>
> {{MathStep}} has a few issues when used in an OLAP query and I think the 
> worst thing is that both of them are silently ignored by our test suite.
> {noformat}
> gremlin> g = TinkerFactory.createModern().traversal().withComputer()
> ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], graphcomputer]
> gremlin> g.V().outE().math("0-_").by("weight")
> It is not possible to access more than a path element's id on GraphComputer: 
> MathStep(0-_,[value(weight)]) requires PROPERTIES
> Type ':help' or ':h' for help.
> Display stack trace? [yN]
> {noformat}
> This one is just wrong and I'm not sure why {{ComputerVerificationStrategy}} 
> assumes that the step is trying to leave the star graph. The next one works 
> for {{TinkerGraphComputer}} but fails in Spark with a serialization-related 
> exception:
> {noformat}
> g.V().values("age").math("_")
> // leads to the following (ignored) exception:
> java.lang.IllegalStateException: org.apache.spark.SparkException: Task not 
> serializable
>   at 
> org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep.processNextStart(VertexProgramStep.java:88)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50)
>   at 
> org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.ComputerResultStep.processNextStart(ComputerResultStep.java:68)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:200)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.Traversal.forEachRemaining(Traversal.java:265)
>   at 
> org.apache.tinkerpop.gremlin.process.traversal.step.map.MathTest.serializationTest(MathTest.java:63)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> or

[GitHub] tinkerpop pull request #874: TINKERPOP-1979 Fix math() on OLAP/Spark

2018-06-08 Thread spmallette
GitHub user spmallette opened a pull request:

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

TINKERPOP-1979 Fix math() on OLAP/Spark

https://issues.apache.org/jira/browse/TINKERPOP-1979

Should be working now - just a serialization problem and fix to dealing 
with requirements for `PathProcessor` on `MathStep`. Note that you still can't 
access path labels with `math()` in OLAP after this fix or you will run afoul 
of standard behavior of `ComputerVerificationStrategy`. I think that's just a 
limitation of the overall design with OLAP and path.

All tests pass with `docker/build.sh -t -n -i`

VOTE +1

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1979

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/874.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #874


commit 9f8f3b61b8e69624b2ac7aac3c98dcace55a079f
Author: Stephen Mallette 
Date:   2018-06-08T16:50:00Z

TINKERPOP-1979 Fixed OLAP bug with math() step

math() can now execute in OLAP with by() modulators if the expression given 
to math() does not access path labels.

commit a6e0a2d55c6b5bb9a710a53b8dfc208696416fe2
Author: Stephen Mallette 
Date:   2018-06-08T20:53:30Z

TINKERPOP-1979 Get math() working on spark properly

The Expression class was not serializable and Spark was not happy. Wrapped 
it up in another class that was and now tests work on spark ok.




---


[jira] [Commented] (TINKERPOP-1518) Cache Graph.Features

2018-06-08 Thread ASF GitHub Bot (JIRA)


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

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

Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/873
  
VOTE: +1

Though I would change the Jira ticket title before it makes it into the 
CHANGELOG, as the implementation doesn't really cache anything.


> Cache Graph.Features
> 
>
> Key: TINKERPOP-1518
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1518
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: test-suite
>Affects Versions: 3.2.2
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Major
> Fix For: 3.4.0
>
>
> Determine if there's a way to cache graph features to avoid having to load a 
> {{Graph}} instance for a test. That could save some test cycles for graphs 
> that dont' support a test.



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


[GitHub] tinkerpop issue #873: TINKERPOP-1518 Cache Graph.Features for tests

2018-06-08 Thread dkuppitz
Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/873
  
VOTE: +1

Though I would change the Jira ticket title before it makes it into the 
CHANGELOG, as the implementation doesn't really cache anything.


---


[jira] [Commented] (TINKERPOP-1831) Refactor EventStrategy

2018-06-08 Thread ASF GitHub Bot (JIRA)


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

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

Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/872
  
VOTE: +1


> Refactor EventStrategy 
> ---
>
> Key: TINKERPOP-1831
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1831
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: structure
>Affects Versions: 3.2.6
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Minor
>  Labels: breaking
> Fix For: 3.4.0
>
>
> {{EventStrategy}} has a few issues that could be smoothed out, but not 
> without an allowance for breaking change in the API:
> * For the creation of new properties, an empty detached property is created 
> to represent it - now that detachment is configurable, that doesn't always 
> make sense. For example, if you configured for reference detachment then you 
> would probably want a {{ReferenceProperty}} instead. Not sure how this should 
> be resolved, but it probably needs a change to the eventing API itself
> * Detachment is configured a bit strangely with the use of {{null}} and 
> passing classes for the appropriate detachment factorieswould be nicer to 
> have an interface to represent this stuff.



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


[GitHub] tinkerpop issue #872: TINKERPOP-1831 Refactored EventStrategy

2018-06-08 Thread dkuppitz
Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/872
  
VOTE: +1


---


[DISCUSS] Getting "Practical Gremlin" more visibilty

2018-06-08 Thread Stephen Mallette
I'm not sure what we should do about this, but Kelvin's book, Practical
Gremlin, is really the best thing out there for learning Gremlin. I mean,
we have lots of good documentation in TinkerPop for sure, but it is written
as more of a reference than a cohesive resource that you can go to for your
paced learning. So while we have more than enough documentation for users
to be able to figure out how to use our stuff, it's not quite the same
learning experience that Practical Gremlin is.

There's lots of good reason that it is the way it is. I think it's hard to
keep a cohesive style when lots of different authors contribute to the same
set of documents. We have also built our documentation in a very piecemeal
style as the software has evolved and it sorta reads that way. We did do
some smart things with "tutorials", but we don't have enough of them tying
together disparate parts of the documentation.Anywaylucky for us,
Practical Gremlin is doing a great job of filling this gap.

What bothers me however, is that there are still developers who haven't
heard of the book! The message still isn't getting out there. The obvious
suggestion, which may have been made before, is that we place a link to the
book right on the TinkerPop home page. I think that would be a start, but I
think that perhaps even more visibility might be necessary. Maybe Practical
Gremlin needs a good logo? Thoughts on what a logo should look like? Maybe
we put the logo up there on the home page in place of where the "getting
started" tutorial is? Other ideas?

So the answer to all that might be "yes", "yes" and more "yes", but it is
important that we also consider that Practical Gremlin is a third-party
resource and that we would be linking away from the project documentation
in a reasonably public way. As an Apache project, it is my understanding
that our site should be the primary source for users to get their
information on how to use the software. I mostly just want to acknowledge
that point because as I mentioned earlier, I think TinkerPop has more than
sufficient reference documentation. It's not as though we link our
documentation to Practical Gremlin to give readers the source of
information. It in fact works the other way around - Practical Gremlin
treats our documentation as the reference (perhaps we could get a few more
links back to us in there too - hehe). I think that as long as that is
true, we satisfy our community requirements on documentation. Not sure if
anyone would argue against that

So, with all that said, any thoughts on what I propose above?


[jira] [Commented] (TINKERPOP-1942) Binary serialization format

2018-06-08 Thread Kevin Gallardo (JIRA)


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

Kevin Gallardo commented on TINKERPOP-1942:
---

Hi all, will throw this out there: TIL about a binary format developed by the 
team from Jackson: [https://github.com/FasterXML/smile-format-specification] 
supposedly this format has the same characteristics as JSON in terms of 
composability, so maybe something that could be for use here.

If this fits the use case it would allow to having to re-create a new format 
from scratch, it would also mean that this comes with already some libraries 
supposedly optimized for example in Java and others like the current Jackson 
libraries are.

Disclaimer: Unfortunately I haven't had a chance to follow the full 
conversation here yet but wanted to mention that if anybody wants to have a 
look.

> Binary serialization format
> ---
>
> Key: TINKERPOP-1942
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1942
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: io
>Reporter: Jorge Bay
>Priority: Major
>
> We should provide a binary serialization format designed to reduce 
> serialization overhead and minimizing the size of the payload that is 
> transmitted over the wire.
> It could be implemented in a very similar way as Kryo support but with 
> interoperability in mind and ultimately we could fade Gryo out, as now with 
> the GLVs it doesn't have a role to play.
> The main benefit would be the performance improvement, making serialization 
> and deserialization processing time negligible on both the server and the 
> client.
> Background: 
> https://lists.apache.org/thread.html/13e70235591853801bab16ed457ee4f56f3dfe2d1c5817c34a036408@%3Cdev.tinkerpop.apache.org%3E



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


[jira] [Commented] (TINKERPOP-1518) Cache Graph.Features

2018-06-08 Thread ASF GitHub Bot (JIRA)


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

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

GitHub user spmallette opened a pull request:

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

TINKERPOP-1518 Cache Graph.Features for tests

https://issues.apache.org/jira/browse/TINKERPOP-1518

For graphs that have an expensive startup time but a static set of 
`Graph.Features` the new `GraphProvider.getStaticFeatures()` method should help 
speed their test times as it will prevent creation of a new `Graph` instance 
for the test if the graph does not support the requisite features. For testing 
purposes, this capability was implemented for Neo4j, but it didn't do much to 
speed the execution time of the test suite - saved a couple minutes or so. It's 
generally pretty cheap to create Neo4j instances themselves, so I guess that is 
expected.

(just issued the PR, not quite ready for VOTE yet)

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1518

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/873.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #873


commit aec170982aa03d1a07248721cb045ba95e11188b
Author: Stephen Mallette 
Date:   2018-06-08T00:15:53Z

TINKERPOP-1518 GraphProvider allows for caching of graph features

commit 221fda584c6baf7c65eb4e6eebf72bb0ba251de4
Author: Stephen Mallette 
Date:   2018-06-08T11:45:29Z

TINKERPOP-1518 Minor refactoring - extracted requirement check function




> Cache Graph.Features
> 
>
> Key: TINKERPOP-1518
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1518
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: test-suite
>Affects Versions: 3.2.2
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Major
> Fix For: 3.4.0
>
>
> Determine if there's a way to cache graph features to avoid having to load a 
> {{Graph}} instance for a test. That could save some test cycles for graphs 
> that dont' support a test.



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


[GitHub] tinkerpop pull request #873: TINKERPOP-1518 Cache Graph.Features for tests

2018-06-08 Thread spmallette
GitHub user spmallette opened a pull request:

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

TINKERPOP-1518 Cache Graph.Features for tests

https://issues.apache.org/jira/browse/TINKERPOP-1518

For graphs that have an expensive startup time but a static set of 
`Graph.Features` the new `GraphProvider.getStaticFeatures()` method should help 
speed their test times as it will prevent creation of a new `Graph` instance 
for the test if the graph does not support the requisite features. For testing 
purposes, this capability was implemented for Neo4j, but it didn't do much to 
speed the execution time of the test suite - saved a couple minutes or so. It's 
generally pretty cheap to create Neo4j instances themselves, so I guess that is 
expected.

(just issued the PR, not quite ready for VOTE yet)

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1518

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/873.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #873


commit aec170982aa03d1a07248721cb045ba95e11188b
Author: Stephen Mallette 
Date:   2018-06-08T00:15:53Z

TINKERPOP-1518 GraphProvider allows for caching of graph features

commit 221fda584c6baf7c65eb4e6eebf72bb0ba251de4
Author: Stephen Mallette 
Date:   2018-06-08T11:45:29Z

TINKERPOP-1518 Minor refactoring - extracted requirement check function




---