JanusGraph / JanusGraph/janusgraph

Bug caused by operations that delete graphs using python

Open
#4,219 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:
![9](https://github.com/JanusGraph/janusgraph/assets/49486148/5fe2d285-c45c-4848-b15b-9a016e555925)

As shown in this picture, we provide a partial code example in Python to create graph data. Lines 1-4 create a node and return its property key-value pairs. Line 7 deletes all nodes and edges from the graph. Lines 8-11 create a node with the same type but different property types and return its property key-value pairs. From the output results in lines 5 and 6, it can be seen that the property values of nodes constructed under different graph database engines are the same. From the result in line 12, it can be seen that Janusgraph creates the 'p9' property value and 'test3' property value of the node with integer and float, but displays them as float and string. Line 13 shows that Tinkergraph displays property values in a type consistent with the input during node creation. Therefore, we infer that even after deleting all nodes and edges from the graph, the property value types of the nodes initially constructed in Janusgraph will still affect the types of subsequently constructed node property value , leading to a bug.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported Gremlin-Python sequence: create properties, delete all nodes and edges, then create properties with different types on the inmemory backend and compare the results with TinkerGraph. No source files or tests are named; done means determining whether deletion leaves prior property types affecting later values and adding a regression test for the observed behavior.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.