Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
Baoyi Chen committed Dec 9, 2023
1 parent 6ba02aa commit ebaeaae
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
package com.moilioncircle.redis.replicator;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.atomic.AtomicLong;
Expand Down Expand Up @@ -199,11 +198,6 @@ public static Configuration defaultSetting() {
*/
private int scanStep = 512;

/**
* @since 3.8.1
*/
private Map<String, Object> context = new HashMap<>(4);

public int getConnectionTimeout() {
return connectionTimeout;
}
Expand Down Expand Up @@ -452,14 +446,6 @@ public Configuration setScanStep(int scanStep) {
return this;
}

public Map<String, Object> getContext() {
return context;
}

public void setContext(Map<String, Object> context) {
this.context = context;
}

public Configuration merge(SslConfiguration sslConfiguration) {
if (sslConfiguration == null) return this;
this.setSslParameters(sslConfiguration.getSslParameters());
Expand Down Expand Up @@ -611,7 +597,6 @@ public String toString() {
", replStreamDB=" + replStreamDB +
", replOffset=" + replOffset +
", replFilters=" + Arrays.toString(replFilters) +
", context=" + context +
'}';
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,4 @@ private Constants() {
public static final byte MINUS = '-';
public static final byte COLON = ':';
public static final byte HASHTAG = '#'; // since redis 7.0 TS timestamp

/**
* replication protocol
*/
public static final String REPL_ID = "$REPL_ID";
public static final String REPL_OFFSET = "$REPL_OFFSET";
public static final String REPL_STREAM_DB = "$REPL_STREAM_DB";

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
package com.moilioncircle.redis.replicator;

import static com.moilioncircle.redis.replicator.Constants.DOLLAR;
import static com.moilioncircle.redis.replicator.Constants.REPL_ID;
import static com.moilioncircle.redis.replicator.Constants.REPL_OFFSET;
import static com.moilioncircle.redis.replicator.Constants.STAR;
import static com.moilioncircle.redis.replicator.RedisSocketReplicator.SyncMode.PSYNC;
import static com.moilioncircle.redis.replicator.RedisSocketReplicator.SyncMode.SYNC;
Expand All @@ -36,8 +34,6 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.atomic.AtomicBoolean;
Expand Down Expand Up @@ -145,10 +141,8 @@ protected SyncMode trySync(final String reply) throws IOException {
this.db = -1;
parseDump(this);
String[] ary = reply.split(" ");
Map<String, Object> context = new HashMap<>(4);
context.put(REPL_ID, ary[1]);
context.put(REPL_OFFSET, ary[2]);
configuration.setContext(context);
configuration.setReplId(ary[1]);
configuration.setReplOffset(Long.parseLong(ary[2]));
return PSYNC;
} else if (reply.startsWith("CONTINUE")) {
String[] ary = reply.split(" ");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,7 @@
import static com.moilioncircle.redis.replicator.Constants.RDB_TYPE_ZSET_2;
import static com.moilioncircle.redis.replicator.Constants.RDB_TYPE_ZSET_LISTPACK;
import static com.moilioncircle.redis.replicator.Constants.RDB_TYPE_ZSET_ZIPLIST;
import static com.moilioncircle.redis.replicator.Constants.REPL_ID;
import static com.moilioncircle.redis.replicator.Constants.REPL_OFFSET;
import static com.moilioncircle.redis.replicator.Constants.REPL_STREAM_DB;
import static java.lang.Integer.parseInt;
import static java.lang.Long.parseLong;

import java.io.IOException;
import java.util.List;
Expand Down Expand Up @@ -162,12 +158,11 @@ public Event applyAux(RedisInputStream in, int version) throws IOException {
if (logger.isInfoEnabled()) {
logger.info("RDB {}: {}", auxKey, auxValue);
}
Map<String, Object> context = replicator.getConfiguration().getContext();
if (context != null) {
if (auxKey.equals("repl-id")) context.put(REPL_ID, auxValue);
if (auxKey.equals("repl-offset")) context.put(REPL_OFFSET, auxValue);
if (auxKey.equals("repl-stream-db")) context.put(REPL_STREAM_DB, auxValue);
}

// avoid set repl_offset too early.
// if (auxKey.equals("repl-id")) replicator.getConfiguration().setReplId(auxValue);
// if (auxKey.equals("repl-offset")) replicator.getConfiguration().setReplOffset(parseLong(auxValue));
if (auxKey.equals("repl-stream-db")) replicator.getConfiguration().setReplStreamDB(parseInt(auxValue));
return new AuxField(auxKey, auxValue);
} else {
if (logger.isWarnEnabled()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,20 +48,15 @@
import static com.moilioncircle.redis.replicator.Constants.RDB_TYPE_ZSET_2;
import static com.moilioncircle.redis.replicator.Constants.RDB_TYPE_ZSET_LISTPACK;
import static com.moilioncircle.redis.replicator.Constants.RDB_TYPE_ZSET_ZIPLIST;
import static com.moilioncircle.redis.replicator.Constants.REPL_ID;
import static com.moilioncircle.redis.replicator.Constants.REPL_OFFSET;
import static com.moilioncircle.redis.replicator.Constants.REPL_STREAM_DB;
import static com.moilioncircle.redis.replicator.Status.CONNECTED;
import static com.moilioncircle.redis.replicator.util.Tuples.of;

import java.io.IOException;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.moilioncircle.redis.replicator.AbstractReplicator;
import com.moilioncircle.redis.replicator.Configuration;
import com.moilioncircle.redis.replicator.event.Event;
import com.moilioncircle.redis.replicator.event.PostRdbSyncEvent;
import com.moilioncircle.redis.replicator.event.PreRdbSyncEvent;
Expand Down Expand Up @@ -295,15 +290,6 @@ public long parse() throws IOException {
if (replicator.verbose() && logger.isDebugEnabled()) logger.debug("{}", event);
if (!discard) this.replicator.submitEvent(event, of(start, offset));
}

// we should set repl_id, repl_offset, repl_stream_db after full sync done to avoid losing data.
Map<String, Object> context = replicator.getConfiguration().getContext();
if (context != null) {
Configuration conf = replicator.getConfiguration();
if (context.containsKey(REPL_ID)) conf.setReplId((String) context.get(REPL_ID));
if (context.containsKey(REPL_OFFSET)) conf.setReplOffset(Long.parseLong((String) context.get(REPL_OFFSET)));
if (context.containsKey(REPL_STREAM_DB)) conf.setReplStreamDB(Integer.parseInt((String) context.get(REPL_STREAM_DB)));
}
return offset;
}
}
Expand Down

0 comments on commit ebaeaae

Please sign in to comment.