This message was deleted.
# troubleshooting
s
This message was deleted.
r
what's the replication factor? What I've seen is that if you have 2 segments (just 2) and 3 nodes, on druid 0.21, they keep load/unloading between the nodes until I add more segments
but that was a rare case, bc usually the number of segments is > than the servers, so I assume that was an edge case, also, I was running locally with docker
p
@Didip Kerabat do you have any tiering across 20 historical nodes?
k
The coordinator logs would give you more insights into why this is happening.
a
You could try switching from cachingCost to cost and see if it helps. (Needs coordinator restart) Cost is generally slower than cachingCost but the following changes to the dynamic config might help. If you are on 25.0.0, please try setting
useRoundRobinSegmentAssignment
to true as this will assign segments in a round robin fashion across servers and balance them later with the chosen strategy. You could then increase
maxSegmentsToMove
, and set
useBatchedSegmentSampler
to true for faster balancing.
d
the RF is 2, this cluster is on Druid 23. We don’t have any tiering between 20 historical servers. They are all the same. Thanks for informing me of
useRoundRobinSegmentAssignment
. I didn’t know that.
r
oh, I read it again, you have just 2 segments per date, now it makes more sense to me why you have 20 historicals I was thinking "why so many spare servers"
d
Follow up question, the partitioning strategy does not use historical hostname as part of its key right? Which means even though I only have 2 segments per partition date, they should still be spread out across 20 historical servers, right?
I think I also saw in the code that __time column is not used if you specified the hashed column explicitly, is my understanding correct? If so, should I do this:
hashed(__time, myColumnId)
instead of
hashed(myColumnId)
?
I also have a suspicion that when the data engineer created
myColumnId
, the spread is uneven. The ID looks strange, it’s not a normal UUID
g
i'd try
cost
instead of
cachingCost
and see if that helps… I've noticed some discrepancies between them and
cost
generally seems to do a better job
and yeah the hostname of the historical isn't part of the balancing
❤️ 1
neither is the size of the segment, believe it or not
🤯 1
it tries to spread out segments from the same datasource and especially same interval
looking at number of segments with "similar" interval or same datasource on the target server when considering balancing