GitHub user okram opened a pull request:
https://github.com/apache/incubator-tinkerpop/pull/278
TINKERPOP-1163: GraphComputer's can have TraversalStrategies.
https://issues.apache.org/jira/browse/TINKERPOP-1163
GraphComputers can now have their own `TraversalStrategy` registrations in
the global cache. Currently, as it stands, all that is registered is
`GraphComputer.class` which has `PathProcessStrategy`, `OrderLimitStrategy`,
`ComputerVerificationStrategy`. Moving forward, we will be able to have
strategies like `SparkCountStrategy` which will convert `g.V().count()` into
`inputRDD.count()` and thus, allow us to talk more directly to the
`GraphComputer` engine. `TinkerCountStrategy` would do `g.V().count()` as
`this.vertices.count()`. Blazin'. .... however, what we have here is the the
infrastructure to allow for the distinction between `Graph` and `GraphComputer`
strategies. Note that this PR is backwards compatible.
CHANGELOG
```
* `TraversalStrategies.GlobalCache` supports both `Graph` and
`GraphComputer` strategy registrations.
```
VOTE +1.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP-1163
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-tinkerpop/pull/278.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 #278
----
commit 718caa6be1f722923aa3c23aae9175cecc6ad11a
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-03-26T16:07:41Z
TraversalStrategies.GlobalCache has two caches now -- one for Graphs and
one for GraphComputers. For 3.2.0, this simply allows us to partition the
strategies so that the 3 GraphComputer strategies we have are never called in
OLTP (saving clock cylces). In the future, it will enable us to have something
like SparkCountStrategy which will just do inputRDD.count() for g.V().count()
instead of going through the rigamorole of TraversalVertexProgram.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---