This is an automated email from the ASF dual-hosted git repository.
kfaraz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 9db107a2275 Fix mark used API response serialization (#18140)
9db107a2275 is described below
commit 9db107a22754bd9a5800dff06bdb4aa8a9976de5
Author: Kashif Faraz <[email protected]>
AuthorDate: Fri Jun 13 12:02:50 2025 +0530
Fix mark used API response serialization (#18140)
Bug:
Some APIs in `DataSourcesResource` and `OverlordDataSourcesResource` are
not able to
serialize out the JSON response.
__Note that the API is handled correctly by the server, it just fails to
send back an appropriate response.__
This bug was introduced a while back in #17545
While most of the APIs already handled sending back a JSON response, some
APIs didn't.
Fix:
Update all APIs in `DataSourcesResource` and `OverlordDataSourcesResource`
to handle
sending back a JSON response by annotating with
`@Produces(MediaType.APPLICATION_JSON)`
---
.../druid/indexing/overlord/http/OverlordDataSourcesResource.java | 4 ++++
.../main/java/org/apache/druid/server/http/DataSourcesResource.java | 3 +++
2 files changed, 7 insertions(+)
diff --git
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java
index 1f711167810..3e9254a9c41 100644
---
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java
+++
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordDataSourcesResource.java
@@ -88,6 +88,7 @@ public class OverlordDataSourcesResource
@POST
@Path("/{dataSourceName}")
@Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(DatasourceResourceFilter.class)
public Response markAllNonOvershadowedSegmentsAsUsed(
@PathParam("dataSourceName") final String dataSourceName,
@@ -123,6 +124,7 @@ public class OverlordDataSourcesResource
@POST
@Path("/{dataSourceName}/markUsed")
@Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(DatasourceResourceFilter.class)
public Response markNonOvershadowedSegmentsAsUsed(
@PathParam("dataSourceName") final String dataSourceName,
@@ -206,6 +208,7 @@ public class OverlordDataSourcesResource
@POST
@Path("/{dataSourceName}/segments/{segmentId}")
@Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(DatasourceResourceFilter.class)
public Response markSegmentAsUsed(
@PathParam("dataSourceName") String dataSourceName,
@@ -230,6 +233,7 @@ public class OverlordDataSourcesResource
@DELETE
@Path("/{dataSourceName}/segments/{segmentId}")
+ @Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(DatasourceResourceFilter.class)
public Response markSegmentAsUnused(
@PathParam("dataSourceName") String dataSourceName,
diff --git
a/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java
b/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java
index 2aebf306c3a..3fdf3eee9c7 100644
--- a/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java
+++ b/server/src/main/java/org/apache/druid/server/http/DataSourcesResource.java
@@ -199,6 +199,7 @@ public class DataSourcesResource
@POST
@Path("/{dataSourceName}")
@Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(DatasourceResourceFilter.class)
public Response
markAsUsedAllNonOvershadowedSegments(@PathParam("dataSourceName") final String
dataSourceName)
{
@@ -658,6 +659,7 @@ public class DataSourcesResource
@Deprecated
@DELETE
@Path("/{dataSourceName}/segments/{segmentId}")
+ @Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(DatasourceResourceFilter.class)
public Response markSegmentAsUnused(
@PathParam("dataSourceName") String dataSourceName,
@@ -687,6 +689,7 @@ public class DataSourcesResource
@POST
@Path("/{dataSourceName}/segments/{segmentId}")
@Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(DatasourceResourceFilter.class)
public Response markSegmentAsUsed(
@PathParam("dataSourceName") String dataSourceName,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]