BLZG-1259 added more complete support for cancelation of REST API queries. As part of this, RemoteRepositoryManager.close() was extended to cancel all in-flight operations submitted by the client on the remote end point. However, this causes failures in the HA test suite.
The http://trac.blazegraph.com/ticket/967 ticket (
BLZG-1030) shows how we previously chased the same org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF issue. It provides an analysis of how these problems emerge.
Of particular relevance from that ticket are the following points which were noted as leading to this earlyEOF() issue:
- Bigdata LaunderThrowable? code may be propagating exceptions inappropriately
- Jetty server code can close connections when exceptions are seen for committed responses.
- Apache client throws exceptions when result streams are multiply closed (perhaps incorrectly)
- Jetty client code connection pooling may select connections that have been closed and requests should be retried.