If you have an indexed property with list or set cardinality (in elasticsearch) and you create a new vertex without assigning any value to that property during the creation, then adding a value to that property lateron will fail on commit, because the elasticsearch script to add the property value causes an error (NullReferenceException) in elasticsearch.
The elasticsearch painless script produced looks like this:
ctx._source[\"name\"].add(\"FOO\");
It should make a null-check if that property doesn't already exist on the vertex, like so:
if(ctx._source[\"name\"] == null) ctx._source[\"name\"] = []; ctx._source[\"name\"].add(\"FOO\");
Note, that the "upsert" statement in the elasticsearch query doesn't apply in this case, because it gets used only if the document (i.e. vertex) doesn't already exist.