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]

Reply via email to