You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2018/12/08 16:00:58 UTC
lucene-solr:jira/http2: Restore missing method of
TrackingShardHandlerFactory
Repository: lucene-solr
Updated Branches:
refs/heads/jira/http2 9f765aaf8 -> 809ecafa2
Restore missing method of TrackingShardHandlerFactory
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/809ecafa
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/809ecafa
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/809ecafa
Branch: refs/heads/jira/http2
Commit: 809ecafa2958f5285fe4d56e27937b592bd2b37b
Parents: 9f765aa
Author: Cao Manh Dat <da...@apache.org>
Authored: Sat Dec 8 16:00:44 2018 +0000
Committer: Cao Manh Dat <da...@apache.org>
Committed: Sat Dec 8 16:00:44 2018 +0000
----------------------------------------------------------------------
.../component/TrackingShardHandlerFactory.java | 46 +++++++++++++++++++-
1 file changed, 45 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/809ecafa/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java b/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
index 002e408..1649aa5 100644
--- a/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
+++ b/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
@@ -24,7 +24,9 @@ import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap;
+import org.apache.http.client.HttpClient;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.cloud.MiniSolrCloudCluster;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
@@ -84,7 +86,49 @@ public class TrackingShardHandlerFactory extends HttpShardHandlerFactory {
public ShardHandler getShardHandler() {
return super.getShardHandler();
}
-
+
+ @Override
+ public ShardHandler getShardHandler(Http2SolrClient client) {
+ final ShardHandlerFactory factory = this;
+ final ShardHandler wrapped = super.getShardHandler(client);
+ return new HttpShardHandler(this, client) {
+ @Override
+ public void prepDistributed(ResponseBuilder rb) {
+ wrapped.prepDistributed(rb);
+ }
+
+ @Override
+ public void submit(ShardRequest sreq, String shard, ModifiableSolrParams params) {
+ synchronized (TrackingShardHandlerFactory.this) {
+ if (isTracking()) {
+ queue.offer(new ShardRequestAndParams(sreq, shard, params));
+ }
+ }
+ wrapped.submit(sreq, shard, params);
+ }
+
+ @Override
+ public ShardResponse takeCompletedIncludingErrors() {
+ return wrapped.takeCompletedIncludingErrors();
+ }
+
+ @Override
+ public ShardResponse takeCompletedOrError() {
+ return wrapped.takeCompletedOrError();
+ }
+
+ @Override
+ public void cancelAll() {
+ wrapped.cancelAll();
+ }
+
+ @Override
+ public ShardHandlerFactory getShardHandlerFactory() {
+ return factory;
+ }
+ };
+ }
+
@Override
public void close() {
super.close();