Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

setting the enable_preload_parts parameter to 1 will result in a virtualWarehouses side disk capacity utilization of 100% #498

Closed
FourSpaces opened this issue Jul 18, 2023 · 11 comments
Labels
bug Something isn't working needs-repro Needs to be reproduced P1 issue affect happy path resolved

Comments

@FourSpaces
Copy link

FourSpaces commented Jul 18, 2023

Bug Report

setting the enable_preload_parts parameter to 1 will result in a virtualWarehouses side disk capacity utilization of 100%

Briefly describe the bug

Application: DB::ErrnoException: Cannot write to file /var/byconity/disks/DISK_INFOS.tmp, errno: 28, strerror: No space left on device SQLSTATE: 58030

Version

byconity/byconity:latest

@FourSpaces FourSpaces added the bug Something isn't working label Jul 18, 2023
@FourSpaces FourSpaces changed the title enable_preload_parts setting the parts parameter to 1 will result in a server side disk capacity utilization of 100% setting the enable_preload_parts parameter to 1 will result in a server side disk capacity utilization of 100% Jul 18, 2023
@FourSpaces FourSpaces changed the title setting the enable_preload_parts parameter to 1 will result in a server side disk capacity utilization of 100% setting the enable_preload_parts parameter to 1 will result in a virtualWarehouses side disk capacity utilization of 100% Jul 18, 2023
@FourSpaces
Copy link
Author

image

@hustnn
Copy link
Contributor

hustnn commented Jul 19, 2023

Thanks for reporting, we will check the logic of preload.

@hustnn hustnn added this to the 0.2.0 milestone Jul 26, 2023
@hustnn hustnn removed this from the 0.2.0 milestone Aug 8, 2023
@hustnn hustnn added the needs-repro Needs to be reproduced label Aug 8, 2023
@foreverneverer
Copy link
Collaborator

foreverneverer commented Aug 15, 2023

image

The pic show the machine disk capacity is enough but the log show no space? or the disk actually is no space when the error log happen?

@FourSpaces
Copy link
Author

When the error occurred, the disk space was already full. I need to clean up the disk for byconsistency to function properly

@gaodayue
Copy link
Contributor

Hi @FourSpaces , what's the capacity of the disk mounted to the path. Also could you share the <storage_configuration> for the byconity worker?

@foreverneverer
Copy link
Collaborator

When the error occurred, the disk space was already full. I need to clean up the disk for byconsistency to function properly

you may need check the config:

<disk_cache_strategies>
   <simple> // or <MergeTree></MergeTree>
     <lru_max_size>xxxx</lru_max_size> // here, the default value is 2T
    </simple>
</disk_cache_strategies>

if you don't add the config, the max cache size will be 2T and it may be full

@FourSpaces
Copy link
Author

@gaodayue

this is worker config

  virtualWarehouses:
    - <<: *defaultWorker
      name: vw_default
      replicas: 8
      resources:
        requests:
          memory: "55Gi"
          cpu: 14
        limits:
          memory: "55Gi"
          cpu: 14
      storage:
        localDisk:
          pvcSpec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: 550Gi
            storageClassName: ebs-ssd-pl #replace to your storageClassName
        log:
          pvcSpec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: 25Gi
            storageClassName: ebs-ssd #replace to your storageClassName
      configOverwrite:
        logger:
          level: trace
        disk_cache_strategies:
          simple:
            lru_max_size: 483183820800 # 450Gi

@gaodayue
Copy link
Contributor

@FourSpaces Has this problem occurred recently? If yes, cloud you also provide the output of select * from system.disks on worker?

@FourSpaces
Copy link
Author

@gaodayue We have switched to version 0.2.0, and this error did not occur in version 0.2.0. Let's observe later and I'll raise any questions if there are any

@hustnn hustnn added resolved P1 issue affect happy path labels Sep 25, 2023
@skyoct
Copy link
Collaborator

skyoct commented Oct 9, 2023

@hustnn Recurring this issue

image

image
Error:

<Error> Application: DB::ErrnoException: Cannot write to file /var/byconity/disks/DISK_INFOS.tmp, errno: 28, strerror: No space left on device SQLSTATE: 58030

Config:
image

@gaodayue
Copy link
Contributor

gaodayue commented Oct 9, 2023

@skyoct please check the output of du -sh --apparent-size /var/byconity/disk_cache_v1. If it's close to lru_max_size and significant smaller than du -sh /var/byconity/disk_cache_v1, then you have encountered the space amplification problem caused by small files. As a workaround, you can further reduce the size of lru_max_size.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs-repro Needs to be reproduced P1 issue affect happy path resolved
Projects
None yet
Development

No branches or pull requests

6 participants