JanusGraph/janusgraph

updateIndex() should make error cases easier to understand

Open

#1.378 geöffnet am 14. Jan. 2019

Auf GitHub ansehen
 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Java (1.137 Forks)batch import
help wantedkind/enhancement

Repository-Metriken

Stars
 (4.985 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 3T 18h) (12 gemergte PRs in 30 T)

Beschreibung

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).

Contributor Guide