Skip to content

Commit 5bf67f3

Browse files
committed
Remove getExternalUrlForQueryId and getRoutingGroupForQueryId
1 parent 6acd89f commit 5bf67f3

9 files changed

Lines changed: 6 additions & 313 deletions

File tree

gateway-ha/src/main/java/io/trino/gateway/ha/handler/RoutingTargetHandler.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,9 @@ public RoutingTargetResponse resolveRouting(HttpServletRequest request)
7171
if (queryId.isPresent()) {
7272
// Query ID based routing
7373
previousCluster = queryId.map(routingManager::findBackendForQueryId);
74-
routingTargetResponse = previousCluster.map(cluster -> {
75-
String routingGroup = queryId.map(routingManager::findRoutingGroupForQueryId)
76-
.orElse(defaultRoutingGroup);
77-
String externalUrl = queryId.map(routingManager::findExternalUrlForQueryId)
78-
.orElse(cluster);
79-
return new RoutingTargetResponse(
80-
new RoutingDestination(routingGroup, cluster, buildUriWithNewCluster(cluster, request), externalUrl),
81-
request);
82-
});
74+
routingTargetResponse = previousCluster.map(cluster -> new RoutingTargetResponse(
75+
new RoutingDestination(defaultRoutingGroup, cluster, buildUriWithNewCluster(cluster, request), cluster),
76+
request));
8377
}
8478
else {
8579
// Cookie based routing

gateway-ha/src/main/java/io/trino/gateway/ha/persistence/dao/QueryHistoryDao.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,18 +77,6 @@ default List<QueryHistory> findRecentQueriesByUserName(String userName, boolean
7777
""")
7878
String findBackendUrlByQueryId(String queryId);
7979

80-
@SqlQuery("""
81-
SELECT routing_group FROM query_history
82-
WHERE query_id = :queryId
83-
""")
84-
String findRoutingGroupByQueryId(String queryId);
85-
86-
@SqlQuery("""
87-
SELECT external_url FROM query_history
88-
WHERE query_id = :queryId
89-
""")
90-
String findExternalUrlByQueryId(String queryId);
91-
9280
@SqlQuery("""
9381
SELECT * FROM query_history
9482
WHERE 1 = 1 <condition>

gateway-ha/src/main/java/io/trino/gateway/ha/router/BaseRoutingManager.java

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,13 @@ public abstract class BaseRoutingManager
5454
private final String defaultRoutingGroup;
5555
private final QueryHistoryManager queryHistoryManager;
5656
private final LoadingCache<String, String> queryIdBackendCache;
57-
private final LoadingCache<String, String> queryIdRoutingGroupCache;
58-
private final LoadingCache<String, String> queryIdExternalUrlCache;
5957

6058
public BaseRoutingManager(GatewayBackendManager gatewayBackendManager, QueryHistoryManager queryHistoryManager, RoutingConfiguration routingConfiguration)
6159
{
6260
this.gatewayBackendManager = gatewayBackendManager;
6361
this.defaultRoutingGroup = routingConfiguration.getDefaultRoutingGroup();
6462
this.queryHistoryManager = queryHistoryManager;
6563
this.queryIdBackendCache = buildCache(this::findBackendForUnknownQueryId);
66-
this.queryIdRoutingGroupCache = buildCache(this::findRoutingGroupForUnknownQueryId);
67-
this.queryIdExternalUrlCache = buildCache(this::findExternalUrlForUnknownQueryId);
6864
this.backendToStatus = new ConcurrentHashMap<>();
6965
}
7066

@@ -79,12 +75,6 @@ public void setBackendForQueryId(String queryId, String backend)
7975
queryIdBackendCache.put(queryId, backend);
8076
}
8177

82-
@Override
83-
public void setRoutingGroupForQueryId(String queryId, String routingGroup)
84-
{
85-
queryIdRoutingGroupCache.put(queryId, routingGroup);
86-
}
87-
8878
/**
8979
* Performs routing to a default backend.
9080
*/
@@ -127,38 +117,6 @@ public String findBackendForQueryId(String queryId)
127117
return backendAddress;
128118
}
129119

