Gcs сливается с корзинами Google - слишком много ошибок открытых файлов в Java-приложенииJAVA

Программисты JAVA общаются здесь
Anonymous
Gcs сливается с корзинами Google - слишком много ошибок открытых файлов в Java-приложении

Сообщение Anonymous »

У меня есть приложение Java Spring Boot, развернутое как приложение Kubernetes в GCP.
Я использую GCS Fuse для доступа к корзинам Google Cloud Storage с помощью драйвера Cloud Storage FUSE CSI, поскольку он позволяет мне смонтируйте сегменты Cloud Storage как файловую систему, чтобы приложения могли получать доступ к объектам в контейнере с помощью обычных операций ввода-вывода файлов.
Когда я пытался переименовать или переместить непустой каталог в моей Java приложения, содержащие более 20 файлов. Я получил эту ошибку в контейнере приложения:

Код: Выделить всё

java.nio.file.FileSystemException: /volume/mydirectory -> /volume/mydirectoryTmp : Too many open files
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:457)
at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262)
at java.nio.file.Files.move(Files.java:1395)
и эта ошибка в контейнере с коляской предохранителя:

Код: Выделить всё

fuseops.RenameOp error: too many open files
Я попробовал множество решений, предложенных в Интернете, но они мне не помогли, например, предложение использовать следующий флаг

Код: Выделить всё

--rename-dir-limit 1000
После потери большого количества времени я нашел решение, которым хочу поделиться с вами, потому что мне было сложно его решить.

Подробнее здесь: https://stackoverflow.com/questions/787 ... h-java-app

Вернуться в «JAVA»