Insufficient disk space (error code: -4290)
If you are using OceanBase Database V3.x or earlier, it is necessary to deploy the log disk on a separate local disk. However, if you are using OceanBase Database V4.0 or later, you have the option to store clogs along with other files on the same disk. In this case, you will need to specify the size of the log disk. When an OBServer node starts, OceanBase Database will allocate disk spaces for the data disk and clog disk as per the specified requirements.
The log_disk_size and log_disk_percentage parameters are introduced for disk space allocation. You must use the two parameters together.
log_disk_size: the total space of the log disk available for the current OBServer node. The default value is 0, which means that the space of the log disk is calculated based on the actual size of the local disk. This calculation operation is also supported in OceanBase Database V3.x.log_disk_percentage: the percentage of the log disk space to the total local disk space. If you set thelog_disk_sizeparameter to 0, the log disk space is allocated based on the value of thelog_disk_percentageparameter. The default value is 0, which indicates that calculations are automatically performed based on whether clogs and data share the same disk.
If both of the two parameters are specified, the log_disk_size parameter has a higher priority.
By default, both of the log_disk_size and log_disk_percentage parameters are set to 0. In this case, the disk spaces are calculated based on the following rules:
If data and clogs share the same disk, the data occupies 60% of the disk space and the clogs occupy 30% of the disk space.
If data and clogs are stored in different disks, both the data and clogs occupy 90% of the space of the respective disks.
If the following error occurs during the bootstrap, the disk space is insufficient:
grep 'ret=-4290' observer.log
Solution:
Set the log_disk_percentage and log_disk_size parameters to appropriate values. OceanBase Database V4.0 allows you to specify the values only when an OBServer node starts (by using the -o option). You cannot change the values afterward. For example, you can specify the following option when you start an OBServer node: -o log_disk_percentage=10.