Michael Russo created USERGRID-1104:
---------------------------------------
Summary: Index mapping migration plugin throws exception and stops
Key: USERGRID-1104
URL: https://issues.apache.org/jira/browse/USERGRID-1104
Project: Usergrid
Issue Type: Bug
Reporter: Michael Russo
When running the index mapping migration plugin on an elastic search cluster
that's already running with indexes that have the latest mapping, we see the
following exception and the migration does not complete:
{code}
2015-11-11 19:26:17,468 [Index migrate data formats] INFO
org.apache.usergrid.persistence.core.migration.data.DataMigrationManagerImpl-
Migration version 2. Failed to migrate, reason is appended. Error 'failed to
update' org.elasticsearch.index.mapper.MergeMappingException: Merge failed with
failures {[mapper [entityVersion] has different index values, mapper
[entityVersion] has different doc_values values, mapper [entityVersion] has
different tokenize values, mapper [entityVersion] has different index_analyzer,
mapper [edgeName] has different index values, mapper [edgeName] has different
doc_values values, mapper [edgeName] has different tokenize values, mapper
[edgeName] has different index_analyzer, mapper [entityNodeType] has different
index values, mapper [entityNodeType] has different doc_values values, mapper
[entityNodeType] has different tokenize values, mapper [entityNodeType] has
different index_analyzer, mapper [edgeTimestamp] has different doc_values
values, mapper [entityType] has different index values, mapper [entityType] has
different doc_values values, mapper [entityType] has different tokenize values,
mapper [entityType] has different index_analyzer, mapper [entitySize] has
different doc_values values, mapper [_all] enabled is true now encountering
false, mapper [edgeSearch] has different index values, mapper [edgeSearch] has
different doc_values values, mapper [edgeSearch] has different tokenize values,
mapper [edgeSearch] has different index_analyzer, mapper [entityId] has
different index values, mapper [entityId] has different doc_values values,
mapper [entityId] has different tokenize values, mapper [entityId] has
different index_analyzer, mapper [nodeId] has different index values, mapper
[nodeId] has different doc_values values, mapper [nodeId] has different
tokenize values, mapper [nodeId] has different index_analyzer, mapper
[applicationId] has different index values, mapper [applicationId] has
different doc_values values, mapper [applicationId] has different tokenize
values, mapper [applicationId] has different index_analyzer, object mapping
[fields] can't be changed from non-nested to nested]}
at
org.elasticsearch.cluster.metadata.MetaDataMappingService$4.execute(MetaDataMappingService.java:511)
at
org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:352)
at
org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:184)
at
org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:154)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting
onNext value: rug000dn_a47ce531-0020-11e5-bfa2-0a0dfc3edbb7_write_alias
at
rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:104)
at
rx.internal.operators.OperatorDoOnEach$1.onNext(OperatorDoOnEach.java:81)
at
rx.internal.operators.OperatorMerge$MergeSubscriber.emitScalar(OperatorMerge.java:364)
at
rx.internal.operators.OperatorMerge$MergeSubscriber.tryEmit(OperatorMerge.java:326)
at
rx.internal.operators.OperatorMerge$InnerSubscriber.onNext(OperatorMerge.java:802)
at
rx.internal.operators.OnSubscribeFromIterable$IterableProducer.slowpath(OnSubscribeFromIterable.java:97)
at
rx.internal.operators.OnSubscribeFromIterable$IterableProducer.request(OnSubscribeFromIterable.java:73)
at rx.Subscriber.setProducer(Subscriber.java:211)
at
rx.internal.operators.OnSubscribeFromIterable.call(OnSubscribeFromIterable.java:49)
at
rx.internal.operators.OnSubscribeFromIterable.call(OnSubscribeFromIterable.java:32)
at rx.Observable.unsafeSubscribe(Observable.java:7710)
at
rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:231)
at
rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:140)
at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:55)
at
rx.internal.operators.OnSubscribeToObservableFuture$ToObservableFuture.call(OnSubscribeToObservableFuture.java:74)
at
rx.internal.operators.OnSubscribeToObservableFuture$ToObservableFuture.call(OnSubscribeToObservableFuture.java:42)
at rx.Observable$2.call(Observable.java:162)
at rx.Observable$2.call(Observable.java:154)
at rx.Observable$2.call(Observable.java:162)
at rx.Observable$2.call(Observable.java:154)
at rx.Observable$2.call(Observable.java:162)
at rx.Observable$2.call(Observable.java:154)
at rx.Observable$2.call(Observable.java:162)
at rx.Observable$2.call(Observable.java:154)
at rx.Observable$2.call(Observable.java:162)
at rx.Observable$2.call(Observable.java:154)
at rx.Observable$2.call(Observable.java:162)
at rx.Observable$2.call(Observable.java:154)
at rx.Observable.subscribe(Observable.java:7804)
at rx.Observable.subscribe(Observable.java:7772)
at rx.Observable.subscribe(Observable.java:7484)
at
org.apache.usergrid.persistence.index.migration.EsIndexMappingMigrationPlugin.run(EsIndexMappingMigrationPlugin.java:97)
at
org.apache.usergrid.persistence.core.migration.data.DataMigrationManagerImpl.lambda$migrate$2(DataMigrationManagerImpl.java:124)
at
org.apache.usergrid.persistence.core.migration.data.DataMigrationManagerImpl$$Lambda$121/1554791835.accept(Unknown
Source)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at
org.apache.usergrid.persistence.core.migration.data.DataMigrationManagerImpl.migrate(DataMigrationManagerImpl.java:122)
at
org.apache.usergrid.rest.system.MigrateResource$1.run(MigrateResource.java:99)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)