THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
The system test for log directory failures will be extended to KRaft mode.
This feature has been modeled in TLA+.
Future work
- Partition reassignment across directories and across brokers involves different API calls —
AlterPartitionReassignments
andAlterReplicaLogDirs.
Whilst reassigning partitions across brokers into a specific log directory is already possible, it involves an intricate sequence of calls previous calls to AlterReplicaLogDirs and expecting errors as a successful result. Once this work is done we can consolidate these two API calls by extendingAlterPartitionReassignments
to allow target log directories to be specified and deprecateAlterReplicaLogDirs
. This can be done as part of a future KIP. - The only way to know which log directory UUID corresponds to which log directory path is by reading the
meta.properties
files in each broker. A future KIP should expand the DescribeLogDirs RPC response to include log directory UUIDs along with the system path for each log directory. - Partition initialization can be optimized, by having the controller preselect a log directory for new partitions. This would avoid having to wait for the broker to send a
AssignReplicasToDirs
request to indicate the chosen log directory before it is safe for the broker to assume leadership of the partition. Maybe the controller could also take available storage in each log directory into account if the broker indicates the available storage space for each log directory as part of broker registration. This may be be proposed in a future KIP.
...