JanusGraph / JanusGraph/janusgraph

SolrIndex client clean all collections when droping a graph

Open
#2,433 2 comments 0 reactions 0 assignees View on GitHub
index/elasticsearch index/solr kind/bug/possible
Dominant language
Java
Stars
5.8k
Forks
1.2k
Avg merge
13h 53m
Merged PRs (30d)
6

Description

Actually droping a graph in Gremlin console empties all the collections of Solr of the others graphs.

- Storage Backend: inmemory
- Mixed Index Backend: solr
- Link to discussed bug: [lfai](https://lists.lfaidata.foundation/g/janusgraph-users/topic/80377377?p=Created,,,20,1,0,0::recentpostdate/sticky,,,20,2,0,80377377https://lists.lfaidata.foundation/g/janusgraph-users/topic/80377377?p=Created,,,20,1,0,0::recentpostdate/sticky,,,20,2,0,80377377)
- Expected Behavior: Droping a graph cleans/removes only its corresponding index leaving the others unchanged
- Current Behavior: Droping a graph cleans all solr/zookeeper collections
- Steps to Reproduce: Create a graph with a solr index with data. Create a second graph, drop it and check that the solr index of the first graph is now empty

Responsible code maybe the method clearStorage from [SolrIndex.java line 971](https://github.com/JanusGraph/janusgraph/blob/9aff93847866c0df725592c1975e56ccd8e1020a/janusgraph-solr/src/main/java/org/janusgraph/diskstorage/solr/SolrIndex.java#L971)

Contributor guide

Open the contributing guide

Research direction

Start in janusgraph-solr/src/main/java/org/janusgraph/diskstorage/solr/SolrIndex.java at the clearStorage method around line 971. Reproduce the two-graph scenario described in the issue, then trace how dropping one graph selects Solr and ZooKeeper collections. Done means dropping one graph removes only its corresponding index while the other graph's collection and data remain unchanged.

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
Clearly specified
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.