blob: 3f65b90585f482d45442dda2ceb574ec6172afc6 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.apache.solr.handler;
import java.nio.charset.Charset;
import java.util.Locale;
public class CdcrParams {
/**
* The definition of a replica configuration *
*/
public static final String REPLICA_PARAM = "replica";
/**
* The source collection of a replica *
*/
public static final String SOURCE_COLLECTION_PARAM = "source";
/**
* The target collection of a replica *
*/
public static final String TARGET_COLLECTION_PARAM = "target";
/**
* The Zookeeper host of the target cluster hosting the replica *
*/
public static final String ZK_HOST_PARAM = "zkHost";
/**
* The definition of the {@link org.apache.solr.handler.CdcrReplicatorScheduler} configuration *
*/
public static final String REPLICATOR_PARAM = "replicator";
/**
* The thread pool size of the replicator *
*/
public static final String THREAD_POOL_SIZE_PARAM = "threadPoolSize";
/**
* The time schedule (in ms) of the replicator *
*/
public static final String SCHEDULE_PARAM = "schedule";
/**
* The batch size of the replicator *
*/
public static final String BATCH_SIZE_PARAM = "batchSize";
/**
* The definition of the {@link org.apache.solr.handler.CdcrUpdateLogSynchronizer} configuration *
*/
public static final String UPDATE_LOG_SYNCHRONIZER_PARAM = "updateLogSynchronizer";
/**
* The definition of the {@link org.apache.solr.handler.CdcrBufferManager} configuration *
*/
public static final String BUFFER_PARAM = "buffer";
/**
* The default state at startup of the buffer *
*/
public static final String DEFAULT_STATE_PARAM = "defaultState";
/**
* The latest update checkpoint on a target cluster *
*/
public final static String CHECKPOINT = "checkpoint";
/**
* The last processed version on a source cluster *
*/
public final static String LAST_PROCESSED_VERSION = "lastProcessedVersion";
/**
* A list of replica queues on a source cluster *
*/
public final static String QUEUES = "queues";
/**
* The size of a replica queue on a source cluster *
*/
public final static String QUEUE_SIZE = "queueSize";
/**
* The timestamp of the last processed operation in a replica queue *
*/
public final static String LAST_TIMESTAMP = "lastTimestamp";
/**
* A list of qps statistics per collection *
*/
public final static String OPERATIONS_PER_SECOND = "operationsPerSecond";
/**
* Overall counter *
*/
public final static String COUNTER_ALL = "all";
/**
* Counter for Adds *
*/
public final static String COUNTER_ADDS = "adds";
/**
* Counter for Deletes *
*/
public final static String COUNTER_DELETES = "deletes";
/**
* Counter for Bootstrap operations *
*/
public final static String COUNTER_BOOTSTRAP = "bootstraps";
/**
* A list of errors per target collection *
*/
public final static String ERRORS = "errors";
/**
* Counter for consecutive errors encountered by a replicator thread *
*/
public final static String CONSECUTIVE_ERRORS = "consecutiveErrors";
/**
* A list of the last errors encountered by a replicator thread *
*/
public final static String LAST = "last";
/**
* Total size of transaction logs *
*/
public final static String TLOG_TOTAL_SIZE = "tlogTotalSize";
/**
* Total count of transaction logs *
*/
public final static String TLOG_TOTAL_COUNT = "tlogTotalCount";
/**
* The state of the update log synchronizer *
*/
public final static String UPDATE_LOG_SYNCHRONIZER = "updateLogSynchronizer";
/**
* The actions supported by the CDCR API
*/
public enum CdcrAction {
START,
STOP,
STATUS,
COLLECTIONCHECKPOINT,
SHARDCHECKPOINT,
ENABLEBUFFER,
DISABLEBUFFER,
LASTPROCESSEDVERSION,
QUEUES,
OPS,
ERRORS,
BOOTSTRAP,
BOOTSTRAP_STATUS,
CANCEL_BOOTSTRAP;
public static CdcrAction get(String p) {
if (p != null) {
try {
return CdcrAction.valueOf(p.toUpperCase(Locale.ROOT));
} catch (Exception e) {
}
}
return null;
}
public String toLower() {
return toString().toLowerCase(Locale.ROOT);
}
}
/**
* The possible states of the CDCR process
*/
public enum ProcessState {
STARTED,
STOPPED;
public static ProcessState get(byte[] state) {
if (state != null) {
try {
return ProcessState.valueOf(new String(state, Charset.forName("UTF-8")).toUpperCase(Locale.ROOT));
} catch (Exception e) {
}
}
return null;
}
public String toLower() {
return toString().toLowerCase(Locale.ROOT);
}
public byte[] getBytes() {
return toLower().getBytes(Charset.forName("UTF-8"));
}
public static String getParam() {
return "process";
}
}
/**
* The possible states of the CDCR buffer
*/
public enum BufferState {
ENABLED,
DISABLED;
public static BufferState get(byte[] state) {
if (state != null) {
try {
return BufferState.valueOf(new String(state, Charset.forName("UTF-8")).toUpperCase(Locale.ROOT));
} catch (Exception e) {
}
}
return null;
}
public String toLower() {
return toString().toLowerCase(Locale.ROOT);
}
public byte[] getBytes() {
return toLower().getBytes(Charset.forName("UTF-8"));
}
public static String getParam() {
return "buffer";
}
}
}