47
47
import java .util .concurrent .CountDownLatch ;
48
48
import java .util .concurrent .ExecutorService ;
49
49
import java .util .concurrent .Executors ;
50
+ import java .util .concurrent .ScheduledExecutorService ;
50
51
import java .util .concurrent .TimeUnit ;
51
52
import java .util .concurrent .atomic .AtomicInteger ;
52
53
import java .util .concurrent .atomic .AtomicReference ;
@@ -102,11 +103,18 @@ private void multiThreadTest(int maxOperations, int maxRequests, int numThreads,
102
103
CountingListener listener = new CountingListener ();
103
104
TestTransport transport = new TestTransport ();
104
105
ElasticsearchAsyncClient client = new ElasticsearchAsyncClient (transport );
106
+ ScheduledExecutorService scheduler = Executors .newSingleThreadScheduledExecutor (r -> {
107
+ Thread t = Executors .defaultThreadFactory ().newThread (r );
108
+ t .setName ("my-bulk-ingester-executor#" );
109
+ t .setDaemon (true );
110
+ return t ;
111
+ });
105
112
106
113
BulkIngester <Void > ingester = BulkIngester .of (b -> b
107
114
.client (client )
108
115
.maxOperations (maxOperations )
109
116
.maxConcurrentRequests (maxRequests )
117
+ .scheduler (scheduler )
110
118
.listener (listener )
111
119
);
112
120
@@ -130,6 +138,7 @@ private void multiThreadTest(int maxOperations, int maxRequests, int numThreads,
130
138
131
139
ingester .close ();
132
140
transport .close ();
141
+ scheduler .shutdownNow ();
133
142
134
143
printStats (ingester );
135
144
printStats (listener );
@@ -181,7 +190,7 @@ public void periodicFlushTest() throws Exception {
181
190
// Disable other flushing limits
182
191
.maxSize (-1 )
183
192
.maxOperations (-1 )
184
- .maxConcurrentRequests (Integer .MAX_VALUE )
193
+ .maxConcurrentRequests (Integer .MAX_VALUE - 1 )
185
194
);
186
195
187
196
// Add an operation every 100 ms to give time
@@ -242,7 +251,7 @@ public void afterBulk(long executionId, BulkRequest request, List<Void> contexts
242
251
// Disable other flushing limits
243
252
.maxSize (-1 )
244
253
.maxOperations (-1 )
245
- .maxConcurrentRequests (Integer .MAX_VALUE )
254
+ .maxConcurrentRequests (Integer .MAX_VALUE - 1 )
246
255
.listener (listener )
247
256
);
248
257
0 commit comments