2011-01-04 04:04:30 +02:00
|
|
|
/*
|
|
|
|
* Licensed to Elastic Search and Shay Banon under one
|
|
|
|
* or more contributor license agreements. See the NOTICE file
|
|
|
|
* distributed with this work for additional information
|
|
|
|
* regarding copyright ownership. Elastic Search licenses this
|
|
|
|
* file to you under the Apache License, Version 2.0 (the
|
|
|
|
* "License"); you may not use this file except in compliance
|
|
|
|
* with the License. You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing,
|
|
|
|
* software distributed under the License is distributed on an
|
|
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
* KIND, either express or implied. See the License for the
|
|
|
|
* specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
package org.elasticsearch.index.engine;
|
|
|
|
|
|
|
|
import org.elasticsearch.index.shard.ShardId;
|
2011-02-16 01:41:01 +02:00
|
|
|
import org.elasticsearch.rest.RestStatus;
|
2011-01-04 04:04:30 +02:00
|
|
|
|
|
|
|
/**
|
2011-12-06 02:42:25 +02:00
|
|
|
*
|
2011-01-04 04:04:30 +02:00
|
|
|
*/
|
|
|
|
public class VersionConflictEngineException extends EngineException {
|
|
|
|
|
2012-02-19 22:57:08 +02:00
|
|
|
private final long current;
|
|
|
|
|
|
|
|
private final long provided;
|
|
|
|
|
|
|
|
public VersionConflictEngineException(ShardId shardId, String type, String id, long current, long provided) {
|
|
|
|
super(shardId, "[" + type + "][" + id + "]: version conflict, current [" + current + "], provided [" + provided + "]");
|
|
|
|
this.current = current;
|
|
|
|
this.provided = provided;
|
2011-01-04 04:04:30 +02:00
|
|
|
}
|
2011-02-16 01:41:01 +02:00
|
|
|
|
2011-12-06 02:42:25 +02:00
|
|
|
@Override
|
|
|
|
public RestStatus status() {
|
2011-02-16 01:41:01 +02:00
|
|
|
return RestStatus.CONFLICT;
|
|
|
|
}
|
2012-02-19 22:57:08 +02:00
|
|
|
|
|
|
|
public long getCurrentVersion() {
|
|
|
|
return this.current;
|
|
|
|
}
|
|
|
|
|
|
|
|
public long getProvidedVersion() {
|
|
|
|
return this.provided;
|
|
|
|
}
|
2011-01-04 04:04:30 +02:00
|
|
|
}
|