smengcl commented on code in PR #8388: URL: https://github.com/apache/ozone/pull/8388#discussion_r2085622145
########## hadoop-hdds/docs/content/design/dn-min-space-configuration.md: ########## @@ -0,0 +1,108 @@ +--- +title: Minimum free space configuration for datanode volumes +summary: Describe proposal for minimum free space configuration which volume must have to function correctly. +date: 2025-05-05 +jira: HDDS-12928 +status: implemented +author: Sumit Agrawal +--- +<!-- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> + +# Abstract +Volume in the datanode stores the container data and metadata (rocks db co-located on the volume). +There are various parallel operation going on such as import container, export container, write and delete data blocks, +container repairs, create and delete containers. The space is also required for volume db to perform compaction at regular interval. +This is hard to capture exact usages and free available space. So, this is required to configure minimum free space +so that datanode operation can perform without any corruption and environment being stuck and support read of data. + +This free space is used to ensure volume allocation if `required space < (volume available space - free space - reserved space)` +Any container creation and import container need ensure this constrain is met. And block write need ensure that this space is available if new blocks are written. +Note: Any issue related to ensuring free space is tracked with separate JIRA. + +# Existing configuration Review Comment: ```suggestion # Existing configuration (before HDDS-12928) ``` ########## hadoop-hdds/docs/content/design/dn-min-space-configuration.md: ########## @@ -0,0 +1,108 @@ +--- +title: Minimum free space configuration for datanode volumes +summary: Describe proposal for minimum free space configuration which volume must have to function correctly. +date: 2025-05-05 +jira: HDDS-12928 +status: implemented +author: Sumit Agrawal +--- +<!-- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> + +# Abstract +Volume in the datanode stores the container data and metadata (rocks db co-located on the volume). +There are various parallel operation going on such as import container, export container, write and delete data blocks, +container repairs, create and delete containers. The space is also required for volume db to perform compaction at regular interval. +This is hard to capture exact usages and free available space. So, this is required to configure minimum free space +so that datanode operation can perform without any corruption and environment being stuck and support read of data. + +This free space is used to ensure volume allocation if `required space < (volume available space - free space - reserved space)` +Any container creation and import container need ensure this constrain is met. And block write need ensure that this space is available if new blocks are written. +Note: Any issue related to ensuring free space is tracked with separate JIRA. + +# Existing configuration +Two configuration is provided, Review Comment: ```suggestion Two configurations are provided, ``` -- 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: issues-unsubscr...@ozone.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org For additional commands, e-mail: issues-h...@ozone.apache.org