130-
@Nullable
131-
@Override
132-
public String findExternalUrlForQueryId(String queryId)
133-
{
134-
String externalUrl = null;
135-
try {
136-
externalUrl = queryIdExternalUrlCache.get(queryId);
137-
}
138-
catch (RuntimeException e) {
139-
log.warn("Exception while loading queryId from cache %s", e.getLocalizedMessage());
140-
}
141-
return externalUrl;
142-
}
143-
144-
/**
145-
* Looks up the routing group associated with the queryId in the cache.
146-
* If it's not in the cache, look up in query history
147-
*/
148-
@Nullable
149-
@Override
150-
public String findRoutingGroupForQueryId(String queryId)
151-
{
152-
String routingGroup = null;
153-
try {
154-
routingGroup = queryIdRoutingGroupCache.get(queryId);
155-
}
156-
catch (RuntimeException e) {
157-
log.warn("Exception while loading queryId from routing group cache %s", e.getLocalizedMessage());
158-
}
159-
return routingGroup;
160-
}
161-
162120
@Override
163121
public void updateBackEndHealth(String backendId, TrinoStatus value)
164122
{
@@ -174,12 +132,6 @@ public void updateClusterStats(List<ClusterStats> stats)
174132
}
175133
}
176134

177-
@Override
178-
public void setExternalUrlForQueryId(String queryId, String externalUrl)
179-
{
180-
queryIdExternalUrlCache.put(queryId, externalUrl);
181-
}
182-
183135
@VisibleForTesting
184136
String findBackendForUnknownQueryId(String queryId)
185137
{
@@ -238,22 +190,6 @@ private String searchAllBackendForQuery(String queryId)
238190
.orElseThrow(() -> new IllegalStateException("No active backends available for default routing group: " + defaultRoutingGroup));
239191
}
240192

241-
/**
242-
* Attempts to look up the routing group associated with the query id from query history table
243-
*/
244-
private String findRoutingGroupForUnknownQueryId(String queryId)
245-
{
246-
return queryHistoryManager.getRoutingGroupForQueryId(queryId);
247-
}
248-
249-
/**
250-
* Attempts to look up the external url associated with the query id from query history table
251-
*/
252-
private String findExternalUrlForUnknownQueryId(String queryId)
253-
{
254-
return queryHistoryManager.getExternalUrlForQueryId(queryId);
255-
}
256-
257193
private LoadingCache<String, String> buildCache(Function<String, String> loader)
258194
{
259195
return Caffeine.newBuilder()

gateway-ha/src/main/java/io/trino/gateway/ha/router/HaQueryHistoryManager.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,6 @@ public String getBackendForQueryId(String queryId)
109109
return dao.findBackendUrlByQueryId(queryId);
110110
}
111111

