JanusGraph / JanusGraph/janusgraph

Bug due to exceptional values handling

Open
#4,220 0 comments 0 reactions 0 assignees View on GitHub
kind/bug/possible
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:
-
![10](https://github.com/JanusGraph/janusgraph/assets/49486148/f72c1df6-146f-41d6-881f-202561c6bb7d)

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.