Hi James,
I definitely have not created a property key called "category". I only ever create property keys via g.makeType() in a database initialisation function that is only ever executed once, so I cannot be accidentally creating this property key either.
It doesn't just happen on "category", there are several other keys that cause the same problem, and all of them are on properties that I have not made a type for.
Wrt unique keys, I also am definitely not creating any unique keys. Also, I'm clearing the database before running the test, by deleting the entire db/, log/ and saved_caches/ subdirectories of the Cassandra backend.
Here is the function where all type creation takes place:
def init_db() {
if(g.getType("_uri"))
return;
// vertex unique key (uri)
g.makeType().name("_uri").dataType(String.class).functional(false).indexed().makePropertyKey();
// vertex indexed keys
g.makeType().name("element_type").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("job").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("seq").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("shot").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("task").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("component").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("filepath").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("guid").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("user").dataType(String.class).functional(false).indexed().makePropertyKey();
g.makeType().name("version").dataType(Integer.class).functional(false).indexed().makePropertyKey();
g.makeType().name("_published").dataType(Integer.class).functional(false).indexed().makePropertyKey();
g.makeType().name("_external").dataType(Integer.class).functional(false).indexed().makePropertyKey();
// vertex non-indexed keys
g.makeType().name("timestamp").dataType(Integer.class).functional(false).makePropertyKey();
// edges
g.makeType().name("identifies").functional(false).simple().makeEdgeLabel();
g.makeType().name("has_thumb").functional(false).simple().makeEdgeLabel();
g.makeType().name("comments_on").simple().makeEdgeLabel();
g.makeType().name("has").simple().makeEdgeLabel();
g.makeType().name("had").simple().makeEdgeLabel();
g.makeType().name("created").simple().makeEdgeLabel();
g.makeType().name("used_by").simple().makeEdgeLabel();
}
Matthias, are you guys running any kind of concurrent unit tests on Titan at all, is there some way we could verify what's happening my end is happening for you also?
Thanks
A