ES 2.1.0 bulk api throws ArrayIndexOutOfBoundsException

@jprante
@jasontedor
Thanks for your advice. Here is the mapping:
{
"mgindex0" : {
"mappings" : {
"95090eb1-9948-4b21-868a-fc3389b34b6a" : {
"properties" : {
"381cbca0-71ba-434e-b624-93d2a732f427" : {
"type" : "integer"
},
"381cbca0-71ba-434e-b624-93d2a732f427|" : {
"type" : "integer",
"copy_to" : [ "info" ]
},
"4c2bc039-0ace-4713-a988-cafd05eff5b9" : {
"type" : "string"
},
"4c2bc039-0ace-4713-a988-cafd05eff5b9|" : {
"type" : "string",
"index" : "not_analyzed",
"copy_to" : [ "info" ]
},
"808ff715-f215-4300-bc47-6d29c53a1945" : {
"type" : "double"
},
"808ff715-f215-4300-bc47-6d29c53a1945|" : {
"type" : "double",
"copy_to" : [ "info" ]
},
"confidence" : {
"type" : "integer"
},
"createdby" : {
"type" : "integer"
},
"createdon" : {
"type" : "date",
"format" : "strict_date_optional_time||epoch_millis"
},
"datasource" : {
"type" : "string",
"index" : "not_analyzed"
},
"e8238304-703f-4d89-b543-af994886393f" : {
"type" : "string"
},
"e8238304-703f-4d89-b543-af994886393f|" : {
"type" : "string",
"index" : "not_analyzed",
"copy_to" : [ "info" ]
},
"ea312e4e-48b8-4c5a-87c6-59d7fe0d9970" : {
"type" : "string"
},
"ea312e4e-48b8-4c5a-87c6-59d7fe0d9970|" : {
"type" : "string",
"index" : "not_analyzed",
"copy_to" : [ "info" ]
},
"etime" : {
"type" : "date",
"format" : "strict_date_optional_time||epoch_millis"
},
"info" : {
"type" : "string",
"index" : "not_analyzed"
},
"label" : {
"type" : "string",
"copy_to" : [ "info" ]
},
"location" : {
"type" : "geo_point",
"fielddata" : {
"format" : "compressed",
"precision" : "1cm"
}
},
"mugshot" : {
"type" : "string",
"index" : "not_analyzed"
},
"stime" : {
"type" : "date",
"format" : "strict_date_optional_time||epoch_millis"
}
}
}
}
}
}

1: field name is UUID
(1) raw uuid is for analyzed field.
(2) uuid + "|" for not analyzed field.
we did not use multi-field, but i think it does not matter.
2: all analyzed field copy to "info" field
our app need "info" field for special query.