diff --git a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java index 223a5395201..6e8dbdabf81 100644 --- a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java +++ b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java @@ -58,6 +58,8 @@ import org.apache.zookeeper.data.Stat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + public abstract class ElectionContext implements Closeable { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); final String electionPath; @@ -753,7 +755,7 @@ final class OverseerElectionContext extends ElectionContext { log.info("I am going to be the leader {}", id); final String id = leaderSeqPath .substring(leaderSeqPath.lastIndexOf("/") + 1); - ZkNodeProps myProps = new ZkNodeProps("id", id); + ZkNodeProps myProps = new ZkNodeProps(ID, id); zkClient.makePath(leaderPath, Utils.toJSON(myProps), CreateMode.EPHEMERAL, true); diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java index 61f15fca6eb..e0449b4a0f1 100644 --- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java +++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java @@ -55,6 +55,8 @@ import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + /** * Cluster leader. Responsible for processing state updates, node assignments, creating/deleting * collections, shards, replicas and setting various properties. @@ -292,7 +294,7 @@ public class Overseer implements Closeable { } try { Map m = (Map) Utils.fromJSON(data); - String id = (String) m.get("id"); + String id = (String) m.get(ID); if(overseerCollectionConfigSetProcessor.getId().equals(id)){ try { log.warn("I'm exiting, but I'm still the leader"); @@ -372,7 +374,7 @@ public class Overseer implements Closeable { case UPDATESHARDSTATE: return Collections.singletonList(new SliceMutator(getZkStateReader()).updateShardState(clusterState, message)); case QUIT: - if (myId.equals(message.get("id"))) { + if (myId.equals(message.get(ID))) { log.info("Quit command received {} {}", message, LeaderElector.getNodeName(myId)); overseerCollectionConfigSetProcessor.close(); close(); @@ -396,7 +398,7 @@ public class Overseer implements Closeable { try { ZkNodeProps props = ZkNodeProps.load(zkClient.getData( OVERSEER_ELECT + "/leader", null, null, true)); - if (myId.equals(props.getStr("id"))) { + if (myId.equals(props.getStr(ID))) { return LeaderStatus.YES; } } catch (KeeperException e) { diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java b/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java index 798eca39950..7db13156638 100644 --- a/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java +++ b/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java @@ -17,14 +17,13 @@ package org.apache.solr.cloud; import java.lang.invoke.MethodHandles; - import java.util.List; import java.util.Map; +import org.apache.solr.cloud.overseer.OverseerAction; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.cloud.ZkStateReader; -import org.apache.solr.cloud.overseer.OverseerAction; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.params.CoreAdminParams.CoreAdminAction; import org.apache.solr.common.params.ModifiableSolrParams; @@ -37,6 +36,8 @@ import org.apache.zookeeper.data.Stat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + /** * Responsible for prioritization of Overseer nodes, for example with the * ADDROLE collection command. @@ -90,7 +91,7 @@ public class OverseerNodePrioritizer { //now ask the current leader to QUIT , so that the designate can takeover Overseer.getStateUpdateQueue(zkStateReader.getZkClient()).offer( Utils.toJSON(new ZkNodeProps(Overseer.QUEUE_OPERATION, OverseerAction.QUIT.toLower(), - "id", OverseerTaskProcessor.getLeaderId(zkStateReader.getZkClient())))); + ID, OverseerTaskProcessor.getLeaderId(zkStateReader.getZkClient())))); } diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java index bed71a63734..4dffb21905e 100644 --- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java +++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java @@ -34,8 +34,8 @@ import com.codahale.metrics.Timer; import com.google.common.collect.ImmutableSet; import org.apache.commons.io.IOUtils; import org.apache.solr.client.solrj.SolrResponse; -import org.apache.solr.cloud.OverseerTaskQueue.QueueEvent; import org.apache.solr.cloud.Overseer.LeaderStatus; +import org.apache.solr.cloud.OverseerTaskQueue.QueueEvent; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.cloud.ZkNodeProps; @@ -50,6 +50,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static org.apache.solr.common.params.CommonAdminParams.ASYNC; +import static org.apache.solr.common.params.CommonParams.ID; /** * A generic processor run in the Overseer, used for handling items added @@ -375,7 +376,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable { return null; } Map m = (Map) Utils.fromJSON(data); - return (String) m.get("id"); + return (String) m.get(ID); } protected LeaderStatus amILeader() { @@ -385,7 +386,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable { try { ZkNodeProps props = ZkNodeProps.load(zkStateReader.getZkClient().getData( Overseer.OVERSEER_ELECT + "/leader", null, null, true)); - if (myId.equals(props.getStr("id"))) { + if (myId.equals(props.getStr(ID))) { return LeaderStatus.YES; } } catch (KeeperException e) { diff --git a/solr/core/src/java/org/apache/solr/core/JmxMonitoredMap.java b/solr/core/src/java/org/apache/solr/core/JmxMonitoredMap.java index 8bfa662d548..4fb0dcd4d63 100644 --- a/solr/core/src/java/org/apache/solr/core/JmxMonitoredMap.java +++ b/solr/core/src/java/org/apache/solr/core/JmxMonitoredMap.java @@ -38,7 +38,6 @@ import javax.management.openmbean.SimpleType; import javax.management.remote.JMXConnectorServer; import javax.management.remote.JMXConnectorServerFactory; import javax.management.remote.JMXServiceURL; - import java.lang.invoke.MethodHandles; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -58,6 +57,7 @@ import org.apache.solr.metrics.reporters.JmxObjectNameFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; import static org.apache.solr.common.params.CommonParams.NAME; /** @@ -269,7 +269,7 @@ public class JmxMonitoredMap extends Hashtable map = new Hashtable<>(); map.put("type", key); if (infoBean.getName() != null && !"".equals(infoBean.getName())) { - map.put("id", infoBean.getName()); + map.put(ID, infoBean.getName()); } return ObjectName.getInstance(jmxRootName, map); } diff --git a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java index 177af9ec0c4..7e97f5953f4 100644 --- a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java @@ -64,7 +64,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static java.util.Collections.singletonMap; +import static org.apache.solr.common.params.CommonParams.ID; import static org.apache.solr.common.params.CommonParams.JSON; +import static org.apache.solr.common.params.CommonParams.VERSION; import static org.apache.solr.common.util.Utils.makeMap; public class BlobHandler extends RequestHandlerBase implements PluginInfoInitialized { @@ -131,15 +133,15 @@ public class BlobHandler extends RequestHandlerBase implements PluginInfoInitial version++; String id = blobName + "/" + version; Map doc = makeMap( - "id", id, + ID, id, "md5", md5, "blobName", blobName, - "version", version, + VERSION, version, "timestamp", new Date(), "size", payload.limit(), "blob", payload); verifyWithRealtimeGet(blobName, version, req, doc); - log.info(StrUtils.formatString("inserting new blob {0} ,size {1}, md5 {2}", doc.get("id"), String.valueOf(payload.limit()), md5)); + log.info(StrUtils.formatString("inserting new blob {0} ,size {1}, md5 {2}", doc.get(ID), String.valueOf(payload.limit()), md5)); indexMap(req, rsp, doc); log.info(" Successfully Added and committed a blob with id {} and size {} ", id, payload.limit()); @@ -212,7 +214,7 @@ public class BlobHandler extends RequestHandlerBase implements PluginInfoInitial for (; ; ) { SolrQueryResponse response = new SolrQueryResponse(); String id = blobName + "/" + version; - forward(req, "/get", new MapSolrParams(singletonMap("id", id)), response); + forward(req, "/get", new MapSolrParams(singletonMap(ID, id)), response); if (response.getValues().get("doc") == null) { //ensure that the version does not exist return; @@ -221,7 +223,7 @@ public class BlobHandler extends RequestHandlerBase implements PluginInfoInitial version++; doc.put("version", version); id = blobName + "/" + version; - doc.put("id", id); + doc.put(ID, id); } } diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java b/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java index 8519815f418..75a787b8804 100644 --- a/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java +++ b/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java @@ -16,6 +16,11 @@ */ package org.apache.solr.handler; +import java.io.IOException; +import java.lang.invoke.MethodHandles; +import java.nio.charset.Charset; +import java.util.List; + import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.UpdateRequest; @@ -25,14 +30,10 @@ import org.apache.solr.common.SolrInputDocument; import org.apache.solr.update.CdcrUpdateLog; import org.apache.solr.update.UpdateLog; import org.apache.solr.update.processor.CdcrUpdateProcessor; -import org.apache.solr.update.processor.DistributedUpdateProcessor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.lang.invoke.MethodHandles; -import java.nio.charset.Charset; -import java.util.List; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; /** * The replication logic. Given a {@link org.apache.solr.handler.CdcrReplicatorState}, it reads all the new entries @@ -183,14 +184,14 @@ public class CdcrReplicator implements Runnable { case UpdateLog.DELETE: { byte[] idBytes = (byte[]) entry.get(2); req.deleteById(new String(idBytes, Charset.forName("UTF-8"))); - req.setParam(DistributedUpdateProcessor.VERSION_FIELD, Long.toString(version)); + req.setParam(VERSION_FIELD, Long.toString(version)); return req; } case UpdateLog.DELETE_BY_QUERY: { String query = (String) entry.get(2); req.deleteByQuery(query); - req.setParam(DistributedUpdateProcessor.VERSION_FIELD, Long.toString(version)); + req.setParam(VERSION_FIELD, Long.toString(version)); return req; } diff --git a/solr/core/src/java/org/apache/solr/handler/StreamHandler.java b/solr/core/src/java/org/apache/solr/handler/StreamHandler.java index dfae5cd69e3..a25ede46e17 100644 --- a/solr/core/src/java/org/apache/solr/handler/StreamHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/StreamHandler.java @@ -80,6 +80,8 @@ import org.apache.solr.util.plugin.SolrCoreAware; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + public class StreamHandler extends RequestHandlerBase implements SolrCoreAware, PermissionNameProvider { static SolrClientCache clientCache = new SolrClientCache(); @@ -284,7 +286,7 @@ public class StreamHandler extends RequestHandlerBase implements SolrCoreAware, private void handleAdmin(SolrQueryRequest req, SolrQueryResponse rsp, SolrParams params) { String action = params.get("action"); if("stop".equalsIgnoreCase(action)) { - String id = params.get("id"); + String id = params.get(ID); DaemonStream d = daemons.get(id); if(d != null) { d.close(); @@ -292,21 +294,23 @@ public class StreamHandler extends RequestHandlerBase implements SolrCoreAware, } else { rsp.add("result-set", new DaemonResponseStream("Deamon:" + id + " not found on " + coreName)); } - } else if("start".equalsIgnoreCase(action)) { - String id = params.get("id"); - DaemonStream d = daemons.get(id); - d.open(); - rsp.add("result-set", new DaemonResponseStream("Deamon:" + id + " started on " + coreName)); - } else if("list".equalsIgnoreCase(action)) { - Collection vals = daemons.values(); - rsp.add("result-set", new DaemonCollectionStream(vals)); - } else if("kill".equalsIgnoreCase(action)) { - String id = params.get("id"); - DaemonStream d = daemons.remove(id); - if (d != null) { - d.close(); + } else { + if ("start".equalsIgnoreCase(action)) { + String id = params.get(ID); + DaemonStream d = daemons.get(id); + d.open(); + rsp.add("result-set", new DaemonResponseStream("Deamon:" + id + " started on " + coreName)); + } else if ("list".equalsIgnoreCase(action)) { + Collection vals = daemons.values(); + rsp.add("result-set", new DaemonCollectionStream(vals)); + } else if ("kill".equalsIgnoreCase(action)) { + String id = params.get("id"); + DaemonStream d = daemons.remove(id); + if (d != null) { + d.close(); + } + rsp.add("result-set", new DaemonResponseStream("Deamon:" + id + " killed on " + coreName)); } - rsp.add("result-set", new DaemonResponseStream("Deamon:" + id + " killed on " + coreName)); } } diff --git a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java index 62a50e624a9..8e0b1fb8cc7 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java @@ -102,7 +102,7 @@ public class LukeRequestHandler extends RequestHandlerBase public static final String NUMTERMS = "numTerms"; public static final String INCLUDE_INDEX_FIELD_FLAGS = "includeIndexFieldFlags"; public static final String DOC_ID = "docId"; - public static final String ID = "id"; + public static final String ID = CommonParams.ID; public static final int DEFAULT_COUNT = 10; static final int HIST_ARRAY_SIZE = 33; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java index f0e397067ae..bb5b3ee0f5f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java @@ -28,6 +28,7 @@ import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import static org.apache.solr.common.params.CommonParams.ID; import static org.apache.solr.common.params.CommonParams.NAME; /** @@ -85,7 +86,7 @@ public class ThreadDumpHandler extends RequestHandlerBase SimpleOrderedMap info = new SimpleOrderedMap<>(); long tid = ti.getThreadId(); - info.add( "id", tid ); + info.add( ID, tid ); info.add(NAME, ti.getThreadName()); info.add( "state", ti.getThreadState().toString() ); @@ -107,7 +108,7 @@ public class ThreadDumpHandler extends RequestHandlerBase if (ti.getLockOwnerName() != null) { SimpleOrderedMap owner = new SimpleOrderedMap<>(); owner.add(NAME, ti.getLockOwnerName()); - owner.add( "id", ti.getLockOwnerId() ); + owner.add( ID, ti.getLockOwnerId() ); } // Add the stack trace diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java index 8482d65cc06..c12902e83b5 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java +++ b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java @@ -92,6 +92,8 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; +import static org.apache.solr.common.params.CommonParams.ID; + /** * A component to elevate some documents to the top of the result set. * @@ -308,7 +310,7 @@ public class QueryElevationComponent extends SearchComponent implements SolrCore ArrayList exclude = new ArrayList<>(); for (int j = 0; j < children.getLength(); j++) { Node child = children.item(j); - String id = DOMUtil.getAttr(child, "id", "missing 'id'"); + String id = DOMUtil.getAttr(child, ID, "missing 'id'"); String e = DOMUtil.getAttr(child, EXCLUDE, null); if (e != null) { if (Boolean.valueOf(e)) { diff --git a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java index 900c787e406..12aa4033d14 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java +++ b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java @@ -78,11 +78,13 @@ import org.apache.solr.update.DocumentBuilder; import org.apache.solr.update.IndexFingerprint; import org.apache.solr.update.PeerSync; import org.apache.solr.update.UpdateLog; -import org.apache.solr.update.processor.DistributedUpdateProcessor; import org.apache.solr.util.RefCounted; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; + public class RealTimeGetComponent extends SearchComponent { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @@ -473,8 +475,8 @@ public class RealTimeGetComponent extends SearchComponent doc = toSolrDoc(luceneDocument, core.getLatestSchema()); searcher.decorateDocValueFields(doc, docid, decorateFields); - long docVersion = (long) doc.getFirstValue(DistributedUpdateProcessor.VERSION_FIELD); - Object partialVersionObj = partialDoc.getFieldValue(DistributedUpdateProcessor.VERSION_FIELD); + long docVersion = (long) doc.getFirstValue(VERSION_FIELD); + Object partialVersionObj = partialDoc.getFieldValue(VERSION_FIELD); long partialDocVersion = partialVersionObj instanceof Field? ((Field) partialVersionObj).numericValue().longValue(): partialVersionObj instanceof Number? ((Number) partialVersionObj).longValue(): Long.parseLong(partialVersionObj.toString()); if (docVersion > partialDocVersion) { @@ -621,8 +623,8 @@ public class RealTimeGetComponent extends SearchComponent } if (versionReturned != null) { - if (sid.containsKey(DistributedUpdateProcessor.VERSION_FIELD)) { - versionReturned.set((long)sid.getFieldValue(DistributedUpdateProcessor.VERSION_FIELD)); + if (sid.containsKey(VERSION_FIELD)) { + versionReturned.set((long)sid.getFieldValue(VERSION_FIELD)); } } return sid; @@ -841,7 +843,7 @@ public class RealTimeGetComponent extends SearchComponent sreq.params.set("distrib",false); sreq.params.remove(ShardParams.SHARDS); - sreq.params.remove("id"); + sreq.params.remove(ID); sreq.params.remove("ids"); sreq.params.set("ids", StrUtils.join(ids, ',')); @@ -1146,7 +1148,7 @@ public class RealTimeGetComponent extends SearchComponent return (IdsRequsted)req.getContext().get(contextKey); } final SolrParams params = req.getParams(); - final String id[] = params.getParams("id"); + final String id[] = params.getParams(ID); final String ids[] = params.getParams("ids"); if (id == null && ids == null) { diff --git a/solr/core/src/java/org/apache/solr/handler/loader/JavabinLoader.java b/solr/core/src/java/org/apache/solr/handler/loader/JavabinLoader.java index 873bcd15aa5..870737a4a4d 100644 --- a/solr/core/src/java/org/apache/solr/handler/loader/JavabinLoader.java +++ b/solr/core/src/java/org/apache/solr/handler/loader/JavabinLoader.java @@ -20,6 +20,7 @@ import org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; +import org.apache.solr.common.params.ShardParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.params.UpdateParams; import org.apache.solr.common.util.ContentStream; @@ -140,7 +141,7 @@ public class JavabinLoader extends ContentStreamLoader { } } if (map != null) { - String route = (String) map.get(UpdateRequest.ROUTE); + String route = (String) map.get(ShardParams._ROUTE_); if (route != null) { delcmd.setRoute(route); } diff --git a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java index 8650ab82724..b93d5ef18bb 100644 --- a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java +++ b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java @@ -15,6 +15,7 @@ * limitations under the License. */ package org.apache.solr.handler.loader; + import java.io.IOException; import java.io.Reader; import java.io.StringReader; @@ -57,8 +58,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static java.util.stream.Collectors.toList; +import static org.apache.solr.common.params.CommonParams.ID; import static org.apache.solr.common.params.CommonParams.JSON; import static org.apache.solr.common.params.CommonParams.PATH; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; +import static org.apache.solr.common.params.ShardParams._ROUTE_; /** @@ -364,15 +368,15 @@ public class JsonLoader extends ContentStreamLoader { if (ev == JSONParser.STRING) { String key = parser.getString(); if (parser.wasKey()) { - if ("id".equals(key)) { + if (ID.equals(key)) { cmd.setId(getString(parser.nextEvent())); } else if ("query".equals(key)) { cmd.setQuery(parser.getString()); } else if ("commitWithin".equals(key)) { cmd.commitWithin = (int) parser.getLong(); - } else if ("_version_".equals(key)) { + } else if (VERSION_FIELD.equals(key)) { cmd.setVersion(parser.getLong()); - } else if ("_route_".equals(key)) { + } else if (_ROUTE_.equals(key)) { cmd.setRoute(parser.getString()); } else { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Unknown key '" + key + "' at [" + parser.getPosition() + "]"); diff --git a/solr/core/src/java/org/apache/solr/handler/loader/XMLLoader.java b/solr/core/src/java/org/apache/solr/handler/loader/XMLLoader.java index 038ed9f3e66..000edeed4d7 100644 --- a/solr/core/src/java/org/apache/solr/handler/loader/XMLLoader.java +++ b/solr/core/src/java/org/apache/solr/handler/loader/XMLLoader.java @@ -15,6 +15,7 @@ * limitations under the License. */ package org.apache.solr.handler.loader; + import javax.xml.parsers.SAXParserFactory; import javax.xml.stream.FactoryConfigurationError; import javax.xml.stream.XMLInputFactory; @@ -39,11 +40,12 @@ import java.util.concurrent.atomic.AtomicBoolean; import com.google.common.collect.Lists; import org.apache.commons.io.IOUtils; -import org.apache.solr.client.solrj.request.UpdateRequest; +import org.apache.solr.common.EmptyEntityResolver; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.ModifiableSolrParams; +import org.apache.solr.common.params.ShardParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.params.UpdateParams; import org.apache.solr.common.util.ContentStream; @@ -60,13 +62,13 @@ import org.apache.solr.update.CommitUpdateCommand; import org.apache.solr.update.DeleteUpdateCommand; import org.apache.solr.update.RollbackUpdateCommand; import org.apache.solr.update.processor.UpdateRequestProcessor; -import org.apache.solr.common.EmptyEntityResolver; import org.apache.solr.util.xslt.TransformerProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; +import static org.apache.solr.common.params.CommonParams.ID; import static org.apache.solr.common.params.CommonParams.NAME; @@ -318,7 +320,7 @@ public class XMLLoader extends ContentStreamLoader { switch (event) { case XMLStreamConstants.START_ELEMENT: String mode = parser.getLocalName(); - if (!("id".equals(mode) || "query".equals(mode))) { + if (!(ID.equals(mode) || "query".equals(mode))) { String msg = "XML element has invalid XML child element: " + mode; log.warn(msg); throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, @@ -326,14 +328,14 @@ public class XMLLoader extends ContentStreamLoader { } text.setLength(0); - if ("id".equals(mode)) { + if (ID.equals(mode)) { for (int i = 0; i < parser.getAttributeCount(); i++) { String attrName = parser.getAttributeLocalName(i); String attrVal = parser.getAttributeValue(i); if (UpdateRequestHandler.VERSION.equals(attrName)) { deleteCmd.setVersion(Long.parseLong(attrVal)); } - if (UpdateRequest.ROUTE.equals(attrName)) { + if (ShardParams._ROUTE_.equals(attrName)) { deleteCmd.setRoute(attrVal); } } @@ -342,7 +344,7 @@ public class XMLLoader extends ContentStreamLoader { case XMLStreamConstants.END_ELEMENT: String currTag = parser.getLocalName(); - if ("id".equals(currTag)) { + if (ID.equals(currTag)) { deleteCmd.setId(text.toString()); } else if ("query".equals(currTag)) { deleteCmd.setQuery(text.toString()); diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java b/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java index 644ed97449a..c3b83dbdd83 100644 --- a/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java +++ b/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java @@ -61,7 +61,6 @@ import java.util.stream.Collectors; */ class SolrTable extends AbstractQueryableTable implements TranslatableTable { private static final String DEFAULT_QUERY = "*:*"; - private static final String DEFAULT_VERSION_FIELD = "_version_"; private final String collection; private final SolrSchema schema; diff --git a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java index 0c3b651a573..a34accd82aa 100644 --- a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java +++ b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java @@ -41,6 +41,8 @@ import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + /** * This reporter sends selected metrics from local registries to {@link Overseer}. *

The following configuration properties are supported:

@@ -253,7 +255,7 @@ public class SolrClusterReporter extends SolrMetricReporter { if (props == null) { return lastKnownUrl; } - String oid = props.getStr("id"); + String oid = props.getStr(ID); if (oid == null) { return lastKnownUrl; } diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java index 415e513d8a8..adb81de2c1d 100644 --- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java +++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java @@ -47,6 +47,8 @@ import org.apache.solr.search.grouping.distributed.command.TopGroupsFieldCommand import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + /** * Implementation for transforming {@link TopGroups} and {@link TopDocs} into a {@link NamedList} structure and * visa versa. @@ -158,7 +160,7 @@ public class TopGroupsResultTransformer implements ShardResultTransformer document : documents) { - Object docId = document.get("id"); + Object docId = document.get(ID); if (docId != null) { docId = docId.toString(); } else { @@ -208,7 +210,7 @@ public class TopGroupsResultTransformer implements ShardResultTransformer candidateFields = new HashSet<>(); // if _version_ field is not supported for in-place update, bail out early - SchemaField versionField = schema.getFieldOrNull(DistributedUpdateProcessor.VERSION_FIELD); + SchemaField versionField = schema.getFieldOrNull(CommonParams.VERSION_FIELD); if (versionField == null || !isSupportedFieldForInPlaceUpdate(versionField)) { return Collections.emptySet(); } @@ -169,7 +172,7 @@ public class AtomicUpdateDocumentMerger { // and bail out early if anything is obviously not a valid in-place update for (String fieldName : sdoc.getFieldNames()) { if (fieldName.equals(uniqueKeyFieldName) - || fieldName.equals(DistributedUpdateProcessor.VERSION_FIELD)) { + || fieldName.equals(CommonParams.VERSION_FIELD)) { continue; } Object fieldValue = sdoc.getField(fieldName).getValue(); @@ -245,7 +248,7 @@ public class AtomicUpdateDocumentMerger { SolrInputDocument inputDoc = cmd.getSolrInputDocument(); BytesRef idBytes = cmd.getIndexedId(); - updatedFields.add(DistributedUpdateProcessor.VERSION_FIELD); // add the version field so that it is fetched too + updatedFields.add(CommonParams.VERSION_FIELD); // add the version field so that it is fetched too SolrInputDocument oldDocument = RealTimeGetComponent.getInputDocument (cmd.getReq().getCore(), idBytes, null, // don't want the version to be returned @@ -258,11 +261,11 @@ public class AtomicUpdateDocumentMerger { return false; } - if (oldDocument.containsKey(DistributedUpdateProcessor.VERSION_FIELD) == false) { + if (oldDocument.containsKey(CommonParams.VERSION_FIELD) == false) { throw new SolrException (ErrorCode.INVALID_STATE, "There is no _version_ in previous document. id=" + cmd.getPrintableId()); } - Long oldVersion = (Long) oldDocument.remove(DistributedUpdateProcessor.VERSION_FIELD).getValue(); + Long oldVersion = (Long) oldDocument.remove(CommonParams.VERSION_FIELD).getValue(); // If the oldDocument contains any other field apart from updatedFields (or id/version field), then remove them. // This can happen, despite requesting for these fields in the call to RTGC.getInputDocument, if the document was @@ -270,7 +273,7 @@ public class AtomicUpdateDocumentMerger { if (updatedFields != null) { Collection names = new HashSet(oldDocument.getFieldNames()); for (String fieldName: names) { - if (fieldName.equals(DistributedUpdateProcessor.VERSION_FIELD)==false && fieldName.equals("id")==false && updatedFields.contains(fieldName)==false) { + if (fieldName.equals(CommonParams.VERSION_FIELD)==false && fieldName.equals(ID)==false && updatedFields.contains(fieldName)==false) { oldDocument.remove(fieldName); } } diff --git a/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java index 5bbc4a2a845..ee454670767 100644 --- a/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java +++ b/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java @@ -19,6 +19,7 @@ package org.apache.solr.update.processor; import java.io.IOException; import java.lang.invoke.MethodHandles; +import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.request.SolrQueryRequest; @@ -101,7 +102,7 @@ public class CdcrUpdateProcessor extends DistributedUpdateProcessor { // } else { // log.info("+++ cdcr.update version present, params are: " + params); // } - result.set(DistributedUpdateProcessor.VERSION_FIELD, params.get(DistributedUpdateProcessor.VERSION_FIELD)); + result.set(CommonParams.VERSION_FIELD, params.get(CommonParams.VERSION_FIELD)); } return result; diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java index 08ede724269..fe71b0b805f 100644 --- a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java +++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java @@ -64,6 +64,7 @@ import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.cloud.ZkCoreNodeProps; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.cloud.ZooKeeperException; +import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.params.ShardParams; import org.apache.solr.common.params.SolrParams; @@ -240,8 +241,6 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { private final UpdateRequestProcessor next; private final AtomicUpdateDocumentMerger docMerger; - public static final String VERSION_FIELD = "_version_"; - private final UpdateHandler updateHandler; private final UpdateLog ulog; private final VersionInfo vinfo; @@ -310,7 +309,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { // this should always be used - see filterParams DistributedUpdateProcessorFactory.addParamToDistributedRequestWhitelist - (this.req, UpdateParams.UPDATE_CHAIN, TEST_DISTRIB_SKIP_SERVERS, VERSION_FIELD); + (this.req, UpdateParams.UPDATE_CHAIN, TEST_DISTRIB_SKIP_SERVERS, CommonParams.VERSION_FIELD); CoreDescriptor coreDesc = req.getCore().getCoreDescriptor(); @@ -1031,13 +1030,13 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { long versionOnUpdate = cmd.getVersion(); if (versionOnUpdate == 0) { - SolrInputField versionField = cmd.getSolrInputDocument().getField(VersionInfo.VERSION_FIELD); + SolrInputField versionField = cmd.getSolrInputDocument().getField(CommonParams.VERSION_FIELD); if (versionField != null) { Object o = versionField.getValue(); versionOnUpdate = o instanceof Number ? ((Number) o).longValue() : Long.parseLong(o.toString()); } else { // Find the version - String versionOnUpdateS = req.getParams().get(VERSION_FIELD); + String versionOnUpdateS = req.getParams().get(CommonParams.VERSION_FIELD); versionOnUpdate = versionOnUpdateS == null ? 0 : Long.parseLong(versionOnUpdateS); } } @@ -1084,7 +1083,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { // forwarded from a collection but we are not buffering so strip original version and apply our own // see SOLR-5308 log.info("Removing version field from doc: " + cmd.getPrintableId()); - cmd.solrDoc.remove(VERSION_FIELD); + cmd.solrDoc.remove(CommonParams.VERSION_FIELD); versionOnUpdate = 0; } @@ -1114,7 +1113,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { long version = vinfo.getNewClock(); cmd.setVersion(version); - cmd.getSolrInputDocument().setField(VersionInfo.VERSION_FIELD, version); + cmd.getSolrInputDocument().setField(CommonParams.VERSION_FIELD, version); bucket.updateHighest(version); } else { // The leader forwarded us this update. @@ -1152,7 +1151,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { // Make this update to become a non-inplace update containing the full document obtained from the leader cmd.solrDoc = ((AddUpdateCommand)fetchedFromLeader).solrDoc; cmd.prevVersion = -1; - cmd.setVersion((long)cmd.solrDoc.getFieldValue(VERSION_FIELD)); + cmd.setVersion((long)cmd.solrDoc.getFieldValue(CommonParams.VERSION_FIELD)); assert cmd.isInPlaceUpdate() == false; } } else { @@ -1354,7 +1353,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { AddUpdateCommand cmd = new AddUpdateCommand(req); cmd.solrDoc = leaderDoc; - cmd.setVersion((long)leaderDoc.getFieldValue(VERSION_FIELD)); + cmd.setVersion((long)leaderDoc.getFieldValue(CommonParams.VERSION_FIELD)); return cmd; } @@ -1386,7 +1385,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { throw new SolrException(ErrorCode.CONFLICT, "Document not found for update. id=" + cmd.getPrintableId()); } } else { - oldDoc.remove(VERSION_FIELD); + oldDoc.remove(CommonParams.VERSION_FIELD); } @@ -1598,7 +1597,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { if (zkEnabled) { // forward to all replicas ModifiableSolrParams params = new ModifiableSolrParams(filterParams(req.getParams())); - params.set(VERSION_FIELD, Long.toString(cmd.getVersion())); + params.set(CommonParams.VERSION_FIELD, Long.toString(cmd.getVersion())); params.set(DISTRIB_UPDATE_PARAM, DistribPhase.FROMLEADER.toString()); params.set(DISTRIB_FROM, ZkCoreNodeProps.getCoreUrl( zkController.getBaseUrl(), req.getCore().getName())); @@ -1667,7 +1666,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { // Find the version long versionOnUpdate = cmd.getVersion(); if (versionOnUpdate == 0) { - String versionOnUpdateS = req.getParams().get(VERSION_FIELD); + String versionOnUpdateS = req.getParams().get(CommonParams.VERSION_FIELD); versionOnUpdate = versionOnUpdateS == null ? 0 : Long.parseLong(versionOnUpdateS); } versionOnUpdate = Math.abs(versionOnUpdate); // normalize to positive version @@ -1776,7 +1775,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor { // Find the version long versionOnUpdate = cmd.getVersion(); if (versionOnUpdate == 0) { - String versionOnUpdateS = req.getParams().get(VERSION_FIELD); + String versionOnUpdateS = req.getParams().get(CommonParams.VERSION_FIELD); versionOnUpdate = versionOnUpdateS == null ? 0 : Long.parseLong(versionOnUpdateS); } long signedVersionOnUpdate = versionOnUpdate; diff --git a/solr/core/src/java/org/apache/solr/update/processor/DocBasedVersionConstraintsProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/DocBasedVersionConstraintsProcessorFactory.java index b089c94523f..a8b331c8429 100644 --- a/solr/core/src/java/org/apache/solr/update/processor/DocBasedVersionConstraintsProcessorFactory.java +++ b/solr/core/src/java/org/apache/solr/update/processor/DocBasedVersionConstraintsProcessorFactory.java @@ -22,6 +22,7 @@ import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.BytesRefBuilder; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; +import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.util.NamedList; import org.apache.solr.core.SolrCore; import org.apache.solr.handler.component.RealTimeGetComponent; @@ -33,7 +34,6 @@ import org.apache.solr.search.SolrIndexSearcher; import org.apache.solr.update.AddUpdateCommand; import org.apache.solr.update.DeleteUpdateCommand; import org.apache.solr.update.UpdateCommand; -import org.apache.solr.update.VersionInfo; import org.apache.solr.util.RefCounted; import org.apache.solr.util.plugin.SolrCoreAware; import org.slf4j.Logger; @@ -202,7 +202,7 @@ public class DocBasedVersionConstraintsProcessorFactory extends UpdateRequestPro this.core = req.getCore(); this.versionFieldName = versionField; this.userVersionField = core.getLatestSchema().getField(versionField); - this.solrVersionField = core.getLatestSchema().getField(VersionInfo.VERSION_FIELD); + this.solrVersionField = core.getLatestSchema().getField(CommonParams.VERSION_FIELD); this.useFieldCache = useFieldCache; for (UpdateRequestProcessor proc = next ;proc != null; proc = proc.next) { diff --git a/solr/core/src/test/org/apache/solr/cloud/CdcrVersionReplicationTest.java b/solr/core/src/test/org/apache/solr/cloud/CdcrVersionReplicationTest.java index 367bbafc9ef..59d3818b3d5 100644 --- a/solr/core/src/test/org/apache/solr/cloud/CdcrVersionReplicationTest.java +++ b/solr/core/src/test/org/apache/solr/cloud/CdcrVersionReplicationTest.java @@ -23,9 +23,9 @@ import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrException; +import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.util.StrUtils; import org.apache.solr.update.processor.CdcrUpdateProcessor; -import org.apache.solr.update.processor.DistributedUpdateProcessor; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +40,7 @@ public class CdcrVersionReplicationTest extends BaseCdcrDistributedZkTest { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private static final String vfield = DistributedUpdateProcessor.VERSION_FIELD; + private static final String vfield = CommonParams.VERSION_FIELD; SolrClient solrServer; public CdcrVersionReplicationTest() { diff --git a/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java b/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java index e15ab0d4cba..7f3ab9691c4 100644 --- a/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java +++ b/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java @@ -16,6 +16,11 @@ */ package org.apache.solr.cloud; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + import org.apache.lucene.util.LuceneTestCase.Slow; import org.apache.solr.SolrTestCaseJ4.SuppressSSL; import org.apache.solr.client.solrj.SolrClient; @@ -38,16 +43,11 @@ import org.apache.solr.common.params.CollectionParams.CollectionAction; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; -import org.apache.solr.update.VersionInfo; -import org.apache.solr.update.processor.DistributedUpdateProcessor; import org.apache.zookeeper.CreateMode; import org.junit.BeforeClass; import org.junit.Test; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; /** * Super basic testing, no shard restarting or anything. @@ -718,12 +718,12 @@ public class FullSolrCloudDistribCmdsTest extends AbstractFullDistribZkTestBase private void testOptimisticUpdate(QueryResponse results) throws Exception { SolrDocument doc = results.getResults().get(0); - Long version = (Long) doc.getFieldValue(VersionInfo.VERSION_FIELD); + Long version = (Long) doc.getFieldValue(VERSION_FIELD); Integer theDoc = (Integer) doc.getFieldValue("id"); UpdateRequest uReq = new UpdateRequest(); SolrInputDocument doc1 = new SolrInputDocument(); uReq.setParams(new ModifiableSolrParams()); - uReq.getParams().set(DistributedUpdateProcessor.VERSION_FIELD, Long.toString(version)); + uReq.getParams().set(VERSION_FIELD, Long.toString(version)); addFields(doc1, "id", theDoc, t1, "theupdatestuff"); uReq.add(doc1); @@ -736,7 +736,7 @@ public class FullSolrCloudDistribCmdsTest extends AbstractFullDistribZkTestBase SolrInputDocument doc2 = new SolrInputDocument(); uReq = new UpdateRequest(); uReq.setParams(new ModifiableSolrParams()); - uReq.getParams().set(DistributedUpdateProcessor.VERSION_FIELD, Long.toString(version)); + uReq.getParams().set(VERSION_FIELD, Long.toString(version)); addFields(doc2, "id", theDoc, t1, "thenewupdatestuff"); uReq.add(doc2); diff --git a/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java b/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java index 462241a3902..7d97ee4240c 100644 --- a/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java +++ b/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java @@ -26,8 +26,8 @@ import java.util.concurrent.atomic.AtomicLong; import com.codahale.metrics.Gauge; import com.codahale.metrics.Meter; import com.codahale.metrics.Metric; -import org.apache.lucene.index.TieredMergePolicy; import org.apache.lucene.index.DirectoryReader; +import org.apache.lucene.index.TieredMergePolicy; import org.apache.lucene.store.Directory; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.common.params.CommonParams; @@ -46,6 +46,8 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; + /** * * @@ -128,7 +130,7 @@ public class DirectUpdateHandlerTest extends SolrTestCaseJ4 { assertNull("This test requires a schema that has no version field, " + "it appears the schema file in use has been edited to violate " + "this requirement", - h.getCore().getLatestSchema().getFieldOrNull(VersionInfo.VERSION_FIELD)); + h.getCore().getLatestSchema().getFieldOrNull(VERSION_FIELD)); assertU(adoc("id","5")); assertU(adoc("id","6")); diff --git a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesStandalone.java b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesStandalone.java index 877467e1e5a..aa075a46cb1 100644 --- a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesStandalone.java +++ b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesStandalone.java @@ -43,9 +43,9 @@ import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.SolrInputField; +import org.apache.solr.common.params.CommonParams; import org.apache.solr.index.NoMergePolicyFactory; import org.apache.solr.request.SolrQueryRequest; -import org.apache.solr.update.processor.DistributedUpdateProcessor; import org.apache.solr.schema.IndexSchema; import org.apache.solr.schema.SchemaField; import org.apache.solr.search.SolrIndexSearcher; @@ -1119,8 +1119,8 @@ public class TestInPlaceUpdatesStandalone extends SolrTestCaseJ4 { try (SolrQueryRequest req = req()) { AddUpdateCommand cmd = new AddUpdateCommand(req); cmd.solrDoc = sdoc; - assertTrue(cmd.solrDoc.containsKey(DistributedUpdateProcessor.VERSION_FIELD)); - cmd.setVersion(Long.parseLong(cmd.solrDoc.getFieldValue(DistributedUpdateProcessor.VERSION_FIELD).toString())); + assertTrue(cmd.solrDoc.containsKey(CommonParams.VERSION_FIELD)); + cmd.setVersion(Long.parseLong(cmd.solrDoc.getFieldValue(CommonParams.VERSION_FIELD).toString())); return AtomicUpdateDocumentMerger.computeInPlaceUpdatableFields(cmd); } } diff --git a/solr/core/src/test/org/apache/solr/update/UpdateLogTest.java b/solr/core/src/test/org/apache/solr/update/UpdateLogTest.java index 8abfe2ab285..9e7d977a03d 100644 --- a/solr/core/src/test/org/apache/solr/update/UpdateLogTest.java +++ b/solr/core/src/test/org/apache/solr/update/UpdateLogTest.java @@ -26,11 +26,11 @@ import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.handler.component.RealTimeGetComponent; import org.apache.solr.request.SolrQueryRequest; -import org.apache.solr.update.processor.DistributedUpdateProcessor; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; import static org.junit.internal.matchers.StringContains.containsString; public class UpdateLogTest extends SolrTestCaseJ4 { @@ -265,8 +265,8 @@ public class UpdateLogTest extends SolrTestCaseJ4 { public static AddUpdateCommand buildAddUpdateCommand(final SolrQueryRequest req, final SolrInputDocument sdoc) { AddUpdateCommand cmd = new AddUpdateCommand(req); cmd.solrDoc = sdoc; - assertTrue("", cmd.solrDoc.containsKey(DistributedUpdateProcessor.VERSION_FIELD)); - cmd.setVersion(Long.parseLong(cmd.solrDoc.getFieldValue(DistributedUpdateProcessor.VERSION_FIELD).toString())); + assertTrue("", cmd.solrDoc.containsKey(VERSION_FIELD)); + cmd.setVersion(Long.parseLong(cmd.solrDoc.getFieldValue(VERSION_FIELD).toString())); return cmd; } } diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java index 6941a77663d..83c6326af4b 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java @@ -89,6 +89,7 @@ import static org.apache.solr.common.params.CommonParams.AUTHZ_PATH; import static org.apache.solr.common.params.CommonParams.COLLECTIONS_HANDLER_PATH; import static org.apache.solr.common.params.CommonParams.CONFIGSETS_HANDLER_PATH; import static org.apache.solr.common.params.CommonParams.CORES_HANDLER_PATH; +import static org.apache.solr.common.params.CommonParams.ID; /** * SolrJ client class to communicate with SolrCloud. @@ -121,7 +122,7 @@ public class CloudSolrClient extends SolrClient { private ExecutorService threadPool = ExecutorUtil .newMDCAwareCachedThreadPool(new SolrjNamedThreadFactory( "CloudSolrClient ThreadPool")); - private String idField = "id"; + private String idField = ID; public static final String STATE_VERSION = "_stateVer_"; private long retryExpiryTime = TimeUnit.NANOSECONDS.convert(3, TimeUnit.SECONDS);//3 seconds or 3 million nanos private final Set NON_ROUTABLE_PARAMS; diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java index 521ffec7dac..9a204e26808 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java @@ -20,10 +20,13 @@ import java.io.IOException; import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; + import org.apache.solr.client.solrj.io.stream.CloudSolrStream; import org.apache.solr.client.solrj.io.stream.StreamContext; import org.apache.solr.common.params.ModifiableSolrParams; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; + /** * The Model cache keeps a local in-memory copy of models @@ -92,8 +95,8 @@ public class ModelCache { Model m = models.get(modelID); if (m != null) { Tuple t = m.getTuple(); - long v = t.getLong("_version_"); - if (v >= tuple.getLong("_version_")) { + long v = t.getLong(VERSION_FIELD); + if (v >= tuple.getLong(VERSION_FIELD)) { return t; } else { models.put(modelID, new Model(tuple, currentTime)); diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DaemonStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DaemonStream.java index 8214f9a3805..2d8aa340384 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DaemonStream.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DaemonStream.java @@ -15,6 +15,7 @@ * limitations under the License. */ package org.apache.solr.client.solrj.io.stream; + import java.io.IOException; import java.lang.invoke.MethodHandles; import java.util.ArrayList; @@ -38,6 +39,8 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + public class DaemonStream extends TupleStream implements Expressible { @@ -63,7 +66,7 @@ public class DaemonStream extends TupleStream implements Expressible { TupleStream tupleStream = factory.constructStream(streamExpressions.get(0)); - StreamExpressionNamedParameter idExpression = factory.getNamedOperand(expression, "id"); + StreamExpressionNamedParameter idExpression = factory.getNamedOperand(expression, ID); StreamExpressionNamedParameter runExpression = factory.getNamedOperand(expression, "runInterval"); StreamExpressionNamedParameter queueExpression = factory.getNamedOperand(expression, "queueSize"); StreamExpressionNamedParameter terminateExpression = factory.getNamedOperand(expression, "terminate"); @@ -130,7 +133,7 @@ public class DaemonStream extends TupleStream implements Expressible { expression.addParameter(""); } - expression.addParameter(new StreamExpressionNamedParameter("id", id)); + expression.addParameter(new StreamExpressionNamedParameter(ID, id)); expression.addParameter(new StreamExpressionNamedParameter("runInterval", Long.toString(runInterval))); expression.addParameter(new StreamExpressionNamedParameter("queueSize", Integer.toString(queueSize))); expression.addParameter(new StreamExpressionNamedParameter("terminate", Boolean.toString(terminate))); @@ -230,7 +233,7 @@ public class DaemonStream extends TupleStream implements Expressible { public synchronized Tuple getInfo() { Tuple tuple = new Tuple(new HashMap()); - tuple.put("id", id); + tuple.put(ID, id); tuple.put("startTime", startTime); tuple.put("stopTime", stopTime); tuple.put("iterations", iterations); diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java index 6765f7271db..e2f5b823214 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java @@ -41,6 +41,8 @@ import org.apache.solr.common.util.SolrjNamedThreadFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.ID; + /** * The executor function wraps a stream with Tuples containing Streaming Expressions * and executes them in parallel. Sample syntax: @@ -197,7 +199,7 @@ public class ExecutorStream extends TupleStream implements Expressible { } String expr = tuple.getString("expr_s"); - Object id = tuple.get("id"); + Object id = tuple.get(ID); TupleStream stream = null; try { diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java index cfb3941f8ae..f15e2a7c530 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java @@ -59,6 +59,8 @@ import org.apache.solr.common.util.ExecutorUtil; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SolrjNamedThreadFactory; +import static org.apache.solr.common.params.CommonParams.ID; + public class FeaturesSelectionStream extends TupleStream implements Expressible{ private static final long serialVersionUID = 1; @@ -355,7 +357,7 @@ public class FeaturesSelectionStream extends TupleStream implements Expressible{ if (tuples.size() == numTerms) break; index++; Map map = new HashMap(); - map.put("id", featureSet + "_" + index); + map.put(ID, featureSet + "_" + index); map.put("index_i", index); map.put("term_s", termScore.getKey()); map.put("score_f", termScore.getValue()); diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java index 463ab4ae5be..55ca51a8277 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java @@ -19,11 +19,11 @@ package org.apache.solr.client.solrj.io.stream; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.HashMap; import org.apache.solr.client.solrj.io.Tuple; import org.apache.solr.client.solrj.io.comp.StreamComparator; @@ -37,6 +37,8 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue; import org.apache.solr.client.solrj.io.stream.expr.StreamFactory; import org.apache.solr.common.params.ModifiableSolrParams; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; + /** * Iterates over a stream and fetches additional fields from a specified collection. * Fetches are done in batches. @@ -139,7 +141,7 @@ public class FetchStream extends TupleStream implements Expressible { for(int i=0; i checkpoints = new HashMap(); + private Map checkpoints = new HashMap<>(); private String checkpointCollection; private long initialCheckpoint = -1; @@ -143,7 +146,7 @@ public class TopicStream extends CloudSolrStream implements Expressible { List namedParams = factory.getNamedOperands(expression); StreamExpressionNamedParameter zkHostExpression = factory.getNamedOperand(expression, "zkHost"); - StreamExpressionNamedParameter idParam = factory.getNamedOperand(expression, "id"); + StreamExpressionNamedParameter idParam = factory.getNamedOperand(expression, ID); if(null == idParam) { throw new IOException("invalid TopicStream id cannot be null"); } @@ -186,7 +189,7 @@ public class TopicStream extends CloudSolrStream implements Expressible { ModifiableSolrParams params = new ModifiableSolrParams(); for(StreamExpressionNamedParameter namedParam : namedParams){ if(!namedParam.getName().equals("zkHost") && - !namedParam.getName().equals("id") && + !namedParam.getName().equals(ID) && !namedParam.getName().equals("checkpointEvery")) { params.set(namedParam.getName(), namedParam.getParameter().toString().trim()); } @@ -240,7 +243,7 @@ public class TopicStream extends CloudSolrStream implements Expressible { // zkHost expression.addParameter(new StreamExpressionNamedParameter("zkHost", zkHost)); - expression.addParameter(new StreamExpressionNamedParameter("id", id)); + expression.addParameter(new StreamExpressionNamedParameter(ID, id)); if(initialCheckpoint > -1) { expression.addParameter(new StreamExpressionNamedParameter("initialCheckpoint", Long.toString(initialCheckpoint))); } @@ -391,7 +394,7 @@ public class TopicStream extends CloudSolrStream implements Expressible { persistCheckpoints(); } - long version = tuple.getLong("_version_"); + long version = tuple.getLong(VERSION_FIELD); String slice = tuple.getString("_SLICE_"); checkpoints.put(slice, version); @@ -469,7 +472,7 @@ public class TopicStream extends CloudSolrStream implements Expressible { UpdateRequest request = new UpdateRequest(); request.setParam("collection", checkpointCollection); SolrInputDocument doc = new SolrInputDocument(); - doc.addField("id", id); + doc.addField(ID, id); for(Map.Entry entry : checkpoints.entrySet()) { doc.addField("checkpoint_ss", entry.getKey()+"~"+entry.getValue()); @@ -523,7 +526,7 @@ public class TopicStream extends CloudSolrStream implements Expressible { mParams.set("distrib", "false"); // We are the aggregator. String fl = mParams.get("fl"); mParams.set("sort", "_version_ asc"); - if(!fl.contains("_version_")) { + if(!fl.contains(VERSION_FIELD)) { fl += ",_version_"; } mParams.set("fl", fl); diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/UpdateStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/UpdateStream.java index 55291bf9ed9..0b29e4f2932 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/UpdateStream.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/UpdateStream.java @@ -42,6 +42,8 @@ import org.apache.solr.common.SolrInputDocument; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.solr.common.params.CommonParams.VERSION_FIELD; + /** * Sends tuples emitted by a wrapped {@link TupleStream} as updates to a SolrCloud collection. */ @@ -268,7 +270,7 @@ public class UpdateStream extends TupleStream implements Expressible { private SolrInputDocument convertTupleToSolrDocument(Tuple tuple) { SolrInputDocument doc = new SolrInputDocument(); for (Object field : tuple.fields.keySet()) { - if (! ((String)field).equals("_version_")) { + if (! field.equals(VERSION_FIELD)) { Object value = tuple.get(field); if (value instanceof List) { addMultivaluedField(doc, (String)field, (List)value); diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java index 7776a13663e..afa746e96a4 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java @@ -30,6 +30,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.params.ModifiableSolrParams; +import org.apache.solr.common.params.ShardParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.DataInputInputStream; import org.apache.solr.common.util.JavaBinCodec; @@ -226,8 +227,8 @@ public class JavaBinUpdateRequestCodec { Map params = entry.getValue(); if (params != null) { Long version = (Long) params.get(UpdateRequest.VER); - if (params.containsKey(UpdateRequest.ROUTE)) - updateRequest.deleteById(entry.getKey(), (String) params.get(UpdateRequest.ROUTE)); + if (params.containsKey(ShardParams._ROUTE_)) + updateRequest.deleteById(entry.getKey(), (String) params.get(ShardParams._ROUTE_)); else updateRequest.deleteById(entry.getKey(), version); } else { diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java index e7ca0fa32a0..142710a0425 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java @@ -44,6 +44,8 @@ import org.apache.solr.common.params.UpdateParams; import org.apache.solr.common.util.ContentStream; import org.apache.solr.common.util.XML; +import static org.apache.solr.common.params.ShardParams._ROUTE_; + /** * * @@ -54,7 +56,6 @@ public class UpdateRequest extends AbstractUpdateRequest { public static final String REPFACT = "rf"; public static final String MIN_REPFACT = "min_rf"; public static final String VER = "ver"; - public static final String ROUTE = "_route_"; public static final String OVERWRITE = "ow"; public static final String COMMIT_WITHIN = "cw"; private Map> documents = null; @@ -188,7 +189,7 @@ public class UpdateRequest extends AbstractUpdateRequest { if (version != null) params.put(VER, version); if (route != null) - params.put(ROUTE, route); + params.put(_ROUTE_, route); deleteById.put(id, params); return this; } @@ -221,7 +222,7 @@ public class UpdateRequest extends AbstractUpdateRequest { public UpdateRequest withRoute(String route) { if (params == null) params = new ModifiableSolrParams(); - params.set(ROUTE, route); + params.set(_ROUTE_, route); return this; } @@ -461,7 +462,7 @@ public class UpdateRequest extends AbstractUpdateRequest { Map map = entry.getValue(); if (map != null) { Long version = (Long) map.get(VER); - String route = (String)map.get(ROUTE); + String route = (String)map.get(_ROUTE_); if (version != null) { writer.append(" version=\"" + version + "\""); } diff --git a/solr/solrj/src/java/org/apache/solr/common/ToleratedUpdateError.java b/solr/solrj/src/java/org/apache/solr/common/ToleratedUpdateError.java index 55b9b8c7a4d..9c4ac9afa22 100644 --- a/solr/solrj/src/java/org/apache/solr/common/ToleratedUpdateError.java +++ b/solr/solrj/src/java/org/apache/solr/common/ToleratedUpdateError.java @@ -18,9 +18,11 @@ package org.apache.solr.common; import java.util.ArrayList; import java.util.List; -import org.apache.solr.common.util.SimpleOrderedMap; -import org.apache.solr.common.SolrException; + import org.apache.solr.common.SolrException.ErrorCode; +import org.apache.solr.common.util.SimpleOrderedMap; + +import static org.apache.solr.common.params.CommonParams.ID; /** * Models the basic information related to a single "tolerated" error that occured during updates. @@ -74,7 +76,7 @@ public final class ToleratedUpdateError { * @see #getSimpleMap */ public static ToleratedUpdateError parseMap(SimpleOrderedMap data) { - final String id = data.get("id"); + final String id = data.get(ID); final String message = data.get("message"); final String t = data.get("type"); if (null == t || null == id || null == message) { @@ -156,7 +158,7 @@ public final class ToleratedUpdateError { public SimpleOrderedMap getSimpleMap() { SimpleOrderedMap entry = new SimpleOrderedMap(); entry.add("type", type.toString()); - entry.add("id", id); + entry.add(ID, id); entry.add("message", message); return entry; } diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/HashBasedRouter.java b/solr/solrj/src/java/org/apache/solr/common/cloud/HashBasedRouter.java index f9ab5d44f51..5e19d38dabc 100644 --- a/solr/solrj/src/java/org/apache/solr/common/cloud/HashBasedRouter.java +++ b/solr/solrj/src/java/org/apache/solr/common/cloud/HashBasedRouter.java @@ -16,13 +16,15 @@ */ package org.apache.solr.common.cloud; +import java.util.Collection; +import java.util.Collections; + import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.Hash; -import java.util.Collection; -import java.util.Collections; +import static org.apache.solr.common.params.CommonParams.ID; public abstract class HashBasedRouter extends DocRouter { @@ -51,7 +53,7 @@ public abstract class HashBasedRouter extends DocRouter { } protected String getId(SolrInputDocument sdoc, SolrParams params) { - Object idObj = sdoc.getFieldValue("id"); // blech + Object idObj = sdoc.getFieldValue(ID); // blech String id = idObj != null ? idObj.toString() : "null"; // should only happen on client side return id; } diff --git a/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java b/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java index 7cf27d2ce45..589ef7e7e94 100644 --- a/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java +++ b/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java @@ -259,5 +259,9 @@ public interface CommonParams { String NAME = "name"; String VALUE_LONG = "val"; + + String VERSION_FIELD="_version_"; + + String ID = "id"; } diff --git a/solr/solrj/src/java/org/apache/solr/common/params/ShardParams.java b/solr/solrj/src/java/org/apache/solr/common/params/ShardParams.java index 26865737a92..cbc33f41f45 100644 --- a/solr/solrj/src/java/org/apache/solr/common/params/ShardParams.java +++ b/solr/solrj/src/java/org/apache/solr/common/params/ShardParams.java @@ -25,35 +25,35 @@ package org.apache.solr.common.params; */ public interface ShardParams { /** the shards to use (distributed configuration) */ - public static final String SHARDS = "shards"; + String SHARDS = "shards"; /** per-shard start and rows */ - public static final String SHARDS_ROWS = "shards.rows"; - public static final String SHARDS_START = "shards.start"; + String SHARDS_ROWS = "shards.rows"; + String SHARDS_START = "shards.start"; /** IDs of the shard documents */ - public static final String IDS = "ids"; + String IDS = "ids"; /** whether the request goes to a shard */ - public static final String IS_SHARD = "isShard"; + String IS_SHARD = "isShard"; /** The requested URL for this shard */ - public static final String SHARD_URL = "shard.url"; + String SHARD_URL = "shard.url"; /** The Request Handler for shard requests */ - public static final String SHARDS_QT = "shards.qt"; + String SHARDS_QT = "shards.qt"; /** Request detailed match info for each shard (true/false) */ - public static final String SHARDS_INFO = "shards.info"; + String SHARDS_INFO = "shards.info"; /** Should things fail if there is an error? (true/false) */ - public static final String SHARDS_TOLERANT = "shards.tolerant"; + String SHARDS_TOLERANT = "shards.tolerant"; /** query purpose for shard requests */ - public static final String SHARDS_PURPOSE = "shards.purpose"; + String SHARDS_PURPOSE = "shards.purpose"; - public static final String _ROUTE_ = "_route_"; + String _ROUTE_ = "_route_"; /** Force a single-pass distributed query? (true/false) */ - public static final String DISTRIB_SINGLE_PASS = "distrib.singlePass"; + String DISTRIB_SINGLE_PASS = "distrib.singlePass"; }