[ 
https://issues.apache.org/jira/browse/USERGRID-1104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15005126#comment-15005126
 ] 

Michael Russo commented on USERGRID-1104:
-----------------------------------------

This was ultimately caused by documents being indexed before the read and write 
aliases were created in Elasticsearch, causing an index to be created with the 
alias name. This has been fixed in 2.1-release branch with the following closed 
PR:

https://github.com/apache/usergrid/pull/436

> 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
>            Assignee: 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