JanusGraph/janusgraph

updateIndex() should make error cases easier to understand

Open

#1 378 ouverte le 14 janv. 2019

Voir sur GitHub
 (0 commentaires) (0 réactions) (0 assignés)Java (1 137 forks)batch import
help wantedkind/enhancement

Métriques du dépôt

Stars
 (4 985 stars)
Métriques de merge PR
 (Merge moyen 3j 18h) (12 PRs mergées en 30 j)

Description

ManagementSystem.updateIndex() returns null if the provided SchemaAction is not applicable for the current status of the index:

if (!updateAction.isApplicableStatus(schemaVertex.getStatus()))
    return null;

Source

This is confusing and the API docs also don't mention this behaviour:

/**
 * Updates the provided index according to the given {@link SchemaAction}
 *
 * @param index
 * @param updateAction
 * @return a future that completes when the index action is done
 */
IndexJobFuture updateIndex(Index index, SchemaAction updateAction);

The method should either throw an exception in this case or at least document this behaviour in the API docs.

When a user doesn't know about this behaviour, then all they're getting is a NullPointerException by calling get() on the returned IndexJobFuture (see #1359).

Guide contributeur