我有一个名为“test”的数据源,其中有一个段,我想删除该段。从文档中我了解到,要删除一个段,我必须将其标记为未使用,然后将其杀死。
为了将数据源标记为未使用,我向下面提到的端点发送一个 post 请求,并在正文中包含我的段 id
http://<ip>:<coordinator_port>/druid/coordinator/v1/datasources/test/markUnused
{
"segmentIds":[
"test_2024-02-01T00:00:00.000Z_2024-03-01T00:00:00.000Z_2024-01-30T06:16:15.950Z_6" ]
}
但我得到的答复是
{
"numChangedSegments": 0
}
几个小时后,我发送了相同的请求,得到的结果如下
{
"numChangedSegments": 1
}
为什么会发生这样的事情,以及如何解决这个问题,以便在我想要的时候将该段标记为未使用,而无需等待几个小时
由于我的数据源是从kafka获取数据,Druids需要一些时间将数据推送到深层存储,直到那时它将被表示为实时段,并且在druid中不可能将实时段标记为未使用,可以验证该段是实时的还是不借助德鲁伊 UI 本身的帮助。因为我试图在实时时将段标记为未使用,所以我得到了
{
"numChangedSegments": 0
}
几个小时后,我发送了相同的请求,将该段标记为“未使用”,因为当时该段进入了深度存储。