writer-jill commented on code in PR #15087:
URL: https://github.com/apache/druid/pull/15087#discussion_r1371092501


##########
docs/api-reference/data-management-api.md:
##########
@@ -23,59 +23,497 @@ sidebar_label: Data management
   ~ under the License.
   -->
 
-This document describes the data management API endpoints for Apache Druid. 
This includes information on how to mark segments as `used` or `unused` and 
delete them from Druid.
+This topic describes the data management API endpoints for Apache Druid. This 
includes information on how to mark segments as `used` or `unused` and delete 
them from Druid.
 
-## Note for Coordinator's POST and DELETE APIs
+Note that while you can mark segments as `used` by sending POST requests to 
the datasource, the Coordinator may subsequently mark segments as `unused` if 
they meet any configured [Drop 
rules](../operations/rule-configuration.md#drop-rules). Even if these API 
requests update segments to `used`, you still need to configure a [Load 
rule](../operations/rule-configuration.md#load-rules) to load them onto 
Historical processes.
 
-While segments may be enabled by issuing POST requests for the datasources, 
the Coordinator may again disable segments if they match any configured [drop 
rules](../operations/rule-configuration.md#drop-rules). Even if segments are 
enabled by these APIs, you must configure a [load 
rule](../operations/rule-configuration.md#load-rules) to load them onto 
Historical processes. If an indexing or kill task runs at the same time these 
APIs are invoked, the behavior is undefined. Some segments might be killed and 
others might be enabled. It's also possible that all segments might be 
disabled, but the indexing task can still read data from those segments and 
succeed.
+When you use these APIs concurrently with an indexing task or a kill task, the 
behavior is undefined. Some segments may be terminated, while others are marked 
as `used`. Furthermore, it is possible that all segments could be `unused`, yet 
an indexing task might still be able to read data from these segments and 
complete successfully. 
+
+In this topic, `http://ROUTER_IP:ROUTER_PORT` is a placeholder for your Router 
service address and port. Replace it with the information for your deployment. 
For example, use `http://localhost:8888` for quickstart deployments.
 
 :::info
- Avoid using indexing or kill tasks and these APIs at the same time for the 
same datasource and time chunk.
+Avoid using indexing or kill tasks and these APIs at the same time for the 
same datasource and time chunk.
 :::
 
-`POST /druid/coordinator/v1/datasources/{dataSourceName}`
+## Segment management
 
-Marks as used all segments belonging to a datasource. Returns a JSON object of 
the form
-`{"numChangedSegments": <number>}` with the number of segments in the database 
whose state has been changed (that is,
-the segments were marked as used) as the result of this API call.
+### Update a group of segments as `unused`
 
-`POST /druid/coordinator/v1/datasources/{dataSourceName}/segments/{segmentId}`
+Updates the state a group of segments as `unused` using the an array of 
segment IDs or an interval. Pass the array of segment IDs or interval as a JSON 
object in the request body.
 
-Marks as used a segment of a datasource. Returns a JSON object of the form 
`{"segmentStateChanged": <boolean>}` with
-the boolean indicating if the state of the segment has been changed (that is, 
the segment was marked as used) as the
-result of this API call.
+Interval specifies the start and end times as IS0 8601 strings. 
`interval=(start/end)` where start is inclusive and end is non-inclusive. Only 
the segments completely contained within the specified interval will be 
updated, partially overlapping segments will not be affected.
 
-`POST /druid/coordinator/v1/datasources/{dataSourceName}/markUsed`
+#### URL 
 
-`POST /druid/coordinator/v1/datasources/{dataSourceName}/markUnused`
+<code class="postAPI">POST</code> 
<code>/druid/coordinator/v1/datasources/:dataSource/markUnused</code>
 
-Marks segments (un)used for a datasource by interval or set of segment Ids. 
When marking used only segments that are not overshadowed will be updated.
+#### Request body
 
-The request payload contains the interval or set of segment IDs to be marked 
unused.
-Either interval or segment IDs should be provided, if both or none are 
provided in the payload, the API would throw an error (400 BAD REQUEST).
+The group of segments is sent as a JSON request payload with the following 
properties:
 
-Interval specifies the start and end times as IS0 8601 strings. 
`interval=(start/end)` where start and end both are inclusive and only the 
segments completely contained within the specified interval will be disabled, 
partially overlapping segments will not be affected.
+|Property|Description|Example|
+|----------|-------------|---------|
+|`interval`|The interval of 
segments.|`"2015-09-12T03:00:00.000Z/2015-09-12T05:00:00.000Z"`|
+|`segmentIds`|Array of segment IDs.|`["segmentId1", "segmentId2"]`|
 
-JSON Request Payload:
+#### Responses
 
- |Key|Description|Example|
-|----------|-------------|---------|
-|`interval`|The interval for which to mark segments 
unused|`"2015-09-12T03:00:00.000Z/2015-09-12T05:00:00.000Z"`|
-|`segmentIds`|Set of segment IDs to be marked unused|`["segmentId1", 
"segmentId2"]`|
+<!--DOCUSAURUS_CODE_TABS-->
+
+<!--200 SUCCESS-->
+
+*Successfully updated segments* 
+
+<!--204 NO CONTENT-->
+
+*Invalid dataSource name*
+
+<!--400 BAD REQUEST-->
+
+*Invalid request payload*
+
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+---
+
+#### Sample request
+
+The following example updates two segments with IDs 
`wikipedia_hour_2015-09-12T14:00:00.000Z_2015-09-12T15:00:00.000Z_2023-08-10T04:12:03.860Z`
 and 
`wikipedia_hour_2015-09-12T04:00:00.000Z_2015-09-12T05:00:00.000Z_2023-08-10T04:12:03.860Z`
 as `unused`.

Review Comment:
   Included a section in Segment management on Segment IDs.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to