prevent ISE at broker from completely failing to return results

This commit is contained in:
fjy 2013-05-31 14:28:55 -07:00
parent c02113879d
commit 2138f9fdf2
1 changed files with 4 additions and 2 deletions

View File

@ -56,6 +56,7 @@ import com.metamx.druid.query.segment.MultipleSpecificSegmentSpec;
import com.metamx.druid.query.segment.SegmentDescriptor; import com.metamx.druid.query.segment.SegmentDescriptor;
import com.metamx.druid.result.BySegmentResultValueClass; import com.metamx.druid.result.BySegmentResultValueClass;
import com.metamx.druid.result.Result; import com.metamx.druid.result.Result;
import com.metamx.emitter.EmittingLogger;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.Interval; import org.joda.time.Interval;
@ -73,7 +74,7 @@ import java.util.concurrent.Executors;
*/ */
public class CachingClusteredClient<T> implements QueryRunner<T> public class CachingClusteredClient<T> implements QueryRunner<T>
{ {
private static final Logger log = new Logger(CachingClusteredClient.class); private static final EmittingLogger log = new EmittingLogger(CachingClusteredClient.class);
private final QueryToolChestWarehouse warehouse; private final QueryToolChestWarehouse warehouse;
private final TimelineServerView serverView; private final TimelineServerView serverView;
@ -296,7 +297,8 @@ public class CachingClusteredClient<T> implements QueryRunner<T>
final QueryRunner clientQueryable = serverView.getQueryRunner(server); final QueryRunner clientQueryable = serverView.getQueryRunner(server);
if (clientQueryable == null) { if (clientQueryable == null) {
throw new ISE("WTF!? server[%s] doesn't have a client Queryable?", server); log.makeAlert("WTF!? server[%s] doesn't have a client Queryable?", server).emit();
continue;
} }
final Sequence<T> resultSeqToAdd; final Sequence<T> resultSeqToAdd;