[ 
https://issues.apache.org/jira/browse/USERGRID-1104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Russo updated USERGRID-1104:
------------------------------------
    Description: 
This was seen 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}


  was:
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}



> Indexes in Elasticsearch created with alias names
> -------------------------------------------------
>
>                 Key: USERGRID-1104
>                 URL: https://issues.apache.org/jira/browse/USERGRID-1104
>             Project: Usergrid
>          Issue Type: Bug
>            Reporter: Michael Russo
>            Assignee: Michael Russo
>
> This was seen 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