Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 78ed1ea

Browse files
authored
Merge pull request #522 from blazegraph/BLZG-9158
Blzg 9158
2 parents 511e7bd + b1e090a commit 78ed1ea

File tree

13 files changed

+63
-29
lines changed

13 files changed

+63
-29
lines changed

bigdata-client/src/test/java/com/bigdata/rdf/sail/webapp/client/MockRemoteRepository.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.eclipse.jetty.client.api.Response.ResponseListener;
1313
import org.eclipse.jetty.client.api.Result;
1414
import org.eclipse.jetty.http.HttpHeader;
15+
import org.eclipse.jetty.util.Callback;
1516
import org.openrdf.query.resultio.TupleQueryResultFormat;
1617
import org.openrdf.rio.RDFFormat;
1718

@@ -34,7 +35,7 @@ public static MockRemoteRepository create(final String tupleQueryResponse, final
3435
// pojo to retrieve values from mock service
3536
final Data data = new Data();
3637

37-
String serviceURL = "localhost";
38+
String serviceURL = "http://localhost";
3839
HttpClient httpClient = new HttpClient() {
3940
@Override
4041
protected void send(HttpRequest request,
@@ -67,7 +68,7 @@ public int getStatus() {
6768
java.nio.ByteBuffer buf = java.nio.ByteBuffer.allocate(responseContent.length());
6869
buf.put(responseContent.getBytes(Charset.forName(StandardCharsets.UTF_8.name())));
6970
buf.flip();
70-
((JettyResponseListener)listener).onContent(response, buf);
71+
((JettyResponseListener)listener).onContent(response, buf, Callback.NOOP);
7172
((JettyResponseListener)listener).onSuccess(response);
7273
((JettyResponseListener)listener).onComplete(new Result(request, response));
7374
}

bigdata-core-test/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ See https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.h
8787
<artifactId>maven-surefire-plugin</artifactId>
8888
<version>2.18.1</version>
8989
<configuration>
90+
<!-- https://issues.apache.org/jira/browse/SUREFIRE-1588 -->
91+
<useSystemClassLoader>false</useSystemClassLoader>
9092
<includes>
9193
<include>com/bigdata/cache/lru/TestAll.java</include>
9294
<include>com/bigdata/io/TestAll.java</include>

bigdata-core/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HALoadBalancerServlet.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -975,7 +975,7 @@ private String getFullPrefix(final boolean isLeaderRequest,
975975
* @see #doRewriteURI(HttpServletRequest)
976976
*/
977977
@Override
978-
final protected URI rewriteURI(final HttpServletRequest request) {
978+
final protected String rewriteTarget(final HttpServletRequest request) {
979979

980980
try {
981981

@@ -988,7 +988,7 @@ final protected URI rewriteURI(final HttpServletRequest request) {
988988

989989
}
990990

991-
return rewritten;
991+
return rewritten.toString();
992992

993993
} catch (Throwable t) {
994994

@@ -1135,8 +1135,8 @@ protected URI doRewriteURI(final HttpServletRequest request) {
11351135
* response.
11361136
*/
11371137
@Override
1138-
protected void onRewriteFailed(final HttpServletRequest request,
1139-
final HttpServletResponse response) throws IOException {
1138+
protected void onProxyRewriteFailed(final HttpServletRequest request,
1139+
final HttpServletResponse response) {
11401140

11411141
if (log.isInfoEnabled())
11421142
log.info("Could not rewrite: request=" + request,
@@ -1145,18 +1145,21 @@ protected void onRewriteFailed(final HttpServletRequest request,
11451145
// Figure out if request is to leader or reader.
11461146
final Boolean isLeaderRequest = isLeaderRequest(request);
11471147

1148-
if (isLeaderRequest == null) {
1148+
try {
1149+
if (isLeaderRequest == null) {
11491150

1150-
// Could not identify request based on known prefixes (leader|read).
1151-
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
1152-
"Unknown prefix: requestURL=" + request.getRequestURL());
1153-
return;
1151+
// Could not identify request based on known prefixes (leader|read).
1152+
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
1153+
"Unknown prefix: requestURL=" + request.getRequestURL());
1154+
return;
11541155

1155-
}
1156-
1157-
// Forward to this service (let it generate an error message).
1158-
forwardToLocalService(isLeaderRequest, request, response);
1156+
}
11591157

1158+
// Forward to this service (let it generate an error message).
1159+
forwardToLocalService(isLeaderRequest, request, response);
1160+
} catch(IOException e) {
1161+
log.error("Was not able to handle proxy rewrite failure: request=" + request, new StackInfoReport());
1162+
}
11601163
// response.sendError(HttpServletResponse.SC_FORBIDDEN);
11611164

11621165
}
@@ -1186,7 +1189,7 @@ protected void onRewriteFailed(final HttpServletRequest request,
11861189
* a durable problem with the target host.
11871190
*/
11881191
@Override
1189-
protected void onResponseFailure(//
1192+
protected void onProxyResponseFailure(//
11901193
final HttpServletRequest request,//
11911194
final HttpServletResponse response,//
11921195
final Response proxyResponse,//

bigdata-rdf-test/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ Copyright 2010 by TalkingTrends (Amsterdam, The Netherlands)
5757
<artifactId>maven-surefire-plugin</artifactId>
5858
<version>2.18.1</version>
5959
<configuration>
60+
<!-- https://issues.apache.org/jira/browse/SUREFIRE-1588 -->
61+
<useSystemClassLoader>false</useSystemClassLoader>
6062
<includes>
6163
<include>com/bigdata/rdf/TestAll.java</include>
6264
<include>com/bigdata/rdf/internal/gis/TestAll.java</include>

bigdata-sails-test/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5656
<artifactId>maven-surefire-plugin</artifactId>
5757
<version>2.18.1</version>
5858
<configuration>
59+
<!-- https://issues.apache.org/jira/browse/SUREFIRE-1588 -->
60+
<useSystemClassLoader>false</useSystemClassLoader>
5961
<includes>
6062
<include>com/bigdata/rdf/sail/TestAll.java</include>
6163
<include>com/bigdata/rdf/sail/webapp/TestAll.java</include>

bigdata-sails-test/src/test/java/com/bigdata/rdf/sail/webapp/AbstractProtocolTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
import java.util.regex.Matcher;
3232
import java.util.regex.Pattern;
3333

34+
import javax.activation.MimeType;
35+
import javax.activation.MimeTypeParseException;
3436
import javax.servlet.http.HttpServlet;
3537

3638
import org.apache.http.Header;
@@ -165,6 +167,24 @@ protected String getResponseContentType() {
165167
return responseContentType;
166168
}
167169

170+
/**
171+
* Match content type against expected type
172+
*/
173+
protected void matchResponseContentType(String expectedType) {
174+
String fullType = getResponseContentType();
175+
if (fullType == null) {
176+
assertNull(expectedType);
177+
} else {
178+
try {
179+
MimeType ctype = new MimeType(fullType);
180+
assertTrue("Types "+fullType+" and "+expectedType+" do not match", ctype.match(expectedType));
181+
} catch (MimeTypeParseException e) {
182+
assertEquals(expectedType, fullType);
183+
}
184+
185+
}
186+
}
187+
168188
/**
169189
* Sets the accept header, default is "*"
170190
* @param mimetype

bigdata-sails-test/src/test/java/com/bigdata/rdf/sail/webapp/ExampleProtocolTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public ExampleProtocolTest(String name) {
4343

4444
public void test101() throws IOException {
4545
assertTrue(serviceRequest("query","SELECT ( true AS ?t ) {}").contains("</sparql>"));
46-
assertEquals("application/sparql-results+xml", getResponseContentType());
46+
matchResponseContentType("application/sparql-results+xml");
4747
}
4848

4949

bigdata-sails-test/src/test/java/com/bigdata/rdf/sail/webapp/TestAskJsonTrac704.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void testAskGetJSON() throws IOException {
4646
this.setAccept(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON);
4747
final String response = serviceRequest("query",AbstractProtocolTest.ASK);
4848
assertTrue("Bad response: "+response,response.contains("boolean"));
49-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON, getResponseContentType());
49+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON);
5050
}
5151

5252
/**

bigdata-sails-test/src/test/java/com/bigdata/rdf/sail/webapp/TestPostNotURLEncoded.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,21 @@ public TestPostNotURLEncoded(String name) {
4747
public void testSelectPostXML() throws IOException {
4848
setMethodisPost("application/sparql-query",AbstractProtocolTest.SELECT);
4949
assertTrue(serviceRequest().contains("</sparql>"));
50-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML, getResponseContentType());
50+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML);
5151
}
5252

5353

5454
public void testSelectPostJSON() throws IOException {
5555
setAccept(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON);
5656
setMethodisPost("application/sparql-query",AbstractProtocolTest.SELECT);
5757
assertTrue(serviceRequest().contains("results"));
58-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON, getResponseContentType());
58+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON);
5959
}
6060

6161
public void testAskPostXML() throws IOException {
6262
setMethodisPost("application/sparql-query",AbstractProtocolTest.ASK);
6363
assertTrue(serviceRequest().contains("</sparql>"));
64-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML, getResponseContentType());
64+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML);
6565
}
6666

6767

@@ -70,7 +70,7 @@ public void testAskPostJSON() throws IOException {
7070
setMethodisPost("application/sparql-query",AbstractProtocolTest.ASK);
7171
String response = serviceRequest("query",AbstractProtocolTest.ASK);
7272
assertTrue("Bad response: "+response,response.contains("boolean"));
73-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON, getResponseContentType());
73+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON);
7474
}
7575

7676

bigdata-sails-test/src/test/java/com/bigdata/rdf/sail/webapp/TestRelease123Protocol.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626

2727
import org.apache.http.Header;
2828
import org.apache.http.message.BasicHeader;
29-
import org.eclipse.jetty.http.MimeTypes;
30-
import org.openrdf.rio.RDFFormat;
3129

3230
import junit.framework.Test;
3331

@@ -50,18 +48,18 @@ public TestRelease123Protocol(String name) {
5048

5149
public void testSelectGetXML() throws IOException {
5250
assertTrue(serviceRequest("query",SELECT).contains("</sparql>"));
53-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML, getResponseContentType());
51+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML);
5452
}
5553

5654
public void testSelectGetJSON() throws IOException {
5755
this.setAccept(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON);
5856
assertTrue(serviceRequest("query",SELECT).contains("results"));
59-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON, getResponseContentType());
57+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_JSON);
6058

6159
}
6260
public void testAskGetXML() throws IOException {
6361
assertTrue(serviceRequest("query",ASK).contains("</sparql>"));
64-
assertEquals(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML, getResponseContentType());
62+
matchResponseContentType(BigdataRDFServlet.MIME_SPARQL_RESULTS_XML);
6563
}
6664

6765
public void testEchoBackHeader() throws IOException {

0 commit comments

Comments
 (0)