JanusGraph / JanusGraph/janusgraph

UUID property isn't compared correctly when used in a long query

Open
#4,731 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/bug/possible
Dominant language
Java
Stars
5.8k
Forks
1.2k
Avg merge
13h 53m
Merged PRs (30d)
6

Description

Hi team

It looks like the `has` step is not very consistent when dealing with UUID properties:
Screenshot 2024-11-15 at 15 12 37

When I use `has` and `hasLabel` to search for a vertex by the UUID property, I can simply provide a string and it will find me that vertex (second query), but not when starting the traversal with other vertices (first query).
The expected behaviour is that the first query will find me v[4280] as well.

If I make the `EntityId` property as a string type then the first two queries give me the same results as expected.

I'm using version `janusgraph:1.1.0-20241018-025853.872a475` with the berkeley backend, all settings are default, no indices.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the described has and hasLabel traversals against the Berkeley backend with a UUID-typed EntityId property, comparing traversal from other vertices with a direct lookup. Done means the first query also finds v[4280], matching the behavior when the property is stored as a string.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.