@Override
  protected HiveDruidSplit[] getInputSplits(Configuration conf) throws IOException {
    HiveDruidSplit[] inputSplits = super.getInputSplits(conf);
    List<HiveDruidSplit> list = new ArrayList<>();
    for(HiveDruidSplit split : inputSplits) {
      String[] locations = split.getLocations();
      List<String> locationsWithFaultyHost = Lists.newArrayListWithCapacity(locations.length + 1);
      // A non-queryable host location.
      locationsWithFaultyHost.add("localhost:8081");
      locationsWithFaultyHost.addAll(Arrays.asList(locations));
      HiveDruidSplit hiveDruidSplit = new HiveDruidSplit(split.getDruidQuery(), split.getPath(),
              locationsWithFaultyHost.toArray(new String[0])
      );
      list.add(hiveDruidSplit);
    }
    return list.toArray(new HiveDruidSplit[0]);
  }
This input format adds a faulty host as first input split location.
Tests should be able to query results successfully by trying next split locations.
druid-handler/src/test/org/apache/hadoop/hive/druid/QTestDruidQueryBasedInputFormatToAddFaultyHost.java