112-
@Override
113-
public String getRoutingGroupForQueryId(String queryId)
114-
{
115-
return dao.findRoutingGroupByQueryId(queryId);
116-
}
117-
118-
@Override
119-
public String getExternalUrlForQueryId(String queryId)
120-
{
121-
return dao.findExternalUrlByQueryId(queryId);
122-
}
123-
124112
@Override
125113
public TableData<QueryDetail> findQueryHistory(QueryHistoryRequest query)
126114
{

gateway-ha/src/main/java/io/trino/gateway/ha/router/QueryHistoryManager.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,6 @@ public interface QueryHistoryManager
3232

3333
String getBackendForQueryId(String queryId);
3434

35-
String getRoutingGroupForQueryId(String queryId);
36-
37-
String getExternalUrlForQueryId(String queryId);
38-
3935
TableData<QueryDetail> findQueryHistory(QueryHistoryRequest query);
4036

4137
List<DistributionResponse.LineChart> findDistribution(Long ts);

gateway-ha/src/main/java/io/trino/gateway/ha/router/RoutingManager.java

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,6 @@ public interface RoutingManager
4444
*/
4545
void setBackendForQueryId(String queryId, String backend);
4646

47-
/**
48-
* Associates a routing group with a specific query ID.
49-
*
50-
* @param queryId the unique identifier of the query
51-
* @param routingGroup the routing group to associate with the query
52-
*/
53-
void setRoutingGroupForQueryId(String queryId, String routingGroup);
54-
55-
/**
56-
* Associates an external URL with a specific query ID for routing.
57-
*
58-
* @param queryId the unique identifier of the query
59-
* @param externalUrl the external URL to associate with the query
60-
*/
61-
void setExternalUrlForQueryId(String queryId, String externalUrl);
62-
6347
/**
6448
* Finds the backend cluster associated with a given query ID.
6549
*
@@ -68,22 +52,6 @@ public interface RoutingManager
6852
*/
6953
String findBackendForQueryId(String queryId);
7054

71-
/**
72-
* Finds the external URL for the backend cluster associated with a given query ID.
73-
*
74-
* @param queryId the unique identifier of the query
75-
* @return the external URL, or null if not found
76-
*/
77-
String findExternalUrlForQueryId(String queryId);
78-
79-
/**
80-
* Finds the routing group associated with a given query ID.
81-
*
82-
* @param queryId the unique identifier of the query
83-
* @return the routing group, or null if not found
84-
*/
85-
String findRoutingGroupForQueryId(String queryId);
86-
8755
/**
8856
* Provides the backend configuration for a given routing group and user.
8957
*

gateway-ha/src/main/java/io/trino/gateway/proxyserver/ProxyRequestHandler.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,6 @@ private ProxyResponse recordBackendForQueryId(Request request, ProxyResponse res
280280
HashMap<String, String> results = OBJECT_MAPPER.readValue(response.body(), HashMap.class);
281281
queryDetail.setQueryId(results.get("id"));
282282
routingManager.setBackendForQueryId(queryDetail.getQueryId(), queryDetail.getBackendUrl());
283-
routingManager.setRoutingGroupForQueryId(queryDetail.getQueryId(), routingDestination.routingGroup());
284-
routingManager.setExternalUrlForQueryId(queryDetail.getQueryId(), routingDestination.externalUrl());
285283
log.debug("QueryId [%s] mapped with proxy [%s]", queryDetail.getQueryId(), queryDetail.getBackendUrl());
286284
}
287285
catch (IOException e) {

gateway-ha/src/test/java/io/trino/gateway/ha/router/BaseExternalUrlQueryHistoryTest.java

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -88,35 +88,6 @@ void testSubmitQueryWithExternalUrl()
8888
assertThat(retrievedQuery.getExternalUrl()).isEqualTo("https://external-gateway.example.com");
8989
}
9090

91-
@Test
92-
void testGetExternalUrlByQueryId()
93-
{
94-
// Create and submit query with external URL
95-
QueryHistoryManager.QueryDetail queryDetail = new QueryHistoryManager.QueryDetail();
96-
queryDetail.setQueryId("external-url-test-456");
97-
queryDetail.setQueryText("SELECT count(*) FROM users");
98-
queryDetail.setBackendUrl("http://backend:8080");
99-
queryDetail.setUser("admin");
100-
queryDetail.setSource("trino-cli");
101-
queryDetail.setRoutingGroup("analytics");
102-
queryDetail.setExternalUrl("https://analytics-gateway.company.com");
103-
queryDetail.setCaptureTime(System.currentTimeMillis());
104-
105-
queryHistoryManager.submitQueryDetail(queryDetail);
106-
107-
// Test retrieving external URL by query ID
108-
String externalUrl = queryHistoryManager.getExternalUrlForQueryId("external-url-test-456");
109-
assertThat(externalUrl).isEqualTo("https://analytics-gateway.company.com");
110-
}
111-
112-
@Test
113-
void testGetExternalUrlForNonExistentQuery()
114-
{
115-
// Test retrieving external URL for non-existent query
116-
String externalUrl = queryHistoryManager.getExternalUrlForQueryId("non-existent-query");
117-
assertThat(externalUrl).isNull();
118-
}
119-
12091
@Test
12192
void testSubmitQueryWithNullExternalUrl()
12293
{
@@ -164,8 +135,9 @@ void testMultipleQueriesWithDifferentExternalUrls()
164135

165136
// Verify all queries were stored with correct external URLs
166137
for (int i = 1; i <= 3; i++) {
167-
String externalUrl = queryHistoryManager.getExternalUrlForQueryId("multi-external-url-test-" + i);
168-
assertThat(externalUrl).isEqualTo("https://external-" + i + ".example.com");
138+
List<QueryHistoryManager.QueryDetail> queryDetails = queryHistoryManager.fetchQueryHistory(Optional.of("user-" + i));
139+
assertThat(queryDetails).hasSize(1);
140+
assertThat(queryDetails.getFirst().getExternalUrl()).isEqualTo("https://external-" + i + ".example.com");
169141
}
170142
}
171143

0 commit comments

Comments
 (0)