File tree Expand file tree Collapse file tree
solr/solrj/src/java/org/apache/solr Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3030import java .util .Locale ;
3131import java .util .Map ;
3232import java .util .Objects ;
33+ import java .util .concurrent .CancellationException ;
3334import java .util .concurrent .CompletableFuture ;
3435import java .util .concurrent .ExecutionException ;
3536import java .util .concurrent .ExecutorService ;
@@ -521,7 +522,13 @@ public void onHeaders(Response response) {
521522 mdcCopyHelper .onBegin (null );
522523 log .debug ("response processing success" );
523524 future .complete (body );
524- } catch (SolrClient .RemoteSolrException | SolrServerException e ) {
525+ } catch (CancellationException e ) {
526+ mdcCopyHelper .onBegin (null );
527+ log .debug ("response processing cancelled" , e );
528+ if (!future .isDone ()) {
529+ future .cancel (true );
530+ }
531+ } catch (Throwable e ) {
525532 mdcCopyHelper .onBegin (null );
526533 log .debug ("response processing failed" , e );
527534 future .completeExceptionally (e );
Original file line number Diff line number Diff line change 2424import java .util .Map ;
2525import java .util .concurrent .BlockingQueue ;
2626import java .util .concurrent .Callable ;
27+ import java .util .concurrent .CancellationException ;
2728import java .util .concurrent .ExecutionException ;
2829import java .util .concurrent .ExecutorService ;
2930import java .util .concurrent .Future ;
@@ -378,6 +379,7 @@ public void execute(final Runnable command) {
378379 }
379380 try {
380381 command .run ();
382+ } catch (CancellationException ignored ) {
381383 } catch (Throwable t ) {
382384 if (t instanceof OutOfMemoryError ) {
383385 throw t ;
You can’t perform that action at this time.
0 commit comments