When a version conflict arise after DataONE-indexer submits a solr doc to the solr server, Dataone-indexer will process the document again. This is the safest way and it is not big deal for an eml document or data object. However, it is quite time consuming if the object is a resource map and also the resource map has a lot of components.
I propose not to reindex the resource map itself, instead to process the single component which cause the version conflict. After reprocess the component, the relationship attributes added by the resource map will be added back to the new solr doc. Then upload the solr doc to the server. It may improve the performance a lot.
Matthew and I talked the approach and it seems reasonable.