JanusGraph / JanusGraph/janusgraph
Bug due to exceptional values handling
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
- Version: 1.0.0
- Storage Backend: inmemory
- Mixed Index Backend: elasticresearch-8.6.0
- API/Driver: Gremlin-python 3.2.6
- Steps to Reproduce:
-

As shown in this picture, query 1 returns the key-value pairs of nodes with the 'p2' property and 'p2' property value not equal to the string 'false'. The node property key-value pairs returned by Janusgraph are far fewer than those returned by Tinkergraph. Query 2 returns the key-value pairs of nodes with the 'p2' property and 'p2' property value not equal to the boolean value false, and it can be seen that the results returned by Janusgraph and Tinkergraph are consistent. By comparing the results of query 1 and query 2 in Janusgraph, we can conclude that Janusgraph treats the string 'false' property value as a boolean value false, leading to this bug.
Contributor guide
Research direction
Start by reproducing the two Gremlin queries described in the issue with the inmemory storage backend and the elasticresearch-8.6.0 mixed index backend, comparing JanusGraph with TinkerGraph. Trace how string and boolean property values are handled during filtering; done means the results distinguish the string "false" from boolean false consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elasticsearch, java, python
- Domain
- databases, search
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100