Skip to content
This repository was archived by the owner on Mar 12, 2026. It is now read-only.

Commit 6eaa330

Browse files
author
mrrtree
authored
fix: use default endpint while route is empty (#43)
1 parent c0df97c commit 6eaa330

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

ceresdb-example/src/test/java/io/ceresdb/CeresDBTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@
33
*/
44
package io.ceresdb;
55

6-
import java.nio.charset.StandardCharsets;
76
import java.text.SimpleDateFormat;
87
import java.util.ArrayList;
98
import java.util.Calendar;
109
import java.util.Iterator;
11-
import java.util.LinkedList;
1210
import java.util.List;
1311
import java.util.concurrent.CompletableFuture;
1412
import java.util.concurrent.ExecutionException;

ceresdb-protocol/src/main/java/io/ceresdb/Route.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import io.ceresdb.common.util.Clock;
1010

1111
/**
12-
* Route info for metric.
12+
* Route info for table.
1313
*
1414
*/
1515
public class Route {
@@ -18,21 +18,21 @@ public class Route {
1818
private Object ext;
1919
private final AtomicLong lastHit = new AtomicLong(Clock.defaultClock().getTick());
2020

21-
public static Route invalid(final String metric) {
22-
throw new IllegalStateException("Unexpected, invalid route for metric: " + metric);
21+
public static Route invalid(final String table) {
22+
throw new IllegalStateException("Unexpected, invalid route for table: " + table);
2323
}
2424

2525
public static Route of(final Endpoint endpoint) {
2626
return of(null, endpoint, null);
2727
}
2828

29-
public static Route of(final String metric, final Endpoint endpoint) {
30-
return of(metric, endpoint, null);
29+
public static Route of(final String table, final Endpoint endpoint) {
30+
return of(table, endpoint, null);
3131
}
3232

33-
public static Route of(final String metric, final Endpoint endpoint, final Object ext) {
33+
public static Route of(final String table, final Endpoint endpoint, final Object ext) {
3434
final Route r = new Route();
35-
r.table = metric;
35+
r.table = table;
3636
r.endpoint = endpoint;
3737
r.ext = ext;
3838
return r;

ceresdb-protocol/src/main/java/io/ceresdb/RouterClient.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ public CompletableFuture<Map<String, Route>> routeFor(final RequestContext reqCt
184184
ret = remote;
185185
} else {
186186
local.putAll(remote);
187+
for (String miss : misses) {
188+
local.putIfAbsent(miss, Route.of(miss, opts.getClusterAddress()));
189+
}
187190
ret = local;
188191
}
189192
return ret;
@@ -197,7 +200,6 @@ public CompletableFuture<Map<String, Route>> routeFor(final RequestContext reqCt
197200

198201
public CompletableFuture<Map<String, Route>> routeRefreshFor(final RequestContext reqCtx,
199202
final Collection<String> tables) {
200-
final long startCall = Clock.defaultClock().getTick();
201203
return this.router.routeFor(reqCtx, tables).whenComplete((remote, err) -> {
202204
if (err == null) {
203205
this.routeCache.putAll(remote);

ceresdb-protocol/src/main/java/io/ceresdb/WriteClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public StreamWriteBuf<Point, WriteOk> streamWrite(final RequestContext reqCtx, f
149149

150150
final CompletableFuture<WriteOk> respFuture = new CompletableFuture<>();
151151

152-
return this.routerClient.routeFor(reqCtx, Collections.singleton(table))
152+
return this.routerClient.routeFor(finalReqCtx, Collections.singleton(table))
153153
.thenApply(routes -> routes.values().stream().findFirst().orElseGet(() -> Route.invalid(table)))
154154
.thenApply(route -> streamWriteTo(route, finalReqCtx, ctx, Utils.toUnaryObserver(respFuture)))
155155
.thenApply(reqObserver -> new StreamWriteBuf<Point, WriteOk>() {

0 commit comments

Comments
 (0)