16
16
import org .zalando .nakadi .domain .UnprocessableEventPolicy ;
17
17
import org .zalando .nakadi .exceptions .runtime .AccessDeniedException ;
18
18
import org .zalando .nakadi .exceptions .runtime .NakadiRuntimeException ;
19
- import org .zalando .nakadi .exceptions .runtime .RebalanceConflictException ;
20
19
import org .zalando .nakadi .repository .kafka .KafkaRecordDeserializer ;
21
20
import org .zalando .nakadi .service .AuthorizationValidator ;
22
21
import org .zalando .nakadi .service .ConsumptionKpiCollector ;
29
28
import org .zalando .nakadi .service .FeatureToggleService ;
30
29
import org .zalando .nakadi .service .publishing .EventPublisher ;
31
30
import org .zalando .nakadi .service .subscription .autocommit .AutocommitSupport ;
32
- import org .zalando .nakadi .service .subscription .model .Partition ;
33
31
import org .zalando .nakadi .service .subscription .model .Session ;
34
32
import org .zalando .nakadi .service .subscription .state .CleanupState ;
35
33
import org .zalando .nakadi .service .subscription .state .DummyState ;
42
40
43
41
import java .io .Closeable ;
44
42
import java .io .IOException ;
45
- import java .util .Collection ;
46
43
import java .util .Comparator ;
47
44
import java .util .List ;
48
45
import java .util .Optional ;
49
46
import java .util .concurrent .BlockingQueue ;
50
47
import java .util .concurrent .LinkedBlockingQueue ;
51
48
import java .util .concurrent .ScheduledExecutorService ;
52
49
import java .util .concurrent .TimeUnit ;
53
- import java .util .function .BiFunction ;
54
50
55
51
public class StreamingContext implements SubscriptionStreamer {
56
52
@@ -67,7 +63,6 @@ public class StreamingContext implements SubscriptionStreamer {
67
63
private final EventStreamChecks eventStreamChecks ;
68
64
private final ScheduledExecutorService timer ;
69
65
private final BlockingQueue <Runnable > taskQueue = new LinkedBlockingQueue <>();
70
- private final BiFunction <Collection <Session >, Partition [], Partition []> rebalancer ;
71
66
private final CursorConverter cursorConverter ;
72
67
private final Subscription subscription ;
73
68
private final MetricRegistry metricRegistry ;
@@ -102,7 +97,6 @@ private StreamingContext(final Builder builder) {
102
97
this .out = builder .out ;
103
98
this .parameters = builder .parameters ;
104
99
this .session = builder .session ;
105
- this .rebalancer = builder .rebalancer ;
106
100
this .timer = builder .timer ;
107
101
this .zkClient = builder .zkClient ;
108
102
this .kafkaPollTimeout = builder .kafkaPollTimeout ;
@@ -363,16 +357,7 @@ private void rebalance() {
363
357
if (null != sessionListSubscription ) {
364
358
// This call is needed to renew subscription for session list changes.
365
359
sessionListSubscription .getData ();
366
- zkClient .updateTopology (topology -> {
367
- try {
368
- return rebalancer .apply (
369
- zkClient .listSessions (),
370
- topology .getPartitions ());
371
- } catch (final RebalanceConflictException e ) {
372
- LOG .warn ("failed to rebalance partitions: {}" , e .getMessage (), e );
373
- return new Partition [0 ];
374
- }
375
- });
360
+ zkClient .rebalanceSessions ();
376
361
}
377
362
}
378
363
@@ -437,7 +422,6 @@ public static final class Builder {
437
422
private Session session ;
438
423
private ScheduledExecutorService timer ;
439
424
private ZkSubscriptionClient zkClient ;
440
- private BiFunction <Collection <Session >, Partition [], Partition []> rebalancer ;
441
425
private long kafkaPollTimeout ;
442
426
private CursorTokenService cursorTokenService ;
443
427
private ObjectMapper objectMapper ;
@@ -505,11 +489,6 @@ public Builder setZkClient(final ZkSubscriptionClient zkClient) {
505
489
return this ;
506
490
}
507
491
508
- public Builder setRebalancer (final BiFunction <Collection <Session >, Partition [], Partition []> rebalancer ) {
509
- this .rebalancer = rebalancer ;
510
- return this ;
511
- }
512
-
513
492
public Builder setKafkaPollTimeout (final long kafkaPollTimeout ) {
514
493
this .kafkaPollTimeout = kafkaPollTimeout ;
515
494
return this ;
0 commit comments