Update action [REINDEX] cannot be invoked for index with status [INSTALLED]

One thing that I faced for the index getting stuck was not closing open transactions.
 
Ensure the following steps (also as mentioned in the reindex recipe)
 
Step1: Clear all transactions

graph.getOpenTransactions()

graph.getOpenTransactions().getAt(0).rollback()

Step2: Clear all management instances
 

mgmt=graph.openManagement()

mgmt.getOpenInstances() 

 
Follow this guide for clearing extra management instances:
https://docs.janusgraph.org/latest/failure-recovery.html
 
 
After doing step 1 and 2
Step3: Force change from Installed to Registered

mgmt = graph.openManagement()

mgmt.updateIndex(mgmt.getGraphIndex("<index-name>"), SchemaAction.REGISTER_INDEX).get()

mgmt.commit()

I believe the step3 is not explicitly mentioned in the recipe. Ideally, if you follow step 1 and 2 then you won’t have to trigger step3. After going through the source code, I found step3 helps. 
Do share if you are still stuck.
 
See this Also:
https://docs.janusgraph.org/latest/index-admin.html