#90 ✓resolved
Andreas Ronge

RSpecs has side effects

Reported by Andreas Ronge | November 11th, 2009 @ 09:43 PM | in 0.3.3

RSpecs may fail depending on what order they are run

Comments and changes to this ticket

  • Carlo Cabanilla

    Carlo Cabanilla November 12th, 2009 @ 05:29 AM

    I think there's something stateful in the reindexer. When I remove the specs that use the reindexer (neo4j/node_lucene_spec.rb and neo4j/reindexer_spec.rb), my tests pass.

  • Carlo Cabanilla

    Carlo Cabanilla November 12th, 2009 @ 05:37 AM

    Also, to recreate the error I was getting, try:

    jspec test/neo4j/node_lucene_spec.rb test/extensions/aggregate_each_spec.rb


    jspec test/neo4j/reindexer_spec.rb test/extensions/aggregate_each_spec.rb

  • Andreas Ronge

    Andreas Ronge November 12th, 2009 @ 09:01 AM

    Thank you very much. I have now managed to reproduce this bug.

    There are two possible reasons why reindexer might cause a problem:

    • When the reindexer extension is loaded it will create extra relationships to the root node - the aggregate extension should work together with the reindexer extension (not tested yet)
    • The Reindexer extension disables the cascade delete on relationships to the IndexNode
    • The event handler is not cleaned (contains static data, like the IndexNode that listen to node events).

    I'm currently doing big refactoring of the aggregate extension and its RSpecs. I will have a look at this ticket in the next few days.

  • Andreas Ronge

    Andreas Ronge November 25th, 2009 @ 08:31 PM

    • State changed from “new” to “resolved”

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Neo4j.rb is a graph database framework for JRuby.

It provides:

* Mapping of ruby objects to nodes in networks rather than in tables.
* Storage of ruby object to a file system.
* Fast traversal of relationships between nodes in a hugh node space.
* Transaction with rollbacks support.
* Indexing and quering of ruby objects.
* Integration with Rails

People watching this ticket