mirror of https://github.com/apache/druid.git
DartSqlResource: Add controllerHost to GetQueriesResponse. (#17283)
This helps find the specific Broker that is executing a query.
This commit is contained in:
parent
9921ac1b19
commit
2309aa7bdf
|
@ -59,6 +59,7 @@ public class ControllerHolder
|
|||
private final ControllerContext controllerContext;
|
||||
private final String sqlQueryId;
|
||||
private final String sql;
|
||||
private final String controllerHost;
|
||||
private final AuthenticationResult authenticationResult;
|
||||
private final DateTime startTime;
|
||||
private final AtomicReference<State> state = new AtomicReference<>(State.ACCEPTED);
|
||||
|
@ -68,6 +69,7 @@ public class ControllerHolder
|
|||
final ControllerContext controllerContext,
|
||||
final String sqlQueryId,
|
||||
final String sql,
|
||||
final String controllerHost,
|
||||
final AuthenticationResult authenticationResult,
|
||||
final DateTime startTime
|
||||
)
|
||||
|
@ -76,6 +78,7 @@ public class ControllerHolder
|
|||
this.controllerContext = controllerContext;
|
||||
this.sqlQueryId = Preconditions.checkNotNull(sqlQueryId, "sqlQueryId");
|
||||
this.sql = sql;
|
||||
this.controllerHost = controllerHost;
|
||||
this.authenticationResult = authenticationResult;
|
||||
this.startTime = Preconditions.checkNotNull(startTime, "startTime");
|
||||
}
|
||||
|
@ -95,6 +98,11 @@ public class ControllerHolder
|
|||
return sql;
|
||||
}
|
||||
|
||||
public String getControllerHost()
|
||||
{
|
||||
return controllerHost;
|
||||
}
|
||||
|
||||
public AuthenticationResult getAuthenticationResult()
|
||||
{
|
||||
return authenticationResult;
|
||||
|
|
|
@ -26,6 +26,7 @@ import com.google.common.base.Preconditions;
|
|||
import org.apache.druid.msq.dart.controller.ControllerHolder;
|
||||
import org.apache.druid.msq.util.MSQTaskQueryMakerUtils;
|
||||
import org.apache.druid.query.QueryContexts;
|
||||
import org.apache.druid.server.DruidNode;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
import java.util.Objects;
|
||||
|
@ -38,6 +39,7 @@ public class DartQueryInfo
|
|||
private final String sqlQueryId;
|
||||
private final String dartQueryId;
|
||||
private final String sql;
|
||||
private final String controllerHost;
|
||||
private final String authenticator;
|
||||
private final String identity;
|
||||
private final DateTime startTime;
|
||||
|
@ -48,6 +50,7 @@ public class DartQueryInfo
|
|||
@JsonProperty("sqlQueryId") final String sqlQueryId,
|
||||
@JsonProperty("dartQueryId") final String dartQueryId,
|
||||
@JsonProperty("sql") final String sql,
|
||||
@JsonProperty("controllerHost") final String controllerHost,
|
||||
@JsonProperty("authenticator") final String authenticator,
|
||||
@JsonProperty("identity") final String identity,
|
||||
@JsonProperty("startTime") final DateTime startTime,
|
||||
|
@ -57,6 +60,7 @@ public class DartQueryInfo
|
|||
this.sqlQueryId = Preconditions.checkNotNull(sqlQueryId, "sqlQueryId");
|
||||
this.dartQueryId = Preconditions.checkNotNull(dartQueryId, "dartQueryId");
|
||||
this.sql = sql;
|
||||
this.controllerHost = controllerHost;
|
||||
this.authenticator = authenticator;
|
||||
this.identity = identity;
|
||||
this.startTime = startTime;
|
||||
|
@ -69,6 +73,7 @@ public class DartQueryInfo
|
|||
holder.getSqlQueryId(),
|
||||
holder.getController().queryId(),
|
||||
MSQTaskQueryMakerUtils.maskSensitiveJsonKeys(holder.getSql()),
|
||||
holder.getControllerHost(),
|
||||
holder.getAuthenticationResult().getAuthenticatedBy(),
|
||||
holder.getAuthenticationResult().getIdentity(),
|
||||
holder.getStartTime(),
|
||||
|
@ -104,6 +109,16 @@ public class DartQueryInfo
|
|||
return sql;
|
||||
}
|
||||
|
||||
/**
|
||||
* Controller host:port, from {@link DruidNode#getHostAndPortToUse()}, that is executing this query.
|
||||
*/
|
||||
@JsonProperty
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public String getControllerHost()
|
||||
{
|
||||
return controllerHost;
|
||||
}
|
||||
|
||||
/**
|
||||
* Authenticator that authenticated the identity from {@link #getIdentity()}.
|
||||
*/
|
||||
|
@ -145,7 +160,7 @@ public class DartQueryInfo
|
|||
*/
|
||||
public DartQueryInfo withoutAuthenticationResult()
|
||||
{
|
||||
return new DartQueryInfo(sqlQueryId, dartQueryId, sql, null, null, startTime, state);
|
||||
return new DartQueryInfo(sqlQueryId, dartQueryId, sql, controllerHost, null, null, startTime, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -161,6 +176,7 @@ public class DartQueryInfo
|
|||
return Objects.equals(sqlQueryId, that.sqlQueryId)
|
||||
&& Objects.equals(dartQueryId, that.dartQueryId)
|
||||
&& Objects.equals(sql, that.sql)
|
||||
&& Objects.equals(controllerHost, that.controllerHost)
|
||||
&& Objects.equals(authenticator, that.authenticator)
|
||||
&& Objects.equals(identity, that.identity)
|
||||
&& Objects.equals(startTime, that.startTime)
|
||||
|
@ -170,7 +186,7 @@ public class DartQueryInfo
|
|||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
return Objects.hash(sqlQueryId, dartQueryId, sql, authenticator, identity, startTime, state);
|
||||
return Objects.hash(sqlQueryId, dartQueryId, sql, controllerHost, authenticator, identity, startTime, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -180,10 +196,11 @@ public class DartQueryInfo
|
|||
"sqlQueryId='" + sqlQueryId + '\'' +
|
||||
", dartQueryId='" + dartQueryId + '\'' +
|
||||
", sql='" + sql + '\'' +
|
||||
", controllerHost='" + controllerHost + '\'' +
|
||||
", authenticator='" + authenticator + '\'' +
|
||||
", identity='" + identity + '\'' +
|
||||
", startTime=" + startTime +
|
||||
", state=" + state +
|
||||
", state='" + state + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -154,6 +154,7 @@ public class DartQueryMaker implements QueryMaker
|
|||
controllerContext,
|
||||
plannerContext.getSqlQueryId(),
|
||||
plannerContext.getSql(),
|
||||
controllerContext.selfNode().getHostAndPortToUse(),
|
||||
plannerContext.getAuthenticationResult(),
|
||||
DateTimes.nowUtc()
|
||||
);
|
||||
|
|
|
@ -331,6 +331,7 @@ public class DartSqlResourceTest extends MSQTestBase
|
|||
"sid",
|
||||
"did2",
|
||||
"SELECT 2",
|
||||
"localhost:1002",
|
||||
AUTHENTICATOR_NAME,
|
||||
DIFFERENT_REGULAR_USER_NAME,
|
||||
DateTimes.of("2001"),
|
||||
|
@ -398,6 +399,7 @@ public class DartSqlResourceTest extends MSQTestBase
|
|||
"sid",
|
||||
"did2",
|
||||
"SELECT 2",
|
||||
"localhost:1002",
|
||||
AUTHENTICATOR_NAME,
|
||||
DIFFERENT_REGULAR_USER_NAME,
|
||||
DateTimes.of("2000"),
|
||||
|
@ -434,6 +436,7 @@ public class DartSqlResourceTest extends MSQTestBase
|
|||
"sid",
|
||||
"did2",
|
||||
"SELECT 2",
|
||||
"localhost:1002",
|
||||
AUTHENTICATOR_NAME,
|
||||
DIFFERENT_REGULAR_USER_NAME,
|
||||
DateTimes.of("2000"),
|
||||
|
@ -739,8 +742,15 @@ public class DartSqlResourceTest extends MSQTestBase
|
|||
Mockito.when(controller.queryId()).thenReturn("did_" + identity);
|
||||
|
||||
final AuthenticationResult authenticationResult = makeAuthenticationResult(identity);
|
||||
final ControllerHolder holder =
|
||||
new ControllerHolder(controller, null, "sid", "SELECT 1", authenticationResult, DateTimes.of("2000"));
|
||||
final ControllerHolder holder = new ControllerHolder(
|
||||
controller,
|
||||
null,
|
||||
"sid",
|
||||
"SELECT 1",
|
||||
"localhost:1001",
|
||||
authenticationResult,
|
||||
DateTimes.of("2000")
|
||||
);
|
||||
|
||||
controllerRegistry.register(holder);
|
||||
return holder;
|
||||
|
|
|
@ -41,6 +41,7 @@ public class GetQueriesResponseTest
|
|||
"xyz",
|
||||
"abc",
|
||||
"SELECT 1",
|
||||
"localhost:1001",
|
||||
"auth",
|
||||
"anon",
|
||||
DateTimes.of("2000"),
|
||||
|
|
|
@ -69,6 +69,7 @@ public class DartSqlClientImplTest
|
|||
"sid",
|
||||
"did",
|
||||
"SELECT 1",
|
||||
"localhost:1001",
|
||||
"",
|
||||
"",
|
||||
DateTimes.of("2000"),
|
||||
|
@ -97,6 +98,7 @@ public class DartSqlClientImplTest
|
|||
"sid",
|
||||
"did",
|
||||
"SELECT 1",
|
||||
"localhost:1001",
|
||||
"",
|
||||
"",
|
||||
DateTimes.of("2000"),
|
||||
|
|
Loading…
Reference in New Issue