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)

Reply via email to