You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Michael Pollmeier <mi...@michaelpollmeier.com> on 2015/07/01 03:54:44 UTC
Re: TP3 OrientGraph
Good news: I just released a first usable version of the OrientDB TP3
driver [1] and added an example project [2] which uses gremlin-scala
with OrientDB.
Currently supported are vertex and edge creation and lookups, properties
and traversals. Everything you need for simple use cases.
It's all released to maven central, so you can execute the example
project [2] or build your own. I'd really appreciate your feedback.
Cheers, Michael
[1] https://github.com/mpollmeier/orientdb-gremlin
[2] https://github.com/mpollmeier/gremlin-scala-examples
On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
> Currently I'm working on supporting edges and things like
> vertex.edges(). With that we should be able to get traversals going.
>
> Here's an incomplete list of other todos:
> OrientGraphNoTx
> index support
> multi thread support: always do the setActive stuff?
> cluster name support, e.g. on addVertex
> tests: use the Standard TP3 testsuite. I run all my tests from a
> different repo using Gremlin-Scala.
> go through remaining NotImplementedExceptions and TODOs in code
>
> Michael
>
>
> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>> Sorry to didn't see it before. What are the missing parts of OrientDB BP3
>> implementation?
>>
>> Lvc@
Re: TP3 OrientGraph
Posted by Michael Pollmeier <mi...@michaelpollmeier.com>.
I went a bit further with the tests but got stuck now. There is a
problem with Orient's ThreadLocal model and the test suite. Here's
what's going on:
1) Every graph operation first needs to set a ThreadLocal variable - I
copied the code from the Blueprints driver to OrientGraph and set the
ThreadLocal in every public method on OrientGraph:
https://github.com/mpollmeier/orientdb-gremlin/blob/master/src/main/java/org/apache/tinkerpop/gremlin/orientdb/OrientGraph.java#L60
2) The tests create new graph instances using OrientGraph.open(). The
graph url defaults to `"memory:test-" + Math.random()` so that every
test uses a new in memory instance
https://github.com/mpollmeier/orientdb-gremlin/blob/master/src/main/java/org/apache/tinkerpop/gremlin/orientdb/OrientGraph.java#L52
3) When executing the tests I get a lot of these:
`IllegalStateException: Current database instance
(com.orientechnologies.orient.core.db.ODatabaseFactory$1@1c9906a2) is
not active on current thread (Thread[main,5,main]). Current active
database is:
com.orientechnologies.orient.core.db.ODatabaseFactory$1@3bda8856`
Maybe that's because the tests all run in parallel and share Threads
from a threadpool? ThreadLocal doesn't work nicely with that model, so
we might need to configure them to run in serial.
@Stephen / @Luca, what do you think?
You can run the testsuite yourself if you remove the comments here:
https://github.com/mpollmeier/orientdb-gremlin/blob/master/src/test/java/org/apache/tinkerpop/gremlin/orientdb/OrientGraphStructureStandardTest.java#L10-L13
On 07/03/2015 09:59 AM, Michael Pollmeier wrote:
> There might be only one test that verifies correct transactional
> behaviour, however nearly all tests come past
> `AbstractGremlinTest.tryCommit` which calls `g.tx().commit()`, which in
> my case threw an Exception. I just changed that for a dummy
> OrientTransaction which doesn't do anything and I get a bit further.
>
> On 07/02/2015 11:31 PM, Stephen Mallette wrote:
>> There is really just one test case that has tests for transactions
>> (TransactionTest), so if you have a lot of red, it's likely related to
>> other things. I think that one of the fastest ways to get rid of the
>> failing tests would be to work on the making sure that your features are
>> defined properly. If you don't support transactions yet, then turn that
>> feature "off" for now until you do. That will make a lot of the tests go
>> from failing to ignored, thus saving you from chasing broken tests
>> that you
>> don't intend to support anyway.
>>
>> On Wed, Jul 1, 2015 at 10:19 PM, Michael Pollmeier <
>> michael@michaelpollmeier.com> wrote:
>>
>>> I just put the structure in place so that it executes the
>>> `StructureStandardSuite`.
>>>
>>> The tests all fail at the moment though, as there's a number of areas
>>> that
>>> haven't been implemented yet, including Transaction handling which
>>> seems to
>>> be a prerequisite for the majority of the tests. It's still a POC I
>>> suppose
>>> ;)
>>>
>>>
>>>
>>> On 07/01/2015 10:00 PM, Stephen Mallette wrote:
>>>
>>>> I know you're just at a POC stage, but do you intend to hook up the
>>>> various
>>>> Gremlin Test Suites any time soon?
>>>>
>>>> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
>>>> michael@michaelpollmeier.com> wrote:
>>>>
>>>> If you want to spread the word please retweet:
>>>>> https://twitter.com/pollmeier/status/616063761070206976
>>>>>
>>>>>
>>>>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>>>>
>>>>> Good news: I just released a first usable version of the OrientDB
>>>>> TP3
>>>>>> driver [1] and added an example project [2] which uses gremlin-scala
>>>>>> with OrientDB.
>>>>>>
>>>>>> Currently supported are vertex and edge creation and lookups,
>>>>>> properties
>>>>>> and traversals. Everything you need for simple use cases.
>>>>>>
>>>>>> It's all released to maven central, so you can execute the example
>>>>>> project [2] or build your own. I'd really appreciate your feedback.
>>>>>>
>>>>>> Cheers, Michael
>>>>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>>>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>>>>
>>>>>>
>>>>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>>>>
>>>>>> Currently I'm working on supporting edges and things like
>>>>>>> vertex.edges(). With that we should be able to get traversals going.
>>>>>>>
>>>>>>> Here's an incomplete list of other todos:
>>>>>>> OrientGraphNoTx
>>>>>>> index support
>>>>>>> multi thread support: always do the setActive stuff?
>>>>>>> cluster name support, e.g. on addVertex
>>>>>>> tests: use the Standard TP3 testsuite. I run all my tests
>>>>>>> from a
>>>>>>> different repo using Gremlin-Scala.
>>>>>>> go through remaining NotImplementedExceptions and TODOs in code
>>>>>>>
>>>>>>> Michael
>>>>>>>
>>>>>>>
>>>>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>>>>
>>>>>>> Sorry to didn't see it before. What are the missing parts of
>>>>>>> OrientDB
>>>>>>>> BP3
>>>>>>>> implementation?
>>>>>>>>
>>>>>>>> Lvc@
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>
>>
Re: TP3 OrientGraph
Posted by Stephen Mallette <sp...@gmail.com>.
>
> One other common theme is the ID format....In VertexTest there's a number
> of different ID types being tested, including Long, String, UUID. Do we
> need to add one for Orient?
The test suite is for handling generic cases. I don't thinking adding an
id assertion for those graphs that have custom ids is helpful as I'd have
to delegate the assertion of that id back to the graph (so why not just let
the graph do it's own assertions of such things?). Titan has a similar
issue with its Edge id (RelationIdentifier) and I think we have gotten
reasonably good coverage without testing over it explicitly. The TinkerPop
Test Suite is meant to enforce behavior, not to ensure a specific
implementations correctness. It is up to each implementation to fill gaps
in coverage left by the suite - note that even Neo4j/TinkerGraph have such
tests.
Now as far as "identifiers" and compliance with TinkerPop goes, it is very
important that you properly implement the IoRegistry properly as OrientDB
does have its Rid class for the identifier and it needs to serialize
properly to pass a number of tests, be compliance with Gremlin Server, etc.:
http://tinkerpop.incubator.apache.org/docs/3.0.0.M9-incubating/#io-implementations
I suggest you have a look at Titan's (very simple):
https://github.com/thinkaurelius/titan/blob/0.9.0-M2/titan-core/src/main/java/com/thinkaurelius/titan/graphdb/tinkerpop/TitanIoRegistry.java
Your features still look off to me btw:
https://github.com/mpollmeier/orientdb-gremlin/blob/master/src/main/java/org/apache/tinkerpop/gremlin/orientdb/ODBFeatures.java#L61
If the id for OrientDB uses a Rid class internally to represent the id then
that should be true and the supportsNumericIds, supportsStringIds,
supportsUuidIds and supportsAnyIds should be false. OrientDB should also
return false for supportsUserSuppliedIds. Definitely take a read through
the javadoc of Features and get ALL of the features set properly based on
what you think you support in your code (not what OrientDB could support)
and then re-run your tests - you'll be chasing bugs that aren't there for a
long time if you don't get these straight.
On Thu, Jul 2, 2015 at 9:13 PM, Michael Pollmeier <
michael@michaelpollmeier.com> wrote:
> Good hint, I've just implemented Features to clarify what's supported and
> what not, now I have 239 skipped, 45 failures, 325 errors and 145
> successful tests. Better, but lot's of work left ;)
>
> The problems described in the other mail (re Threadlocal) remain - would
> be good to get your thoughts on.
>
> One other common theme is the ID format. Orient's IDs are in the format
> `<cluster-id>:<cluster-position>`, e.g. `#9:5000`. In VertexTest there's a
> number of different ID types being tested, including Long, String, UUID. Do
> we need to add one for Orient?
>
>
> On 07/03/2015 11:42 AM, Stephen Mallette wrote:
>
>> Well - there might be calls to tryCommit(), but there's a feature check
>> there:
>>
>>
>> https://github.com/apache/incubator-tinkerpop/blob/master/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java#L190
>>
>> so if you make supportsTransactions() return "false" at least until you
>> get
>> that working wont' that allow the test to proceed without you having to
>> fake an implementation?
>>
>> On Thu, Jul 2, 2015 at 5:59 PM, Michael Pollmeier <
>> michael@michaelpollmeier.com> wrote:
>>
>> There might be only one test that verifies correct transactional
>>> behaviour, however nearly all tests come past
>>> `AbstractGremlinTest.tryCommit` which calls `g.tx().commit()`, which in
>>> my
>>> case threw an Exception. I just changed that for a dummy
>>> OrientTransaction
>>> which doesn't do anything and I get a bit further.
>>>
>>>
>>> On 07/02/2015 11:31 PM, Stephen Mallette wrote:
>>>
>>> There is really just one test case that has tests for transactions
>>>> (TransactionTest), so if you have a lot of red, it's likely related to
>>>> other things. I think that one of the fastest ways to get rid of the
>>>> failing tests would be to work on the making sure that your features are
>>>> defined properly. If you don't support transactions yet, then turn that
>>>> feature "off" for now until you do. That will make a lot of the tests
>>>> go
>>>> from failing to ignored, thus saving you from chasing broken tests that
>>>> you
>>>> don't intend to support anyway.
>>>>
>>>> On Wed, Jul 1, 2015 at 10:19 PM, Michael Pollmeier <
>>>> michael@michaelpollmeier.com> wrote:
>>>>
>>>> I just put the structure in place so that it executes the
>>>>
>>>>> `StructureStandardSuite`.
>>>>>
>>>>> The tests all fail at the moment though, as there's a number of areas
>>>>> that
>>>>> haven't been implemented yet, including Transaction handling which
>>>>> seems
>>>>> to
>>>>> be a prerequisite for the majority of the tests. It's still a POC I
>>>>> suppose
>>>>> ;)
>>>>>
>>>>>
>>>>>
>>>>> On 07/01/2015 10:00 PM, Stephen Mallette wrote:
>>>>>
>>>>> I know you're just at a POC stage, but do you intend to hook up the
>>>>>
>>>>>> various
>>>>>> Gremlin Test Suites any time soon?
>>>>>>
>>>>>> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
>>>>>> michael@michaelpollmeier.com> wrote:
>>>>>>
>>>>>> If you want to spread the word please retweet:
>>>>>>
>>>>>> https://twitter.com/pollmeier/status/616063761070206976
>>>>>>>
>>>>>>>
>>>>>>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>>>>>>
>>>>>>> Good news: I just released a first usable version of the OrientDB
>>>>>>> TP3
>>>>>>>
>>>>>>> driver [1] and added an example project [2] which uses gremlin-scala
>>>>>>>> with OrientDB.
>>>>>>>>
>>>>>>>> Currently supported are vertex and edge creation and lookups,
>>>>>>>> properties
>>>>>>>> and traversals. Everything you need for simple use cases.
>>>>>>>>
>>>>>>>> It's all released to maven central, so you can execute the example
>>>>>>>> project [2] or build your own. I'd really appreciate your feedback.
>>>>>>>>
>>>>>>>> Cheers, Michael
>>>>>>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>>>>>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>>>>>>
>>>>>>>>
>>>>>>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>>>>>>
>>>>>>>> Currently I'm working on supporting edges and things like
>>>>>>>>
>>>>>>>> vertex.edges(). With that we should be able to get traversals
>>>>>>>>> going.
>>>>>>>>>
>>>>>>>>> Here's an incomplete list of other todos:
>>>>>>>>> OrientGraphNoTx
>>>>>>>>> index support
>>>>>>>>> multi thread support: always do the setActive stuff?
>>>>>>>>> cluster name support, e.g. on addVertex
>>>>>>>>> tests: use the Standard TP3 testsuite. I run all my tests
>>>>>>>>> from a
>>>>>>>>> different repo using Gremlin-Scala.
>>>>>>>>> go through remaining NotImplementedExceptions and TODOs in
>>>>>>>>> code
>>>>>>>>>
>>>>>>>>> Michael
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>>>>>>
>>>>>>>>> Sorry to didn't see it before. What are the missing parts of
>>>>>>>>> OrientDB
>>>>>>>>>
>>>>>>>>> BP3
>>>>>>>>>> implementation?
>>>>>>>>>>
>>>>>>>>>> Lvc@
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>
>>>>
>>
Re: TP3 OrientGraph
Posted by Luca Garulli <l....@gmail.com>.
Hi Michael,
BP 2.x allowed to not support application IDs, so OrientDB (and other
implementations), simply ignore them as IDs. I don't know if BP 3 changed
anything.
However, you can always bind any ID as Vertex's property and index it if
needed.
About concurrency, sharing the same instance across threads is allowed
(thanks to makeActive() call at the beginning of each method), but using
the same instance concurrently by different threads is not. Is this the
casa?
Lvc@
On 3 July 2015 at 03:13, Michael Pollmeier <mi...@michaelpollmeier.com>
wrote:
> Good hint, I've just implemented Features to clarify what's supported and
> what not, now I have 239 skipped, 45 failures, 325 errors and 145
> successful tests. Better, but lot's of work left ;)
>
> The problems described in the other mail (re Threadlocal) remain - would
> be good to get your thoughts on.
>
> One other common theme is the ID format. Orient's IDs are in the format
> `<cluster-id>:<cluster-position>`, e.g. `#9:5000`. In VertexTest there's a
> number of different ID types being tested, including Long, String, UUID. Do
> we need to add one for Orient?
>
>
> On 07/03/2015 11:42 AM, Stephen Mallette wrote:
>
>> Well - there might be calls to tryCommit(), but there's a feature check
>> there:
>>
>>
>> https://github.com/apache/incubator-tinkerpop/blob/master/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java#L190
>>
>> so if you make supportsTransactions() return "false" at least until you
>> get
>> that working wont' that allow the test to proceed without you having to
>> fake an implementation?
>>
>> On Thu, Jul 2, 2015 at 5:59 PM, Michael Pollmeier <
>> michael@michaelpollmeier.com> wrote:
>>
>> There might be only one test that verifies correct transactional
>>> behaviour, however nearly all tests come past
>>> `AbstractGremlinTest.tryCommit` which calls `g.tx().commit()`, which in
>>> my
>>> case threw an Exception. I just changed that for a dummy
>>> OrientTransaction
>>> which doesn't do anything and I get a bit further.
>>>
>>>
>>> On 07/02/2015 11:31 PM, Stephen Mallette wrote:
>>>
>>> There is really just one test case that has tests for transactions
>>>> (TransactionTest), so if you have a lot of red, it's likely related to
>>>> other things. I think that one of the fastest ways to get rid of the
>>>> failing tests would be to work on the making sure that your features are
>>>> defined properly. If you don't support transactions yet, then turn that
>>>> feature "off" for now until you do. That will make a lot of the tests
>>>> go
>>>> from failing to ignored, thus saving you from chasing broken tests that
>>>> you
>>>> don't intend to support anyway.
>>>>
>>>> On Wed, Jul 1, 2015 at 10:19 PM, Michael Pollmeier <
>>>> michael@michaelpollmeier.com> wrote:
>>>>
>>>> I just put the structure in place so that it executes the
>>>>
>>>>> `StructureStandardSuite`.
>>>>>
>>>>> The tests all fail at the moment though, as there's a number of areas
>>>>> that
>>>>> haven't been implemented yet, including Transaction handling which
>>>>> seems
>>>>> to
>>>>> be a prerequisite for the majority of the tests. It's still a POC I
>>>>> suppose
>>>>> ;)
>>>>>
>>>>>
>>>>>
>>>>> On 07/01/2015 10:00 PM, Stephen Mallette wrote:
>>>>>
>>>>> I know you're just at a POC stage, but do you intend to hook up the
>>>>>
>>>>>> various
>>>>>> Gremlin Test Suites any time soon?
>>>>>>
>>>>>> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
>>>>>> michael@michaelpollmeier.com> wrote:
>>>>>>
>>>>>> If you want to spread the word please retweet:
>>>>>>
>>>>>> https://twitter.com/pollmeier/status/616063761070206976
>>>>>>>
>>>>>>>
>>>>>>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>>>>>>
>>>>>>> Good news: I just released a first usable version of the OrientDB
>>>>>>> TP3
>>>>>>>
>>>>>>> driver [1] and added an example project [2] which uses gremlin-scala
>>>>>>>> with OrientDB.
>>>>>>>>
>>>>>>>> Currently supported are vertex and edge creation and lookups,
>>>>>>>> properties
>>>>>>>> and traversals. Everything you need for simple use cases.
>>>>>>>>
>>>>>>>> It's all released to maven central, so you can execute the example
>>>>>>>> project [2] or build your own. I'd really appreciate your feedback.
>>>>>>>>
>>>>>>>> Cheers, Michael
>>>>>>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>>>>>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>>>>>>
>>>>>>>>
>>>>>>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>>>>>>
>>>>>>>> Currently I'm working on supporting edges and things like
>>>>>>>>
>>>>>>>> vertex.edges(). With that we should be able to get traversals
>>>>>>>>> going.
>>>>>>>>>
>>>>>>>>> Here's an incomplete list of other todos:
>>>>>>>>> OrientGraphNoTx
>>>>>>>>> index support
>>>>>>>>> multi thread support: always do the setActive stuff?
>>>>>>>>> cluster name support, e.g. on addVertex
>>>>>>>>> tests: use the Standard TP3 testsuite. I run all my tests
>>>>>>>>> from a
>>>>>>>>> different repo using Gremlin-Scala.
>>>>>>>>> go through remaining NotImplementedExceptions and TODOs in
>>>>>>>>> code
>>>>>>>>>
>>>>>>>>> Michael
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>>>>>>
>>>>>>>>> Sorry to didn't see it before. What are the missing parts of
>>>>>>>>> OrientDB
>>>>>>>>>
>>>>>>>>> BP3
>>>>>>>>>> implementation?
>>>>>>>>>>
>>>>>>>>>> Lvc@
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>
>>>>
>>
Re: TP3 OrientGraph
Posted by Michael Pollmeier <mi...@michaelpollmeier.com>.
Good hint, I've just implemented Features to clarify what's supported
and what not, now I have 239 skipped, 45 failures, 325 errors and 145
successful tests. Better, but lot's of work left ;)
The problems described in the other mail (re Threadlocal) remain - would
be good to get your thoughts on.
One other common theme is the ID format. Orient's IDs are in the format
`<cluster-id>:<cluster-position>`, e.g. `#9:5000`. In VertexTest there's
a number of different ID types being tested, including Long, String,
UUID. Do we need to add one for Orient?
On 07/03/2015 11:42 AM, Stephen Mallette wrote:
> Well - there might be calls to tryCommit(), but there's a feature check
> there:
>
> https://github.com/apache/incubator-tinkerpop/blob/master/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java#L190
>
> so if you make supportsTransactions() return "false" at least until you get
> that working wont' that allow the test to proceed without you having to
> fake an implementation?
>
> On Thu, Jul 2, 2015 at 5:59 PM, Michael Pollmeier <
> michael@michaelpollmeier.com> wrote:
>
>> There might be only one test that verifies correct transactional
>> behaviour, however nearly all tests come past
>> `AbstractGremlinTest.tryCommit` which calls `g.tx().commit()`, which in my
>> case threw an Exception. I just changed that for a dummy OrientTransaction
>> which doesn't do anything and I get a bit further.
>>
>>
>> On 07/02/2015 11:31 PM, Stephen Mallette wrote:
>>
>>> There is really just one test case that has tests for transactions
>>> (TransactionTest), so if you have a lot of red, it's likely related to
>>> other things. I think that one of the fastest ways to get rid of the
>>> failing tests would be to work on the making sure that your features are
>>> defined properly. If you don't support transactions yet, then turn that
>>> feature "off" for now until you do. That will make a lot of the tests go
>>> from failing to ignored, thus saving you from chasing broken tests that
>>> you
>>> don't intend to support anyway.
>>>
>>> On Wed, Jul 1, 2015 at 10:19 PM, Michael Pollmeier <
>>> michael@michaelpollmeier.com> wrote:
>>>
>>> I just put the structure in place so that it executes the
>>>> `StructureStandardSuite`.
>>>>
>>>> The tests all fail at the moment though, as there's a number of areas
>>>> that
>>>> haven't been implemented yet, including Transaction handling which seems
>>>> to
>>>> be a prerequisite for the majority of the tests. It's still a POC I
>>>> suppose
>>>> ;)
>>>>
>>>>
>>>>
>>>> On 07/01/2015 10:00 PM, Stephen Mallette wrote:
>>>>
>>>> I know you're just at a POC stage, but do you intend to hook up the
>>>>> various
>>>>> Gremlin Test Suites any time soon?
>>>>>
>>>>> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
>>>>> michael@michaelpollmeier.com> wrote:
>>>>>
>>>>> If you want to spread the word please retweet:
>>>>>
>>>>>> https://twitter.com/pollmeier/status/616063761070206976
>>>>>>
>>>>>>
>>>>>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>>>>>
>>>>>> Good news: I just released a first usable version of the OrientDB TP3
>>>>>>
>>>>>>> driver [1] and added an example project [2] which uses gremlin-scala
>>>>>>> with OrientDB.
>>>>>>>
>>>>>>> Currently supported are vertex and edge creation and lookups,
>>>>>>> properties
>>>>>>> and traversals. Everything you need for simple use cases.
>>>>>>>
>>>>>>> It's all released to maven central, so you can execute the example
>>>>>>> project [2] or build your own. I'd really appreciate your feedback.
>>>>>>>
>>>>>>> Cheers, Michael
>>>>>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>>>>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>>>>>
>>>>>>>
>>>>>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>>>>>
>>>>>>> Currently I'm working on supporting edges and things like
>>>>>>>
>>>>>>>> vertex.edges(). With that we should be able to get traversals going.
>>>>>>>>
>>>>>>>> Here's an incomplete list of other todos:
>>>>>>>> OrientGraphNoTx
>>>>>>>> index support
>>>>>>>> multi thread support: always do the setActive stuff?
>>>>>>>> cluster name support, e.g. on addVertex
>>>>>>>> tests: use the Standard TP3 testsuite. I run all my tests from a
>>>>>>>> different repo using Gremlin-Scala.
>>>>>>>> go through remaining NotImplementedExceptions and TODOs in code
>>>>>>>>
>>>>>>>> Michael
>>>>>>>>
>>>>>>>>
>>>>>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>>>>>
>>>>>>>> Sorry to didn't see it before. What are the missing parts of
>>>>>>>> OrientDB
>>>>>>>>
>>>>>>>>> BP3
>>>>>>>>> implementation?
>>>>>>>>>
>>>>>>>>> Lvc@
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>
>>>
>
Re: TP3 OrientGraph
Posted by Stephen Mallette <sp...@gmail.com>.
Well - there might be calls to tryCommit(), but there's a feature check
there:
https://github.com/apache/incubator-tinkerpop/blob/master/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java#L190
so if you make supportsTransactions() return "false" at least until you get
that working wont' that allow the test to proceed without you having to
fake an implementation?
On Thu, Jul 2, 2015 at 5:59 PM, Michael Pollmeier <
michael@michaelpollmeier.com> wrote:
> There might be only one test that verifies correct transactional
> behaviour, however nearly all tests come past
> `AbstractGremlinTest.tryCommit` which calls `g.tx().commit()`, which in my
> case threw an Exception. I just changed that for a dummy OrientTransaction
> which doesn't do anything and I get a bit further.
>
>
> On 07/02/2015 11:31 PM, Stephen Mallette wrote:
>
>> There is really just one test case that has tests for transactions
>> (TransactionTest), so if you have a lot of red, it's likely related to
>> other things. I think that one of the fastest ways to get rid of the
>> failing tests would be to work on the making sure that your features are
>> defined properly. If you don't support transactions yet, then turn that
>> feature "off" for now until you do. That will make a lot of the tests go
>> from failing to ignored, thus saving you from chasing broken tests that
>> you
>> don't intend to support anyway.
>>
>> On Wed, Jul 1, 2015 at 10:19 PM, Michael Pollmeier <
>> michael@michaelpollmeier.com> wrote:
>>
>> I just put the structure in place so that it executes the
>>> `StructureStandardSuite`.
>>>
>>> The tests all fail at the moment though, as there's a number of areas
>>> that
>>> haven't been implemented yet, including Transaction handling which seems
>>> to
>>> be a prerequisite for the majority of the tests. It's still a POC I
>>> suppose
>>> ;)
>>>
>>>
>>>
>>> On 07/01/2015 10:00 PM, Stephen Mallette wrote:
>>>
>>> I know you're just at a POC stage, but do you intend to hook up the
>>>> various
>>>> Gremlin Test Suites any time soon?
>>>>
>>>> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
>>>> michael@michaelpollmeier.com> wrote:
>>>>
>>>> If you want to spread the word please retweet:
>>>>
>>>>> https://twitter.com/pollmeier/status/616063761070206976
>>>>>
>>>>>
>>>>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>>>>
>>>>> Good news: I just released a first usable version of the OrientDB TP3
>>>>>
>>>>>> driver [1] and added an example project [2] which uses gremlin-scala
>>>>>> with OrientDB.
>>>>>>
>>>>>> Currently supported are vertex and edge creation and lookups,
>>>>>> properties
>>>>>> and traversals. Everything you need for simple use cases.
>>>>>>
>>>>>> It's all released to maven central, so you can execute the example
>>>>>> project [2] or build your own. I'd really appreciate your feedback.
>>>>>>
>>>>>> Cheers, Michael
>>>>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>>>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>>>>
>>>>>>
>>>>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>>>>
>>>>>> Currently I'm working on supporting edges and things like
>>>>>>
>>>>>>> vertex.edges(). With that we should be able to get traversals going.
>>>>>>>
>>>>>>> Here's an incomplete list of other todos:
>>>>>>> OrientGraphNoTx
>>>>>>> index support
>>>>>>> multi thread support: always do the setActive stuff?
>>>>>>> cluster name support, e.g. on addVertex
>>>>>>> tests: use the Standard TP3 testsuite. I run all my tests from a
>>>>>>> different repo using Gremlin-Scala.
>>>>>>> go through remaining NotImplementedExceptions and TODOs in code
>>>>>>>
>>>>>>> Michael
>>>>>>>
>>>>>>>
>>>>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>>>>
>>>>>>> Sorry to didn't see it before. What are the missing parts of
>>>>>>> OrientDB
>>>>>>>
>>>>>>>> BP3
>>>>>>>> implementation?
>>>>>>>>
>>>>>>>> Lvc@
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>
>>
Re: TP3 OrientGraph
Posted by Michael Pollmeier <mi...@michaelpollmeier.com>.
There might be only one test that verifies correct transactional
behaviour, however nearly all tests come past
`AbstractGremlinTest.tryCommit` which calls `g.tx().commit()`, which in
my case threw an Exception. I just changed that for a dummy
OrientTransaction which doesn't do anything and I get a bit further.
On 07/02/2015 11:31 PM, Stephen Mallette wrote:
> There is really just one test case that has tests for transactions
> (TransactionTest), so if you have a lot of red, it's likely related to
> other things. I think that one of the fastest ways to get rid of the
> failing tests would be to work on the making sure that your features are
> defined properly. If you don't support transactions yet, then turn that
> feature "off" for now until you do. That will make a lot of the tests go
> from failing to ignored, thus saving you from chasing broken tests that you
> don't intend to support anyway.
>
> On Wed, Jul 1, 2015 at 10:19 PM, Michael Pollmeier <
> michael@michaelpollmeier.com> wrote:
>
>> I just put the structure in place so that it executes the
>> `StructureStandardSuite`.
>>
>> The tests all fail at the moment though, as there's a number of areas that
>> haven't been implemented yet, including Transaction handling which seems to
>> be a prerequisite for the majority of the tests. It's still a POC I suppose
>> ;)
>>
>>
>>
>> On 07/01/2015 10:00 PM, Stephen Mallette wrote:
>>
>>> I know you're just at a POC stage, but do you intend to hook up the
>>> various
>>> Gremlin Test Suites any time soon?
>>>
>>> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
>>> michael@michaelpollmeier.com> wrote:
>>>
>>> If you want to spread the word please retweet:
>>>> https://twitter.com/pollmeier/status/616063761070206976
>>>>
>>>>
>>>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>>>
>>>> Good news: I just released a first usable version of the OrientDB TP3
>>>>> driver [1] and added an example project [2] which uses gremlin-scala
>>>>> with OrientDB.
>>>>>
>>>>> Currently supported are vertex and edge creation and lookups, properties
>>>>> and traversals. Everything you need for simple use cases.
>>>>>
>>>>> It's all released to maven central, so you can execute the example
>>>>> project [2] or build your own. I'd really appreciate your feedback.
>>>>>
>>>>> Cheers, Michael
>>>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>>>
>>>>>
>>>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>>>
>>>>> Currently I'm working on supporting edges and things like
>>>>>> vertex.edges(). With that we should be able to get traversals going.
>>>>>>
>>>>>> Here's an incomplete list of other todos:
>>>>>> OrientGraphNoTx
>>>>>> index support
>>>>>> multi thread support: always do the setActive stuff?
>>>>>> cluster name support, e.g. on addVertex
>>>>>> tests: use the Standard TP3 testsuite. I run all my tests from a
>>>>>> different repo using Gremlin-Scala.
>>>>>> go through remaining NotImplementedExceptions and TODOs in code
>>>>>>
>>>>>> Michael
>>>>>>
>>>>>>
>>>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>>>
>>>>>> Sorry to didn't see it before. What are the missing parts of OrientDB
>>>>>>> BP3
>>>>>>> implementation?
>>>>>>>
>>>>>>> Lvc@
>>>>>>>
>>>>>>>
>>>>>>
>>>
>
Re: TP3 OrientGraph
Posted by Stephen Mallette <sp...@gmail.com>.
There is really just one test case that has tests for transactions
(TransactionTest), so if you have a lot of red, it's likely related to
other things. I think that one of the fastest ways to get rid of the
failing tests would be to work on the making sure that your features are
defined properly. If you don't support transactions yet, then turn that
feature "off" for now until you do. That will make a lot of the tests go
from failing to ignored, thus saving you from chasing broken tests that you
don't intend to support anyway.
On Wed, Jul 1, 2015 at 10:19 PM, Michael Pollmeier <
michael@michaelpollmeier.com> wrote:
> I just put the structure in place so that it executes the
> `StructureStandardSuite`.
>
> The tests all fail at the moment though, as there's a number of areas that
> haven't been implemented yet, including Transaction handling which seems to
> be a prerequisite for the majority of the tests. It's still a POC I suppose
> ;)
>
>
>
> On 07/01/2015 10:00 PM, Stephen Mallette wrote:
>
>> I know you're just at a POC stage, but do you intend to hook up the
>> various
>> Gremlin Test Suites any time soon?
>>
>> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
>> michael@michaelpollmeier.com> wrote:
>>
>> If you want to spread the word please retweet:
>>> https://twitter.com/pollmeier/status/616063761070206976
>>>
>>>
>>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>>
>>> Good news: I just released a first usable version of the OrientDB TP3
>>>> driver [1] and added an example project [2] which uses gremlin-scala
>>>> with OrientDB.
>>>>
>>>> Currently supported are vertex and edge creation and lookups, properties
>>>> and traversals. Everything you need for simple use cases.
>>>>
>>>> It's all released to maven central, so you can execute the example
>>>> project [2] or build your own. I'd really appreciate your feedback.
>>>>
>>>> Cheers, Michael
>>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>>
>>>>
>>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>>
>>>> Currently I'm working on supporting edges and things like
>>>>> vertex.edges(). With that we should be able to get traversals going.
>>>>>
>>>>> Here's an incomplete list of other todos:
>>>>> OrientGraphNoTx
>>>>> index support
>>>>> multi thread support: always do the setActive stuff?
>>>>> cluster name support, e.g. on addVertex
>>>>> tests: use the Standard TP3 testsuite. I run all my tests from a
>>>>> different repo using Gremlin-Scala.
>>>>> go through remaining NotImplementedExceptions and TODOs in code
>>>>>
>>>>> Michael
>>>>>
>>>>>
>>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>>
>>>>> Sorry to didn't see it before. What are the missing parts of OrientDB
>>>>>> BP3
>>>>>> implementation?
>>>>>>
>>>>>> Lvc@
>>>>>>
>>>>>>
>>>>>
>>
Re: TP3 OrientGraph
Posted by Michael Pollmeier <mi...@michaelpollmeier.com>.
I just put the structure in place so that it executes the
`StructureStandardSuite`.
The tests all fail at the moment though, as there's a number of areas
that haven't been implemented yet, including Transaction handling which
seems to be a prerequisite for the majority of the tests. It's still a
POC I suppose ;)
On 07/01/2015 10:00 PM, Stephen Mallette wrote:
> I know you're just at a POC stage, but do you intend to hook up the various
> Gremlin Test Suites any time soon?
>
> On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
> michael@michaelpollmeier.com> wrote:
>
>> If you want to spread the word please retweet:
>> https://twitter.com/pollmeier/status/616063761070206976
>>
>>
>> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>>
>>> Good news: I just released a first usable version of the OrientDB TP3
>>> driver [1] and added an example project [2] which uses gremlin-scala
>>> with OrientDB.
>>>
>>> Currently supported are vertex and edge creation and lookups, properties
>>> and traversals. Everything you need for simple use cases.
>>>
>>> It's all released to maven central, so you can execute the example
>>> project [2] or build your own. I'd really appreciate your feedback.
>>>
>>> Cheers, Michael
>>> [1] https://github.com/mpollmeier/orientdb-gremlin
>>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>>
>>>
>>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>>
>>>> Currently I'm working on supporting edges and things like
>>>> vertex.edges(). With that we should be able to get traversals going.
>>>>
>>>> Here's an incomplete list of other todos:
>>>> OrientGraphNoTx
>>>> index support
>>>> multi thread support: always do the setActive stuff?
>>>> cluster name support, e.g. on addVertex
>>>> tests: use the Standard TP3 testsuite. I run all my tests from a
>>>> different repo using Gremlin-Scala.
>>>> go through remaining NotImplementedExceptions and TODOs in code
>>>>
>>>> Michael
>>>>
>>>>
>>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>>
>>>>> Sorry to didn't see it before. What are the missing parts of OrientDB
>>>>> BP3
>>>>> implementation?
>>>>>
>>>>> Lvc@
>>>>>
>>>>
>
Re: TP3 OrientGraph
Posted by Stephen Mallette <sp...@gmail.com>.
I know you're just at a POC stage, but do you intend to hook up the various
Gremlin Test Suites any time soon?
On Tue, Jun 30, 2015 at 10:01 PM, Michael Pollmeier <
michael@michaelpollmeier.com> wrote:
> If you want to spread the word please retweet:
> https://twitter.com/pollmeier/status/616063761070206976
>
>
> On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
>
>> Good news: I just released a first usable version of the OrientDB TP3
>> driver [1] and added an example project [2] which uses gremlin-scala
>> with OrientDB.
>>
>> Currently supported are vertex and edge creation and lookups, properties
>> and traversals. Everything you need for simple use cases.
>>
>> It's all released to maven central, so you can execute the example
>> project [2] or build your own. I'd really appreciate your feedback.
>>
>> Cheers, Michael
>> [1] https://github.com/mpollmeier/orientdb-gremlin
>> [2] https://github.com/mpollmeier/gremlin-scala-examples
>>
>>
>> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>>
>>> Currently I'm working on supporting edges and things like
>>> vertex.edges(). With that we should be able to get traversals going.
>>>
>>> Here's an incomplete list of other todos:
>>> OrientGraphNoTx
>>> index support
>>> multi thread support: always do the setActive stuff?
>>> cluster name support, e.g. on addVertex
>>> tests: use the Standard TP3 testsuite. I run all my tests from a
>>> different repo using Gremlin-Scala.
>>> go through remaining NotImplementedExceptions and TODOs in code
>>>
>>> Michael
>>>
>>>
>>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>>
>>>> Sorry to didn't see it before. What are the missing parts of OrientDB
>>>> BP3
>>>> implementation?
>>>>
>>>> Lvc@
>>>>
>>>
Re: TP3 OrientGraph
Posted by Michael Pollmeier <mi...@michaelpollmeier.com>.
If you want to spread the word please retweet:
https://twitter.com/pollmeier/status/616063761070206976
On 07/01/2015 01:54 PM, Michael Pollmeier wrote:
> Good news: I just released a first usable version of the OrientDB TP3
> driver [1] and added an example project [2] which uses gremlin-scala
> with OrientDB.
>
> Currently supported are vertex and edge creation and lookups, properties
> and traversals. Everything you need for simple use cases.
>
> It's all released to maven central, so you can execute the example
> project [2] or build your own. I'd really appreciate your feedback.
>
> Cheers, Michael
> [1] https://github.com/mpollmeier/orientdb-gremlin
> [2] https://github.com/mpollmeier/gremlin-scala-examples
>
>
> On 06/29/2015 09:35 AM, Michael Pollmeier wrote:
>> Currently I'm working on supporting edges and things like
>> vertex.edges(). With that we should be able to get traversals going.
>>
>> Here's an incomplete list of other todos:
>> OrientGraphNoTx
>> index support
>> multi thread support: always do the setActive stuff?
>> cluster name support, e.g. on addVertex
>> tests: use the Standard TP3 testsuite. I run all my tests from a
>> different repo using Gremlin-Scala.
>> go through remaining NotImplementedExceptions and TODOs in code
>>
>> Michael
>>
>>
>> On 06/27/2015 02:52 AM, Luca Garulli wrote:
>>> Sorry to didn't see it before. What are the missing parts of OrientDB
>>> BP3
>>> implementation?
>>>
>>> Lvc@